Как установить загрузочный PXE сервер для установки Windows, Linux, ESXI 5.5-21 часть. Добавляем Windows

Как установить загрузочный PXE сервер для установки Windows, Linux, ESXI 5.5-21 часть. Добавляем Windows-01

Всем привет в 20 части мы рассмотрели как добавить на PXE сервер AVG антивирусник, сегодня наконец то речь пойдет и дошли руки сделать установку Windows с PXE сервера pxelinux. Так что давайте сделаем наш сервер установки еще более универсальным. В данном примере я буду производить установку операционной системы Windows Server 2008 R2, но тут главное принцип, и не большие отличия от клиентский систем, типа семерки или 10.

 

Для решения нашей задачи нам нужен компьютер с ОС windows7/windows 2008 под рукой (для создания файлов установки). Он нам будет нужен, чтобы сделать WinPE. Windows PEэто среда предустановки Windows, использующаяся на первоначальном этапе установки операционных систем Windows Vista, Windows Server 2008 и Windows 7. На ней же основана и среда восстановления – Windows. На компьютере с помощью которого мы будем делать WinPE нужно установить WAIK (Windows Automated Installation Kit) или как его еще называют Windows AIK.

Ниже описан метод как получить те же файлы без установки windows AIK или Windows ADK

Создание Windows PE

открываем пуск и от имени администратора запускаем Командная строка средств развертывания.

Как установить загрузочный PXE сервер для установки Windows, Linux, ESXI 5.5-21 часть. Добавляем Windows-02
Как установить загрузочный PXE сервер для установки Windows, Linux, ESXI 5.5-21 часть. Добавляем Windows-02

откроется черное окно командной строке winpe

pxe сервер windows
Как установить загрузочный PXE сервер для установки Windows, Linux, ESXI 5.5-21 часть. Добавляем Windows-03-1

выполняем команду для создания структуры папок winpe

copype.cmd amd64 c:\winpe

Видим скопировалось 8 файлов.

pxe сервер windows
Как установить загрузочный PXE сервер для установки Windows, Linux, ESXI 5.5-21 часть. Добавляем Windows-03

и у вас на диске С создалась папка winpe

Как установить загрузочный PXE сервер для установки Windows, Linux, ESXI 5.5-21 часть. Добавляем Windows-04
Как установить загрузочный PXE сервер для установки Windows, Linux, ESXI 5.5-21 часть. Добавляем Windows-04

далее создадим папку на диске С c:\netboot\win\Boot

mkdir c:\netboot\win\Boot

И монтируем нашу файловую систему, командой

imagex /mountrw winpe.wim 1 mount

Как установить загрузочный PXE сервер для установки Windows, Linux, ESXI 5.5-21 часть. Добавляем Windows-05
Как установить загрузочный PXE сервер для установки Windows, Linux, ESXI 5.5-21 часть. Добавляем Windows-05

И теперь поочереди выполним три команды, которые скопируют нужные файлы в папку c:\netboot\win

xcopy c:\winpe\mount\windows\boot\pxe\pxeboot.n12 c:\netboot\win
xcopy c:\winpe\mount\windows\boot\pxe\bootmgr.exe c:\netboot\win
xcopy c:\winpe\iso\boot\boot.sdi c:\netboot\win\Boot
pxe mof exiting pxe rom +на ноутбуке
Как установить загрузочный PXE сервер для установки Windows, Linux, ESXI 5.5-21 часть. Добавляем Windows-06

В итоге вы получите три файла

  • папка boot
  • bootmgr
  • pxeboot.n12

Последовательность сетевой загрузки WinPE, начиная с версии 2.0, следующая:

  1. загружается сетевое ядро pxeboot.com;
  2. сетевое ядро загружает стандартный диспетчер загрузки bootmgr.exe, далее сетевая загрузка практически не отличается от загрузки с других носителей;
  3. диспетчер загрузки читает файл BCD (boot configuration data), где прописана конфигурационная информация (расположение загрузочных файлов), загружает необходимый шрифт (wgl4_boot.ttf) и драйвер виртуального диска boot.sdi, потом загружается образ WinPE;
  4. диспетчер загрузки передает управление программе, указанной в параметре path BCD-файла.

Для начала хочу напомнить, что разница между файлами pxeboot.com и pxeboot.n12, в требовании первого нажать для установки клавишу F12. Так как это требование в нашем случае лишнее, то я буду использовать файл pxeboot.n12. 

alpine pxe h650
Как установить загрузочный PXE сервер для установки Windows, Linux, ESXI 5.5-21 часть. Добавляем Windows-07

Теперь когда загрузиться с данного winpe вы увидите командную строку для выполнения команд, напишем скрипт для монтирования по протоколу nfs файловых шар.

Скрипт монтирования NFS шар с дистрибутивом Windows Server 2008 R2

Создадим файл startnet.cmd или можете его открыть C:\winpe\mount\Windows\System32\startnet.cmd.  Так как меню у нас на русском языке, нужен редактор позволяющий менять кодировку текста(CP866 в нашем случае). Я использую Notepad++

Как установить загрузочный PXE сервер для установки Windows, Linux, ESXI 5.5-21 часть. Добавляем Windows-08
Как установить загрузочный PXE сервер для установки Windows, Linux, ESXI 5.5-21 часть. Добавляем Windows-08

Кодировки => Кодировки => Кириллица => OEM 866. Если Вы уже набрали код батника в Notepad++ и Вам его нужно пересохранить в кодировке cp866, действуйте по такой схеме:

1) Скопируйте весь текст батника (комбинация клавиш Ctrl + A или Правка => Выделить все)

2) Вырежьте выделенный текст в буфер обмена (Ctrl + X или правой кнопкой мыши по выделенному тексту => Вырезать)

3) Сделайте все, как на рисунке выше:
Кодировки => Кодировки => Кириллица => OEM 866

4) Вставьте текст из буфера обмена (Ctrl + V или Shift + Insert или правой кнопкой мыши => Вставить)

5) Сохраните файл (Файл => Сохранить).

Как установить загрузочный PXE сервер для установки Windows, Linux, ESXI 5.5-21 часть. Добавляем Windows-09
Как установить загрузочный PXE сервер для установки Windows, Linux, ESXI 5.5-21 часть. Добавляем Windows-09

@echo off

echo.
echo Запускаю wpeinit.
echo Подожди немного...
echo.
wpeinit
echo  На выбор доступно три режима работы WinPE:
echo     1) Просто монтируется шара
echo        и командная строка ждет дальнейших действий.
echo.
echo     2) Монтируется smb шара и запускается установщик
echo        Windows 2008 R2 Enterprise.
echo.
echo     3) Монтируется smb шара и запускается автоматическая
echo        установка Windows 2008 R2 Enterprise Full с занесением в домен.
echo.
echo  Выберите пункт меню нажав соответсвующую ему цифру,
echo  а затем нажми клавишу Enter(ошибочный ввод = 1 пункт).
set /p ID=
echo.
if %ID%==1 goto :first
if %ID%==2 goto :second
if %ID%==3 goto :third
if %ID% GTR 3 goto :failure
if %ID% LSS 3 goto :failure
exit /b
:second
echo Вы выбрали пункт меню под номером 2
echo.
echo Монтирую smb шару.
net use j: \\10.10.10.2\images
echo Запускаю j:\w2008r2\setup.exe
j:\w2008r2\setup.exe
exit /b
:third
echo Вы выбрали пункт меню под номером 3
echo.
echo Монтирую smb шару.
net use j: \\10.10.10.2\images
echo Запускаю автоматическую установку: j:\w2008r2\setup.exe /unattend:j:\autounattend.xml
j:\w2008r2\setup.exe /unattend:j:\w2008r2\autounattend.xml
exit /b
:first
echo Вы выбрали пункт меню под номером 1
echo.
:failure
echo.
echo Монтирую smb шару.
net use j: \\10.10.10.2\images
exit /b

Если вы по своему называли свою шару не images, то не забудьте это поправить. Скачать Скрипт монтирования NFS шар с дистрибутивом Windows

Сохраняем изменения и в startnet.cmd. Отмонтируем winpe.wim сохранив изменения и скопируем полученный образ к остальным файлам.

imagex.exe /unmount /commit mount

xcopy c:\winpe\winpe.wim c:\netboot\win\Boot

Как установить загрузочный PXE сервер для установки Windows, Linux, ESXI 5.5-21 часть. Добавляем Windows-10
Как установить загрузочный PXE сервер для установки Windows, Linux, ESXI 5.5-21 часть. Добавляем Windows-10

Продолжение установки Windows с PXE сервера linux читайте в 21 части.

Материал сайта pyatilistnik.org

Оцените статью
Настройка серверов windows и linux
Добавить комментарий

  1. Александр

    Добрый день!
    Спасибо за статью, у меня все получилось как написано в этом мануале, но винда 7 не хочет запускаться.
    Выдает ошибку:
    Windows failed to start. A recent hardware or software change might be the cause. To fix the problem:
    Ну и дальше пути решения типа «вставьте диск, выберите язык, кликните далее, кликните «Repair your computer»

    File: \Boot\BCD
    Status: 0xc000001
    Info: An error occurred while attempting to read the boot configuration data.

    В чем может быть проблема?

  2. Evgen

    Таже самая ошибка File: \Boot\BCD
    Status: 0xc000001
    Info: An error occurred while attempting to read the boot configuration data.
    Не работает данное описание.

  3. Иван Семин автор

    Я семерку не тестировал, делал только с серверными версиями, смотрите пути в BCD

  4. Александр

    Таже самая ошибка File: \Boot\BCD
    Status: 0xc000001
    Info: An error occurred while attempting to read the boot configuration data.
    Ребят, данная ошибка говорит о том, что не удаётся получить доступ к загрузчику — нет прав. Автор статьи, конечно, молодец, но копипастер не очень. Есть ряд замечаний. Во-первых, права на папку должны быть 755, на файлы 644. Он же, во в этой статье http://pyatilistnik.org/kak-ustanovit-zagruzochnyiy-pxe-server-dlya-ustanovki-windows-linux-esxi-5-5-1-chast/ сначала говорит, что права должны быть 0771-0660 (так НЕ РАБОТАЕТ!!!), а потом вдруг 777 — зачем ??? Во-вторых, люди жаловались на ошибку 0xc000000f при загрузке WinPE, автор ответить не смог, отвечу я: в приведённом в статье коде по созданию загрузчика автором допущена ошибка в строке bcdedit -store %1\BCD -set {ramdiskoptions} ramdisksdipath \boot\boot.sdi — папка к образу виртуального привода указано неверно, должно быть bcdedit -store %1\BCD -set {ramdiskoptions} ramdisksdipath \Boot\boot.sdi и тогда всё будет ОК.
    Всё вышеописанное мной проверено лично и работает. Надеюсь, кому-нибудь мои замечания помогут, удачи!
    P.S. Уважаемый копипастер, он же автор статьи, прошу Вас быть повнимательнее, поскольку из-за Ваших ошибок люди днями не могут настроить PXE и гуглят ошибки, тем более, что ответы по гугловским запросам совсем не те, какие хотелось бы видеть.