Фото: Альфред Хермида через Compfight cc
Предварительная среда Windows (WinPE) - это версия Windows, которую большинство людей знает как ту, которая загружается с установочного компакт-диска. На протяжении многих лет были созданы целые проекты, чтобы дать возможность иметь своего рода среду Windows Live, такую как многие дистрибутивы Linux. В этом руководстве у нас будет окно PE из загрузки установочного компакт-диска из PXE, чтобы мы могли использовать его для запуска утилиты обновления BIOS для Dell. Вам предлагается продолжить изучение этой бездонной ямы достоинства выродка …
обзор
Мы показали вам, что такое PXE и как вы можете легко установить сервер для него (и многое другое) с помощью FOG, сегодня мы добавим еще одно расширение для FOG. Обычно сегодняшняя процедура будет:
- Обновите PXElinux до версии 5.0 или выше, если он еще не установлен.
- Добавьте модуль wimboot.
- Скопируйте образ WIM и поддерживайте файлы с установочного компакт-диска Windows.
- Добавьте запись меню.
- Используйте загрузочную WinPE, чтобы получить рабочую «консоль восстановления Windows».
Мы собираемся сделать это, потому что переход «обычного» набора автоматической установки Windows (WAIK) заставляет вас, в лучшем случае, установить его на свой компьютер и пройти не столь простой процесс, чтобы калечить WIM-файл и его поддержку файлы в форму WDS / RIS. В то время как альтернативы Linux существуют, например, один проект UDA (который является сервером PXE, который я использовал до того, как появился FOG), используя этот способ, вы просто заменяете некоторые файлы на сервере PXE один раз (что вы, вероятно, в конечном итоге так или иначе), и скопируйте неизменный файл WIM и файлы поддержки непосредственно с компакт-диска Windows на сервер PXE.
Единственное, что нужно отметить, это то, что, хотя будет выглядеть так, вы можете запустить процедуру установки Windows таким образом, вы на самом деле не можете ее завершить, и сделать это возможно выходит за рамки этого руководства.
Позволяет растрескиваться:)
Обновить PXElinux до V5.01
На момент написания этой статьи версия Syslinux в репозитории Ubuntu по-прежнему 4.05. Я предполагаю, что это связано с тем, что команда Syslinux решила встряхнуть ситуацию с ветвью V5 и изменила работу своих модулей COM32 (теперь на основе ELF) и изменила «ядро» на требуемую библиотеку (ldlinux.c32) длячто-нибудь за «чистой загрузкой». Это позволяет встретить поломку, для тех, кто привык к «старому». Не волнуйтесь, мы загрузим необходимые файлы вручную и сделаем так, чтобы ваша установка FOG не потеряла ритм.
Мы будем использовать версию 5.01, поскольку она является последней стабильный релиз из ветви V5 на момент написания этой статьи, и именно это команда Syslinux работала вместе с командой wimboot, чтобы эта конкретная процедура работала.
Заметка: Еще одна причина, по которой последняя версия еще не является частью репозитория Ubuntu (IMHO), заключается в том, что, по крайней мере, на Citrix-Xen, посетители HVM не могут загружать ничего за пределы меню PXE. Другие гипервизоры, такие как VMware, Hyper-V и VirtualBox, а также физические машины, отлично подходят для новой версии.
Если примечание выше не влияет на вас, продолжайте.
Получите версию 5.01 из PXElinux прямо с Kernel.org и извлеките ее на сервере FOG:
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/
Добавьте «путь» к этому каталогу в уже существующий файл конфигурации по умолчанию, либо отредактировав его, либо выполните следующее:
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
Этот загрузчик является частью проекта iPXE, и они описывают его так:
wimboot
является загрузчиком для Windows Imaging Format (
.wim
). Он позволяет загружать среду Windows PE (WinPE) с RAM-диска, не теряя память, используемую для образа RAM-диска.
Загрузите последнюю версию со своего сайта:
wget https://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 CD
Создайте новый каталог на сервере FOG для хранения файлов, которые мы скопируем:
mkdir -p /tftpboot/howtogeek/WinPE/
Поместите исходный установочный компакт-диск Windows 7 на дисковод CDROM и скопируйте файлы, перечисленные ниже, в этот каталог:
ootmgr
ootcd
ootoot.sdi
sourcesoot.wim
Да, это так просто а также вам не нужно сохранять структуру каталогов на компакт-диске, чтобы это работало.
Примечание. Чтобы обновления 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
Поздравляем, теперь у вас WindowsPE на вашем сервере PXE.:)
Примечание: может показаться, что он висит на «wim» файле, но это не так. Это фактически передача 140 Мбайт файла клиенту через TFTP, который занимает больше времени, чем обычно небольшие файлы, которые переданы таким образом.
Вот скриншот, чтобы доказать, что это произошло.
Консоль восстановления Windows
Опять же, как упоминалось в обзоре, хотя похоже, что вы можете запустить процедуру установки Windows таким образом, вы на самом деле не можете ее завершить, и сделать это возможно выходит за рамки этого руководства.
С учетом сказанного, просто чтобы привести пример того, почему это было бы полезно, мы будем использовать эту среду для обновления Dell BIOS.
Получите обновление, которое необходимо выполнить на веб-сайте Dell, и установите его на диск-ключ. Поместите диск на ключ и PXE загрузите клиент.
Чтобы добраться до консоли восстановления, в главном окне, как показано на скриншоте выше, нажмите «Далее».
Выберите «Использовать инструменты восстановления» и нажмите «Далее».
После этого в командной строке вам нужно будет узнать, что «буквенное обозначение диска» WinPE решило назначить вашему Disk-on-Key. Чтобы сделать это, система перечисляет все текущие присвоенные буквы, выдавая:
wmic logicaldisk get name
Теперь исключая буквы A: и X: и, возможно, даже C: (хотя и не заданные), прокрутите буквы дисков и найдите диск на ключ, выпустив:
Driveletter: dir
После того, как вы нашли правильный диск, выполните файл, и вы увидите следующее:
Я знаю Кунг-фу …