У меня есть компьютер с загрузочным ISO-образом, и у меня есть еще один пустой компьютер, на который я хочу установить ISO-образ. Они оба находятся в одной локальной сети (подключены к одному коммутатору). Как мне начать загрузку пустой машины из ISO-файла, хранящегося на моем основном компьютере?
4 ответа
Я думаю, что вы хотите средство загрузки pxe из ISO-образов. Я искал немного и нашел эту статью. Я считаю, что метод должен работать для любого загрузочного образа ISO, который у вас может быть. Это еще одна похожая статья.
Наконец, кажется, что в этой статье обсуждается, как сделать это с сервера PXE (Pre-boot eXecution Environment), который вы запускаете из Windows.
Да, это очень возможно. Тип системы, которую вы можете загрузить, будет зависеть от того, как работает эта система.
Обычно вы обнаружите, что очень простые системы (такие как DOS или Win98) и очень сложные системы (такие как современные дистрибутивы Linux) легко загружаются по сети.
Способ достижения этого в двух типах систем очень различен.
Давайте рассмотрим оба способа более подробно. Я предполагаю, что у вас уже есть настройка загрузочного сервера PXE ; если вы этого не сделаете, сделайте это, это довольно легко.
Я также предполагаю установку dnsmasq
на сервере Linux с tftproot в /var/lib/tftpboot
, но вы должны быть в состоянии адаптировать инструкции к любой другой настройке.
Для простых систем
Для простых систем вы просто загружаете образ (ISO) в ОЗУ и обманываете систему, полагая, что это фактическая единица. Это делается с помощью небольшой помощи BIOS и программного модуля memdisk.
Система, которую вы хотите загрузить по сети, это:
# /var/lib/tftpboot/pxelinux.cfg/default
UI vesamenu.c32
PROMPT 0
TIMEOUT 0
MENU DEFAULT freedos
LABEL freedos
MENU LABEL FreeDOS
KERNEL /syslinux/memdisk
INITRD /freedos.iso iso
Вот и все. Первые несколько строк - это шаблон меню; важными битами являются последние четыре строки: загрузить memdisk с заданным ISO.
Для сложных систем
Современные системы с такими интересными вещами, как хорошее управление памятью и правильное обнаружение аппаратного обеспечения, в значительной степени игнорируют все, что говорит BIOS.
Это делает подход с использованием memdisk
использованный выше, практически бесполезным, потому что если вы загрузили ISO таким образом, как только ядро было прочитано из ISO и загружено в память (это делается загрузчиком в ISO; загрузчики обращают внимание на BIOS), данные ISO исчезли бы.
Что вы делаете тогда? Ну, на самом деле вы не загружаете ISO из сети, а вместо этого говорите системе, что она может получить доступ к необходимым файлам оттуда.
Для систем Linux извлеките содержимое ISO где-нибудь в tftproot и загрузите ядро и initrd напрямую, а затем предоставьте им возможность найти корневую файловую систему и смонтировать ее.
Вот пример использования удивительного компакт-диска System Rescue. Я фактически извлек весь ISO в корень TFTP-сервера, потому что он вписывается в мою структуру каталогов, поэтому ядра находятся в /syslinux
.
# /var/lib/tftpboot/pxelinux.cfg/default
UI vesamenu.c32
PROMPT 0
TIMEOUT 0
MENU DEFAULT sysrescd64
LABEL sysrescd64
MENU LABEL 1) SysResCD 4.2.0 (x64)
KERNEL /syslinux/rescue64
APPEND setkmap=us nomodeset netboot=nbd://pxe:sysrcd.dat
INITRD /syslinux/initram.igz
Самый важный бит здесь - строка APPEND
. Видите netboot=
в конце? Так ОС знает, где находится ее корневая файловая система. Синтаксис:<protocol>://<server>:<path>
.
Я удобно установил DNS-имя pxe
для своего сервера.
Если у вас его нет, вы бы использовали IP-адрес для сервера.
Кроме того, sysresccd является одним из самых простых, потому что он использует образ squashfs для своей корневой файловой системы, который может быть легко загружен и загружен в оперативную память любым способом. Здесь я использую nbd; Вы также можете использовать tftp, nfs и http.
Для других дистрибутивов, таких как Ubuntu, я думаю, что вы можете использовать только nfs.
Для систем Windows это немного сложнее сделать. Схема:
- Установить Windows 7 в общую папку на сервере
- Иметь полноценную среду Windows PE на сервере в корне TFTP
- Пусть клиентский компьютер загрузит WinPE по сети и нажмите F12, чтобы получить командную строку
- Сопоставить общую папку с установкой Windows 7 с буквой диска
- Начать установку из сопоставленной папки
Я никогда не пробовал это, и кажется, что это не работает для некоторых людей. Для версий NT старше Vista я думаю, что это даже невозможно. Для Windows, предшествующей NT (95, 98, ME и т.д.), Вы можете использовать подход с использованием memdisk, но их загрузка вредна для вашего здоровья :-p
Ultimate Deployment Appliance предлагает то, что вам нужно. Их домашняя страница описывает его функциональность; это переформатировано здесь для удобства:
Что такое Ultimate Deployment Appliance?
- Автоматическая установка ОС (Windows, Linux, ESX, Solaris) по сети через несколько минут!
- Опубликуйте ваши любимые инструменты восстановления / обслуживания системы по сети!
- Загрузка PXE, Службы удаленной установки, Kickstart, Jumpstart, Autoyast в коробке!
Когда бы вы использовали это?
- Когда вы пытаетесь установить систему, в которой нет привода CDROM, но есть сетевая карта (в наши дни ультратонкие ноутбуки и тому подобное не имеют оптического привода)
- Когда вам нужно установить операционную систему на разные части оборудования.
- Когда вам нужно установить системы и вы хотите, чтобы все было автоматизировано и воспроизводимо.
- Когда вы идете в дом своих друзей, чтобы починить его / ее компьютер, вы хотите быть готовы. Вместо того, чтобы удалять все ненужные вещи, вы можете начать все сначала. Принесите свою собственную систему (ноутбук?), Подключите ее к испорченной системе с помощью перекрестного кабеля и начните переустановку системы с нуля полностью без присмотра. Голова к холодильнику ...
- Когда вам нужно выполнить техническое обслуживание вашей системы без необходимости носить с собой стопку живых CD.
- Когда вы хотите сделать это, не платя много денег за коммерческие продукты.
Как это работает?
- Автоматическая установка Устройство монтирует ISO-файл с дистрибутивом вашей любимой операционной системы и импортирует необходимые (сетевые) загрузочные файлы. Он создает файл конфигурации по умолчанию для вашей автоматической установки и запускает размещение файлов дистрибутива операционной системы для загрузки по сети.
- Публикация системных инструментов Live CD и другие инструменты полностью импортируются в устройство Ultimate Deployment и публикуются для загрузки по сети через PXE.
У UDA есть канал на YouTube, где вы можете найти видео с их установкой Windows 7 в качестве примера от полностью установленной установки в UDA до Windows.
Я предлагаю различные инструменты для этой работы, если вы заинтересованы в расширении этого исследования:
- ФОГ: http://www.fogproject.org/
- сапожник: http://www.cobblerd.org/
- DRBL: http://drbl.sourceforge.net/