- Загрузка компьютеров по локальной сети с использованием программы AOMEI PXE Boot
- О программе
- Запуск загрузочного образа на компьютере-сервере
- Запуск клиентских компьютеров по сети
- Остановка сервера
- Особенности запуска по сети компьютеров в режиме BIOS UEFI
- Бездисковая загрузка по сети и жизнь после нее
- История
- Теория
- Практика
Загрузка компьютеров по локальной сети с использованием программы AOMEI PXE Boot
Подробный мануал о загрузке компьютеров по локальной сети с использованием программы AOMEI PXE Boot. Программа предусматривает запуск по сети клиентских компьютеров с ISO-образов только в режиме BIOS Legacy, для режима BIOS UEFI возможен запуск только с образов WIM. В статье предложены решения по работе с программным обеспечением ISO-образов в условиях запуска среды WinPE с WIM-образа методом подтягивания расшаренных ресурсов сети.
Как переустановить Windows или попытаться её реанимировать с аварийного LiveDisk’а, если она не загружается, при этом мы не можем запустить компьютер с установочного или реанимационного загрузочного носителя? У компьютера может не быть DVD-привода, он может не поддерживать загрузку с USB-устройств, USB-порты могут быть отключены или повреждены. А, возможно, у нас банально нет сейчас в наличии болванки, флешки, прочего носителя, дабы сделать его загрузочным, тогда как проблему нужно решать срочно. Её можно решить без оптического диска, флешки или USB-диска при условии, что у нас в помещении есть другой компьютер, с которым первый проблемный объединены в одну проводную локальную сеть. Проблемный ПК или ноутбук можно запустить с установочного или реанимационного образа по сети, и один из программных инструментов, который может нам помочь реализовать эту задачу – программа AOMEI PXE Boot. Рассмотрим её.
О программе
AOMEI PXE Boot – узкопрофильная программа, предназначенная для загрузки компьютеров по сети с использованием образов самозагружаемого ПО. Содержит собственный DHCP-сервер, обеспечивающий работу компьютеров в сети по модели «клиент-сервер». Программа реализует возможность запуска компьютеров, у которых нет иных механизмов запуска, кроме как с внутреннего жёсткого диска. И являет собой решение для системных администраторов по комплексному обслуживанию нескольких компьютеров: с использованием AOMEI PXE Boot можно одновременно запустить на скольких-угодно компьютерах, к примеру, массовое развёртывание образа Windows. Программа бесплатна в рамках использования возможности одновременной загрузки по сети до 3 компьютеров включительно. Скачать AOMEI PXE Boot можно на сайте компании-разработчика: https://www.ubackup.com/pxetool.html
Принцип работы программы предельно прост: на одном компьютере запускается образ самозагружаемого ПО, этот компьютер будет играть роль сервера; на клиентских компьютерах – целевых компьютерах – выставляется в BIOS их запуск по сети. В качестве самозагружаемого ПО может выступать любой ISO- или WIM- образ – процесс установки операционной системы, среда WinPE или Linux с антивирусами, менеджерами дисков, программами для резервного копирования и восстановления, комплексные аварийные LiveDisk’и.
Чтобы клиентские компьютеры можно было запустить по сети с использованием программы AOMEI PXE Boot, они, повторимся, должны быть объединены с компьютером-сервером в единую локальную сеть, в сеть проводную, сеть Ethernet. Беспроводная сеть Wi-Fi программой не поддерживается. И, конечно же, клиентские компьютеры должны предусматривать PXE-загрузку, т.е. загрузку по сети. Если на компьютере-сервере используется сторонний антивирусный продукт с фаерволом в составе, последний может блокировать работу программы. В таком случае фаервол можно временно отключить.
И также у AOMEI PXE Boot есть свои особенности работы в условиях запуска по сети клиентских компьютеров с BIOS UEFI. Такие могут быть запущены только с WIM-образов, но не с образов ISO. Создатели программы рекомендуют на таких компьютерах использовать режим загрузки Legacy, т.е. режим обычной BIOS. Но они не говорят, как быть, если компьютер предусматривает только режим BIOS UEFI, а такое может быть на современных ноутбуках. И также они не говорят, как быть, если нужно по сети переустановить Windows на GPT-диске. Система же не установится на диск с этим стилем разметки в условиях Legacy-загрузки. Но мы самостоятельно нашли решения для таких случаев и рассмотрим их чуть позднее. Сейчас же поговорим об основных аспектах работы AOMEI PXE Boot.
Запуск загрузочного образа на компьютере-сервере
Устанавливаем программу AOMEI PXE Boot на компьютер-сервер, запускаем. Программа очень простая, предусматривает только две опции: первая – это загрузка по сети загрузочных образов продуктов самой компании AOMEI, вторая – загрузка образов любого иного самозагружаемого ПО. В нашем случае мы не будем использовать образы продуктов AOMEI, мы запустим образ диска восстановления Windows MSDaRT. Поэтому мы кликаем вторую опцию и жмём кнопку обзора «Browse».
В окне обзора указываем путь к ISO-образу MSDaRT. Важно: образ самозагружаемого ПО в названии не должен содержать пробелов, их можно заменить нижним подчёркиванием. И имя должно быть латиницей. После указания пути ISO-образа кликаем «Start Service», это действие по запуску сервера.
Кликаем «Ок» в окошке, предупреждающем нас, что для старта работы сервера программа должна быть запущена от имени администратора.
И ожидаем немного, пока в окне AOMEI PXE Boot не появится сообщение о том, что сервер запущен и ожидает соединения.
Запуск клиентских компьютеров по сети
Что мы делаем на клиентских компьютерах? Мы входим в BIOS и настраиваем загрузку по сети. Рассмотрим, как это делается на примере интерфейса UEFI DualBIOS материнской платы Gigabyte. Мы идём в раздел настроек BIOS. И если мы на сервере запустили загрузочный ISO-образ, то первым делом смотрим настройку фильтра опции загрузки, чтобы у нас стоял режим совместимости UEFI и Legacy. Значение этой настройки должно быть «UEFI и прежняя версия».
Но не в каждой версии BIOS UEFI можно выставить режим совместимости, на ноутбуках часто такой возможности. В таком случае просто временно активируем режим Legacy.
Дальше мы ищем настройку включения загрузки по сети (PXE-загрузки). В DualBIOS она называется «ПЗУ для загрузки по сети», включаем эту настройку.
Теперь сохраняем внесённые настройки, перезагружаемся, запускаем Boot-меню BIOS и в нём выбираем PXE-загрузку с использованием сетевой карты.
На экране клиентского компьютера увидим уведомление о загрузке по сети с использованием запущенного на сервере ISO-образа.
На этапе загрузки придётся немного подождать, загрузка больших ISO-образов может занять какое-то время, может даже несколько минут. Разработчики программы рекомендуют при её использовании в рамках администрирования по сети множества компьютеров загружать одновременно небольшие группы компьютеров, дабы процесс загрузки был более производительным. Ну и после загрузки образа мы уже можем приступать к работе с его программным обеспечением.
Остановка сервера
По завершении работы с клиентскими компьютерами сервер можно выключить. Делается это кнопкой «Stop» в окне AOMEI PXE Boot.
Особенности запуска по сети компьютеров в режиме BIOS UEFI
Ну а теперь, как и было анонсировано выше, рассмотрим вопрос загрузки по сети с помощью AOMEI PXE Boot клиентских компьютеров с BIOS UEFI. Компьютеры в этом режиме могут быть загружены по сети только при условии запуска на компьютере-сервере WIM-образа самозагружаемого ПО. И вот тут есть закавыка. Если это, к примеру, процесс установки Windows, то в его ISO-дистрибутиве мы обнаружим два WIM-образа (при условии, что второй образ не поставляется в формате ESD). Что это за образы? Один – образ загрузочной среды WinPE в файле boot.wim, другой – файл-образ install.wim, это контейнер хранения системных файлов Windows.
С запущенных на сервере в отдельности этих WIM-образов толку не будет, эти образы должны запускаться вместе. По этому же принципу устроены многие LiveDisk’и: их среды WinPE в WIM-образах являют собой только среду загрузки, всё остальное их содержимое, в частности, поставляемый софт, находится отдельно от среды WinPE.
Что делать в такой ситуации? Как минимум есть два варианта. Вариант 1: с помощью программ типа Dism++, редактирующих образы Windows, можно извлечь из ISO WIM-образ операционной системы и отредактировать его, сделав загрузочным. Вариант 2: использовать LiveDisk’и на базе WinPE для запуска самой этой среды, и в ней подтянуть расшаренные по сети ресурсы для решения своих вопросов. Пример такого LiveDisk’а – WinPE 10-8 Sergei Strelec, конкретно для нашей ситуации он примечателен тем, что предусматривает работу в среде WinPE с авторизованной учётной записью администратора. И нам не придётся возиться с настройкой в среде WinPE доступа к сетевым ресурсам. Как всё это работает?
Качаем на сайте LiveDisk’а Sergeistrelec.Ru его ISO-образ. Подключаем ISO для отображения в проводнике на компьютере-сервере. Заходим на смонтированном диске в папку «SSTR».
В этой папке нам нужен файл запуска 64-битной среды WinPE10, это файл strelec10x64.wim. Указываем путь к этому файлу при запуске сервера в окне программы AOMEI PXE Boot. Запускаем сервер.
Клиентский компьютер загружается с WinPE10.
Мы попадаем в среду WinPE, где нас уже встречают уведомления об отсутствии файлов по некоторых путях, ведь мы запустили не целостный образ LiveDisk’а, а его урезанную часть. Но мы кликаем кнопку авторизации с помощью учётной записи администратора.
И без лишних танцев с бубном в проводнике WinPE получаем доступ к расшаренным ресурсам локальной сети, в частности, к файлам компьютера-сервера, где у нас есть, чем помочь клиентскому компьютеру.
Например, мы хотим помочь методом переустановки Windows. На компьютере-сервере расшариваем папку с установочным ISO Windows. На клиентском компьютере открываем этот ISO в проводнике WinPE.
Запускаем на смонтированном диске файл setup.exe.
И устанавливаем Windows так, как если бы запустили процесс установки привычно с установочного носителя.
А если мы хотим помочь клиентскому компьютеру путём реанимации его существующей операционной системы, мы на компьютере-сервере расшариваем ISO-образ того же WinPE 10-8 Sergei Strelec. Подключаем его для отображения в проводнике WinPE клиентского компьютера.
На смонтированном диске заходим в папку «SSTR», далее — в подпапку «MInst». И в последней запускаем менеджер программ MInst.
В окне MInst выбираем пункт запуска программ для 64-битной Win10.
И всё: в меню MInst можем выбрать любую из программ, поставляемых в целостном образе LiveDisk’а.
Источник
Бездисковая загрузка по сети и жизнь после нее
История
Теория
По сути, для того, чтобы система загрузилась ей необходимо 3 компонента — ядро, начальное окружение initramfs и корневой каталог, в котором система будет работать.
Практика
Все действия проводятся на машине с ubuntu precise.
Для начала настроим PXE. Мануалов на эту тему уйма, поэтому я расскажу только самую суть.
Ставим ваш любимый dhcp сервер, например isc-dhcp-server, который будет раздавать машинкам ip адреса и указывать путь к файлу pxelinux.0, который будет отдавать tftp сервер (tftp-hpa или же atftp).
Пример конфига dhcp сервера. В примере pxe-сервер находится по адресу 10.0.0.1.
Запускаем tftp сервер (в ubuntu он имеет init-скрипт, но вполне вероятно, что вам придется запускать его и через inetd/xinetd).
Проверяем работоспособность. Кладем файл в каталог /var/lib/tftpboot и пробуем стянуть его tftp клиентом.
В принципе неважно, где вы возьмете файл pxelinux.0, так как он является просто начальным загрузчиком, в который мы передаем то, что надо грузить дальше.
Вы можете сделать красивую менюшку в загрузчике, но сейчас нам это не нужно, поэтому мой pxelinux.cfg/default выглядит так
rootfs
Образ rootfs собираем через debootstrap, чрутимся в него и ставим необходимые программы. Настраиваем сеть, hostname, фаервол и прочее, чем больше сделаем настроек, тем больше будет образ. Главное не забудьте сменить пароль на рута.
С нашим минимальным набором система получилась весом 200Мб.
Initramfs
В этом примере мы будем забирать образ корневой фс с веб-сервера, расположенного на нашем сервере сетевой загрузки, то есть на 10.0.0.1. Решение было таким просто потому, что в нашем initramfs была утилита wget. Чтобы не тянуть большой объем данных по сети, мы решили сжать образ. Это можно было бы сделать и обычным tar, но можно попробовать squashfs, тем более, что обычно в initramfs tar не встроен, с другой стороны, ничего не мешает его туда добавить.
Squashfs
Squashfs — это сжимающая файловая система, которая включена в ядро с версии 2.6.29. С ее помощью можно заархивировать каталог, примонтировать на loop устройство и читать с него, для записи же необходимо провести процедуру добавления файлов в архив. Так как при обращении к squashfs, вы читаете из архива, то это дает дополнительную нагрузку на cpu.
Для более эфферктивного сжатия вы можете использовать опцию -comp, чтобы установить тип сжатия, по умолчанию используется gzip.
Далее надо научить init из initramfs забирать образ корня и помещать его в оперативную память.
init в initramfs — это скрипт на sh, который производит разбор опций из cmdline, монтирует фс, делает switch_root и запускает гланый init-процесс системы.
Воспользуемся этим и допишем свои опции для cmdline. Напишем скрипт ram, который будет вызываться при значении опции boot=ram.
Через параметр rooturl можно указывать откуда качать образ корневой фс. Для работы со squashfs необходимо подгрузить ее модуль в ядро. Указываем в /etc/initramfs-tools/initramfs.conf BOOT=ram и пересобираем initramfs
Включаем машинку, на которой будем тестировать, и смотрим на происходящее. После успешной загрузки мы получили бездисковую систему, которая занимает в памяти около 300Мб, при этом мы может писать в нее, но после ребута, система вернется в свое первоначальное состояние.
В это примере, мы использовали squashfs просто для сжатия образа, но почему бы нам не попробовать примонтировать корневой раздел в squashfs и не посмотреть, что получится? Меняем наш скрипт, в функции do_rammount() оставляем только монтирование squashfs.
Пересобираем initramfs, запускаем, смотрим. Система загружается в режиме ro, но зато занимает в памяти всего около 180Мб.
В каких-то случаях монтирование в режиме ro это хорошо, но нас это не устраивает, но и просто так тратить оперативную память нам тоже не хочется. Выход же был найден при помощи Aufs.
Aufs
Aufs позволяет делать каскадно-объединённое монтирование файловых систем — одну в режиме только на чтение, а вторую в rw. Работает она в режиме copy-on-write, то есть все изменения записываются на rw систему и после этого чтение производится с нее же.
Опять переписываем наш скрипт.
В фукнцию mountroot() добавляем
А фукнцию do_rammount() приводим к следующему виду:
Пересобираем initramfs, запускаем, смотрим. Система занимает в памяти 181Мб, при этом мы можем менять ее, писать, читать. Все изменения хранятся отдельно в /mnt/rw, а сама система хранится в /mnt/ro.
В результате мы получили систему, которая грузится по сети, занимает небольшой объем в памяти, при этом после каждой перезагрузки пропадают все изменения (поэтому надо заранее собирать все нужные продукты жизнедеятельности системы в надежное место).
Все вышеперечисленные способы имеют право на жизнь. Надеюсь, что эта информация вам пригодится, а мне же будет интересно почитать/послушать ваши комментарии.
Спасибо за внимание.
Источник