30

У меня есть компьютер с загрузочным ISO-образом, и у меня есть еще один пустой компьютер, на который я хочу установить ISO-образ. Они оба находятся в одной локальной сети (подключены к одному коммутатору). Как мне начать загрузку пустой машины из ISO-файла, хранящегося на моем основном компьютере?

4 ответа4

11

Я думаю, что вы хотите средство загрузки pxe из ISO-образов. Я искал немного и нашел эту статью. Я считаю, что метод должен работать для любого загрузочного образа ISO, который у вас может быть. Это еще одна похожая статья.

Наконец, кажется, что в этой статье обсуждается, как сделать это с сервера PXE (Pre-boot eXecution Environment), который вы запускаете из Windows.

4

Да, это очень возможно. Тип системы, которую вы можете загрузить, будет зависеть от того, как работает эта система.

Обычно вы обнаружите, что очень простые системы (такие как 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

3

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.

2

Я предлагаю различные инструменты для этой работы, если вы заинтересованы в расширении этого исследования:

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .