Сетевая загрузка PXE на основе TFTPD32 (WIM)

Описание настройки собственного PXE сервера на основе TFTPD32 для загрузки WinPE или BartPE.(WIM Загрузка)

Это продолжение статьи "Сетевая загрузка PXE на основе TFTPD32", поэтому я не буду описывать краткое изложение предыдущей части, а напишу ключевые особенности загрузки WIM сборок по сети.

Подготовка файлов

        Создадим каталог для сетевой установки C:\PXE. Внутри создадим каталог, например WinPE.
        При сетевой загрузке WinPE WIM будет происходить передача файлов только по протоколу TFTP. А не в два этапа как в предыдущей статье.

Подготовка сборки WinPE для загрузки по сети

         Копируем WIM файл сборки(BootSDI.wim или WinPE.wim) в каталог C:\PXE\WinPE
         Копируем из сборки файл ntdetect.com (если он присутствует) в каталог C:\PXE
         Разархивируем файл (из дистрибутива Windows XP/Windows 2003) startrom.n1_ в каталог C:\PXE. Сделать это можно с помощью архиватора 7-zip или команды:
expand D:\WINXP\I386\startrom.n1_ С:\PXE\WinPE\startrom.n12
Следует переименовать startrom.n12 в startrom.0
Также потребуется специальный загрузчик PXELDR-WIM-291 или PXELDR-WIM-337, последний отличается встроенный ntdetect.com. Поэтому не расстраивайтесь если не найдете его в сборке. Загрузчик следует переименовать в NTLDR и положить в каталог C:\PXE
При работе с локализированной сборкой рекомендуется копировать файл bootfont.bin из сборки в каталог C:\PXE.
Распаковываем каталог tftpd32 в C:\PXE

Настройка TFTP сервера (TFTPD32)

          Сначала для удобства следует отключить не нужные сервисы, оставив только "TFTP Server" и "DHCP Server". Затем следует указать каталог, в котором TFTP сервер будет искать файлы. За это отвечает параметр "Base Directory". В нашем случае это C:\PXE. Также следует включить "Option negotiation", "Allow '\' As virtual root" и "Translate Unix file names". Остальные опции выключены.

Настройке DHCP сервера (TFTPD32)

          Для загрузки по сети DHCP должен присвоить IP адрес и указать имя загружаемого файла.
Предположим на компьютере, который выступает в роли PXE сервера, присвоен IP адрес 192.168.0.1 с маской сети 255.255.255.0. Параметр "IP Pool starting address" указывает начальный IP адрес, с которого DHCP будет начинаться выдавать адреса. Установим значение в 192.168.0.10. Параметр "Size of pool" указывает, сколько компьютеров могут получить IP адреса от TFTPD32. Установим значение в 10. Параметр "Boot File" указывает, какой файл необходимо загрузить. В нашем случае это startrom.0. Если на компьютере несколько сетевых подключений, тогда рекомендуется включить опцию "Bind DHCP to this address" и указать наш IP 192.168.0.1.

Подготовка файла winnt.sif

         Для загрузки WinPE также потребуется файл C:\PXE\winnt.sif который можно взять или из сборки или написать самостоятельно с таки содержимым:

[SetupData]
BootDevice="ramdisk(0)"
BootPath="\i386\System32\"
OsLoadOptions="/fastdetect /minint /noguiboot /rdimageoffset=8192 /rdimagelength=3161088 /rdpath=WinPE\winpe.wim"

[UserData]
ComputerName = *

Заключение

         В этой части я опишу особенности с которыми Вы можете столкнутся при создании сетевой загрузки.
Дело в том что многие авторы используют нестандартные имена каталогов и это может стать настоящей проблемой.
Итак, файл:
startrom.0 имеет ссылку на файл NTLDR, и если у вас файлов несколько или файл NTLDR имеет другое имя это нужно учесть.(Имеет значение только при мультизагрузке)
NTLDR содержит I386, ntdetect.com и winnt.sif (при загрузке россыпи имеет значение только I386, при мультизагрузке ntdetect.com и winnt.sif, при WIM загузке ничего менять не нужно)

Чтобы произвести нужные модификации нужно иметь HEX редактор или следующие утилиты:
rep.vbs:   cscript rep.vbs c:\pxe\startrom.0 ntldr c:\pxe\startrom.0 ntldm /force (замена ntldr на ntldm в файле startrom.0)
gsar:     gsar -o "-sI386" "-rY386" "C:\pxe\NTLDR" (Утилита регистрочувствительна, поэтому требует замену дважды, один раз в верхенм регистре и один раз в нижнем)
               gsar -o "-si386" "-ry386" "C:\pxe\NTLDR"

Обе утилиты, два загрузчика PXELDR-WIM, также TFTPD32 Вы сможете найти во вложении ниже.

Комментарии

А вот мои изыскания на эту тему.  Мультизагрузка на PXE на основе GRUB4DOS. Архив корневой папки без самих wim тут.
В настройке TFTPD32 нужно указать имя загрузчика grldr.0

Загрузчики Wim образов setupldr (у меня pxewimldr - для pxe и wimldr - для флэшек) удобно править утилитой Patch_SETUPLDR.au3

Линуксовый SystemRescueCD гружу так:

title RescueCDx64
kernel (pd)/-/rescuecd/rescue64 vga=791 dodhcp docache dostartx setkmap=ru netboot=t]]>ftp://192.168.168.1/-/rescuecd/sysrcd.dat]]>
initrd (pd)/-/rescuecd/initram.igz

_SIL_
Я мультизагрузку еще не описывал, возможно в следующей статье, но за файлы и за участие, спасибо. А какое принципиальное отличие в (pxewimldr - для pxe и wimldr - для флэшек)?

для pxe - бывший setupldr.exe, для флэшек - бывший setupldr.bin

Страницы

Похожие материалы по этой теме на сайте

Содержимое
Ieshua's Live DVD/USB 2.13

- В качестве оболочки(shell) используется стандартный Explorer(XPE) и BsExplorer для ERD Commander
- Загрузчик производит автоопределение HAL и ядра

Norton Ghost - для "Сервера загрузки и установки"

Norton Ghost - это простая, но мощная утилита для создания образов как целых дисков, так и отдельных разделов диска.

Сетевая загрузка PXE на основе TFTPD32

 

Описание настройки собственного PXE сервера на основе TFTPD32 для загрузки WinPE или BartPE.

PXE и процесс загрузки по сети

CDBF for Windows WIM

Отличный и быстрый редактор файлов dBase

Meetsoft Final Recovery 2.2.6.275

WIM-плагин для Meetsoft Final Recovery 2.2.6.275 - содержит файлы программы.

EXT2FSD

WIM-Плагин для EXT2FSD (EXT2&EXT3 support) - содержит файлы программы.

Kaspersky Virus Removal Tool 9

Плагин Kaspersky Virus Removal Tool с возможностью обновления баз при сборке через интернет.

Symantec Ghost 11.0 WIM

WIM-плагин для Symantec Ghost 11.0 - содержит файлы программы.