Как с помощью PXElinux v5 и Wimboot загрузить через сеть (PXE) спасательный диск WinPEИсточник: rus-linux Aviad Raviv; Перевод: Н.Ромоданов
Хотелось ли вам когда-либо быстро открыть консоль восстановления Windows, поддерживающую работу процедуры или программы, которой вы хотите воспользоваться, и, при этом, не вспоминать, где вы забыли компакт диск? В настоящей статье будет рассказано о том, как загрузить WinPE через сеть (с помощью PXE). Среда предустановки Windows (WinPE) представляет собой версию Windows, о которой большинство людей знает, как о средстве загрузки установочного компакт-диска. На протяжении многих лет создавались целые проекты с тем, чтобы получить своего рода среду ОбзорМы рассказали вам о том, что такое загрузка через сеть PXE и как вы можете
Мы собираемся выполнить все, сказанное выше, поскольку если пойти по "обычному" пути использования пакета автоматической установки Windows Automated Installation Kit (WAIK), то вы вынуждены будете, в лучшем случае, установить его на вашей машине и выполнить не такую уж простую процедуру изменения файла WIM и вспомогательных файлов в формате WDS/RIS. Хотя для Linux есть альтернативы, например, проект UDA (являющийся сервером PXE, которым я пользовался до тех пор, пока не перешел на FOG), использование описываемого подхода просто сведется к однократной замене некоторых файлов на сервере PXE (что вам, вероятно, придется, так или иначе в конце концов сделать) и копированию на сервер PXE неизменного файла WIM и вспомогательных файлов непосредственно с компакт-диска Windows. Единственное, на что нужно обратить внимание, это то, что вы можете таким образом запустить процедуру установки windows, но, на самом деле, вы не сможете завершить ее - описание этого выходит за рамки настоящего руководства. Давайте приступим к делу :) Обновляем PXElinux до версии V5.01На момент написания настоящей статьи в репозитории Ubuntu по-прежнему присутствовал пакет Syslinux версии 4.05. Я предполагаю, что это связано с тем, что команда Syslinux решила "перетряхнуть" ветку V5 и Мы будем использовать версию 5.01, поскольку на момент написания этой статьи это последняя стабильная версия ветки V5, и именно та, над которой команда Примечание: Еще одна причина, из-за которой последняя версия все еще не является частью репозитория Ubuntu, состоит в том, что по крайней мере на Если указанное выше примечание вас не беспокоит, то продолжим дальше. Получите версию 5.01 пакета PXElinux непосредственно с сайта wget https://www.kernel.org/pub/linux/utils/boot/syslinux/syslinux-5.01.tar.bz2 tar xvhf syslinux-5.01.tar.bz2 Создайте каталог, в котором будут находиться только что полученные библиотеки: mkdir -p /tftpboot/howtogeek/libs Скопируйте в этот каталог файлы с необходимыми библиотеками, с тем чтобы они на этапе выполнения были доступны для клиентов: cp -av syslinux-5.01/com32/lib/libcom32.c32 /tftpboot/howtogeek/libs/ cp -av syslinux-5.01/com32/libutil/libutil.c32 /tftpboot/howtogeek/libs/ cp -av syslinux-5.01/com32/modules/linux.c32 /tftpboot/howtogeek/libs/ Добавьте в уже существующий конфигурационный файлу default путь к этому каталогу - для этого либо его отредактируйте, либо выполните следующую команду: echo "PATH howtogeek/libs" >> /tftpboot/pxelinux.cfg/default Скопируйте необходимую библиотеку ldlinux.c32 в корень сервера TFTP с помощью следующей команды: cp -av syslinux-5.01/com32/elflink/ldlinux/ldlinux.c32 /tftpboot/ Обновите графический движок (vesamenu.c32), чтобы он соответствовал этой новой версии: cp -av syslinux-5.01/com32/menu/vesamenu.c32 /tftpboot/ Поздравляем, ваш PXE сервер теперь обновлен до версии v5.01 и сделано все, чтобы он работал (если примечание, указанное выше, к вам не относится). WIMbootЭтот загрузчик является частью проекта wimboot является загрузчиком файлов формата Windows Imaging Format (.wim). Он позволяет загружать среду Windows PE (WinPE) с диска RAM без лишних затрат памяти, которые требуются при использовании образа диска RAM. Загрузите последнюю версию с сайта проекта: wget http://git.ipxe.org/releases/wimboot/wimboot-latest.zip Установите программу unzip на сервер FOG, если ее еще нет: aptitude install unzip Распакуйте пакет wimboot: unzip wimboot-latest.zip Скопируйте модуль wimboot в каталог libs, который мы создали в предыдущем разделе: cp -va wimboot*/wimboot /tftpboot/howtogeek/libs/ Вот и все. Загрузчик wimboot готов к использованию. Файлы компакт диска WindowsСоздайте на сервере FOG новый каталог для хранения файлов, которые мы будем копировать: mkdir -p /tftpboot/howtogeek/WinPE/ Вставьте оригинальный установочный диск Windows 7 в ваше устройство CD-ROM и скопируйте в этот каталог файлы, которые перечислены ниже: \bootmgr \boot\bcd \boot\boot.sdi \sources\boot.wim Да, это настолько просто, причем, чтобы это работало, вам не нужно воспроизводить структуру каталогов, имеющуюся на CD. Примечание: я выяснил, что для того, чтобы можно было выполнять обновления Dell BIOS, необходимо использовать 32-разрядную версию Windows. Добавьте запись в менюСоздайте пункт меню PXE - для этого отредактируйте меню Utils: sudo vim /tftpboot/howtogeek/menus/utils.cfg Добавьте к этому следующее: label WinPE com32 linux.c32 howtogeek/libs/wimboot APPEND wimboot initrdfile=/howtogeek/WinPE/bootmgr,/howtogeek/WinPE/bcd,/howtogeek/WinPE/boot.sdi,/howtogeek /WinPE/boot.wim Поздравляем, теперь у вас на сервере PXE есть система WindowsPE. Примечание: может показаться, что файл wim завис, но это не так. На самом деле клиенту через TFTP передается файл размером в 140MB, что занимает больше времени, чем для обычных небольших файлов, которые передаются таким образом. Ниже показан скриншот, указывающий на то, что это выполнено.
На жестком диске виртуальной машины, показанной выше и запущенной с помощью плейера VMware, установлена система Ubuntu и выполнена загрузка через сеть (PXE) системы WinPE. Консоль восстановления WindowsОпять же, как уже упоминалось в обзоре, хотя вы можете начать процедуру установки windows, вы на самом деле не сможете ее завершить, а обсуждение, позволяющее это сделать, выходит за рамки данного руководства. С учетом сказанного, просто приведем один пример того, чем этот подход мог бы быть полезным - мы будем использовать эту среду для того, чтобы обновлять Dell BIOS. Получаем обновления, которые вам надо выполнить, с сайта Dell, и помещаем их на флешку. Подключаем флешку к клиентской машине и выполняем загрузку через сеть (загрузку PXE). Чтобы перейти к консоли восстановления, в главном окне, которое показано на скриншоте выше, нажимаем Next (Далее).
Щелкаем по записи Repair your computer (Восстановить компьютер).
Выбираем вариант Use recovery tools (Использование средств восстановления) и нажимаем кнопку Next (Далее).
Выбираем вариант Command Prompt (Командная строка). После того, как вы окажитесь в командной строке, вам придется узнать, какую "букву диска" система WinPE решила назначить вашей флешке. Чтобы это сделать, с помощью следующей команды получите от системы список всех используемых в текущий момент букв дисков: wmic logicaldisk get name Теперь для каждой буквы, кроме букв A: и X: и, возможно, C: (хотя она не указана), поищите содержимое флешки: Driveletter: dir Как только вы найдете нужный диск, запустите файл, и вы должны увидеть что-то вроде следующего:
Поздравляем, у вас все настроено для выполнения обновления. |