Сетевая загрузка 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 и процесс загрузки по сети

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 - содержит файлы программы.

CDBF for Windows WIM

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

Meetsoft Final Recovery 2.2.6.275

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