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

 

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

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

        Стандарт PXE (Preboot Execution Environment) позволяет превратить сетевую карту в одно из устройств, с которого может загрузиться компьютер. Разработку данного стандарта начала компания Intel, еще 1999 году, а потом к разработке присоединились такие гиганты компьютерной индустрии, как 3Com, HP, Dell, Compaq. Стандарт прижился. И сейчас, пожалуй, не возможно, найти современной сетевой платы без поддержки PXE.
Конечно для того, чтобы компьютер смог загрузиться по сети одного PXE не достаточно. Нужно еще наличие в сети серверов TFTP и DHCP.

        Процесс загрузки по сети можно упрощенно описать примерно так.

При включении компьютера, начинает работать PXE загрузчик, который находится в памяти (boot ROM) сетевого адаптера. Сетевая карта отправляет запрос к серверу DHCP для получения IP адреса. Получив запрос, DHCP сообщает сетевой плате IP адрес, маску сети, адрес TFTP сервера и имя загрузочного файла. После обработке полученных данных PXE обращается к серверу TFTP и загружает файл. Получив файл, PXE прекращает свою работу и передает управление загруженной программе.

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

        Создадим каталог для сетевой установки C:\PXE. Внутри создадим каталог, например WinPE.
        Сетевая загрузка WinPE делится на два этапа. На первом этапе происходит загрузка файлов по протоколу TFTP. А на втором этапе файлы загружаются по протоколу CIFS (старое название SMB). Протокол CIFS более известен, как общий доступ к файлам и принтерам сети.
Поэтому для второго этапа загрузки нужно:

  • Сделать каталог C:\PXE доступным по сети (расшарить) для группы "Everyone (Все)" с правами только чтения.
  • Также необходимо убедиться, что учетная запись "Guest (Гость)" активирована.

Для этого нажимаем, правую клавишу мыши на "My Computer (Мой компьютер)" и выбираем "Manage (Управление)". Раскрываем "System Tools (Служебные программы)", "Local Users and Groups (Локальные пользователи и группы)". Выбираем "Users (Пользователи)". В правой части экрана нажимаем правую клавишу мыши на "Guest (Гость)" и выбираем "Properties (Свойства)". В появившемся окне убираем флажок с "Account is disabled (Отключить учетную запись)" и нажимаем кнопку OK

  • Если директория C:\PXE\WinPE находится на разделе с файловой системой NTFS, то необходимо в свойствах этого каталога в "Security (Безопасность)" также добавить группу "Everyone (Все)". Этой группе необходимо разрешить чтение.
  • Также следует убедиться, что не запрещен доступ пользователя "Guest (Гость)" по сети в групповой политике.

Для этого нажимаем "Start (Пуск)", выбираем "Control Panel (Панель управление)", "Administrative Tools (Администрирование)". В появившемся окне выбираем "Local Security Policy (Локальная политика безопасности)". После загрузки оснастки "Local Security Settings (Локальные параметры безопасности)", разворачиваем "Local Policies (Локальные политики)" и выбираем "User Rights Assignments (Назначение прав пользователя)". В правой части нажимаем дважды левую клавишу мыши на "Deny access to this computer from the network (Отказ в доступе к компьютеру по сети)". В появившемся списке отмечаем "Guest (Гость)" и нажимаем кнопку "Remove (Удалить)". Для подтверждения изменений нажимаем кнопку удалить.

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

         Копируем содержимое сборки(каталоги I386 и Programs) в каталог C:\PXE\WinPE
         Копируем из каталога C:\PXE\WinPE\I386 файл ntdetect.com в каталог C:\PXE
         Разархивируем файлы (из дистрибутива Windows XP/Windows 2003) setupldr.ex_ и startrom.n1_ в каталог C:\PXE. Сделать это можно с помощью архиватора 7-zip или команд:
expand D:\WINXP\I386\setupldr.ex_ С:\PXE\WinPE\ntldr
expand D:\WINXP\I386\startrom.n1_ С:\PXE\WinPE\startrom.n12
Следует переименовать startrom.n12 в startrom.0
При работе с локализированной сборкой рекомендуется копировать файл bootfont.bin из каталога C:\PXE\WinPE в C:\PXE.
Распаковываем каталоги tftpd32, infparser и файл binlsrv.exe в 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.

Настройка программы RIS-LINUX от Sherpya

         Во время загрузки WinPE должна получить информацию, какой драйвер для сетевой платы она должна использовать. Эту информация предоставляет служба BINL. В качестве службы BINL будет использоватся программа ris-linux. Эта программа написана на языке Python, но мы будем использовать портированную под Windows версию.
Для работы BINL требуется создать базу данных сетевых драйверов следующей командой:
C:\PXE\infparser\infparser.exe C:\PXE\WinPE\I386\inf

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

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

[SetupData]
OsLoadOptions = "/noguiboot /fastdetect /minint"
SetupSourceDevice = "\Device\LanmanRedirector\192.168.0.1\PXE\WinPE"
[UserData]
ComputerName = *

Завершение

         Чтобы наконец заработал наш PXE сервер, достаточно запустить binlsrv.exe и перезапустить tftpd32.

В ходе написание статьи были использованы материалы с сайта ]]>http://unattendedxp.com/]]>, а также собственные наработки. Вроде ничего не забыл. Сильно не пинайте.

Комментарии

Решил разобраться с  PXE загрузкой, нашёл эту статью.... должен отметить более адекватных статей  не встретил, но и здесь беда.
Начало было хорошее и подробное, но с момента "Подготовка сборки WinPE для загрузки по сети" ... я перестал понимать...
Прошу разъяснить :
» Где мы берём эти файлы? "Копируем содержимое сборки(каталоги I386 и Programs) в каталог C:\PXE\WinPE"
- я скачал  несколько сборок в формате *.iso на дисках таких файлов и каталогов нет...
- я скачал два архива которые упомянуты под статьёй "pxe_0.7z"  и "wimpxe.7z". В этих архиват также  нет указаныйх архивов. 

Пожалуйста подкажите статью не подразумивающую наличие паронормальных способностей, и позволяющей основательно разобраться. 

Заранее спасибо.

Эта статья описывает процесс загрузки так называемой "россыпи" то есть WinPE которые по структуре эквивалентны обычному дистрибу WinXP.
Соответственно для загрузки подойдут любые сборки - главное учитывать что i386 может быть переименована в другое имя - какое можно увидеть в setupldr.bin.
Ну и если сборки WIM или с поддержкой мультиядерности то потребуются нестандартные файлы pxe

---
упс..

Если есть желание разобраться с тем как работает PXE стоит обратить внимание на цикл статей
Универсальный сервер сетевой загрузки и установки.

]]>http://www.winpe.ru/content/universalnyy_server_setevoy_zagruzki_i_ustanovki_nachalo]]>

Я там все очень подробно описывал. Если что не понятно - велко :)

Жизнь бьёт ключом! И все больше по голове!>

Страницы

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

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

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

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

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

Создание загрузочного USB-драйва на базе Windows Vista (WinPE 2.0)

      Windows Preinstallation Environment (PE) 2.0 - это, так сказать, урезанная версия Windows.

Система для обслуживания компьютеров и серверов в локальной сети предприятия

Причины создания, краткое описание, общий принцип работы

Ieshua's Live DVD/USB 2.13

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

Универсальный сервер сетевой загрузки и установки. Файлы.

       В связи с тем, что было много вопросов и обращений по поводу ]]>...

Spread32

Сверхкомпактный редактор XSL-файлов. Не работает с большими файлами.

O&O Disk Recovery 6.0 WIM

WIM-плагин для O&O Disk Recovery 6.0 - содержит файлы программы.