Можно ли загружаться с ISO по сети и как?

31

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

Георгий Контридзе
источник
если у вас есть шаги по обучению @George, возможно, вы могли бы поделиться этим здесь ссылками ... потому что у меня есть аналогичный случай для установки ISO Windows 8 на пустой компьютер, к которому не подключен DVDRom, вместо этого только подключение к локальной сети. : D
gumuruh

Ответы:

11

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

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

Джеймс Т Снелл
источник
@datatoo - пожалуйста, это было немного эгоистично - я задавался вопросом об этом перед собой.
Джеймс Т Снелл
@ Одним из преимуществ ответов на вопросы является исследовательский процесс. Вы склонны учить вещи, и это хорошо.
Котро
Работают ли эти методы для любого загрузочного ISO? Т.е. Windows ISO? Или они работают только для дистрибутивов Linux?
AaronLS
@AaronLS - я не знаю, но я ожидаю, что это будет работать для всех операционных систем с интерфейсом BIOS. Я менее уверен в EFI, но я могу представить, что EFI в целом работают еще лучше для этого. Надеюсь, кто-то действительно попробует это и прокомментирует!
Джеймс Т Снелл
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

В конечном развертывании 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.

JavaRocky
источник