Настройка pxe загрузки по сети windows

В этой статье мы рассмотрим, как установить Windows 10 или 11 по сети без использования загрузочной USB флешки (установочного DVD диска). Для загрузки

В этой статье мы рассмотрим, как установить Windows 10 или 11 по сети без использования загрузочной USB флешки (установочного DVD диска). Для загрузки компьютера по сети через PXE мы будем использовать небольшой Tiny PXE Server. Инструкция применима для установки Windows на устройствах как с UEFI, так и с BIOS прошивкой.

В корпоративных сетях для разливки образов Windows по сети используются более функциональные Windows Deployment Services (WDS) и Microsoft Deployment Toolkit (MDT). В этой статье мы покажем, как быстро запустить PXE сервер на любом имеющемся компьютере (будь то устройство с Windows или Linux) и использовать его для сетевой установки Windows на компьютеры в этой же LAN с помощью простых средств.

Нам понадобятся:

  • Установочный ISO образ с Windows 10 или 11 (проще всего создать его с помощью Windows Media Creation Tool согласно инструкции https://winitpro.ru/index.php/2013/12/31/sozdaem-zagruzochnuyu-fleshku-s-windows-7-dlya-uefi-sistemy/ )
  • Образ Windows PE — можно использовать свой образ WinPE, извлечь его из образа восстановления MS DART, получить оригинальный WinPE с помощью Windows Assessment and Deployment Kit (Windows ADK), или использовать готовый образ типа Hiren’s BootCD PE.
  • Сервер Tiny PXE (http://reboot.pro/files/file/303-tiny-pxe-server/ )

Содержание:

  • Создаем загрузочный образ Windows PE с помощью ADK
  • Подготовка сервера сетевой установки TinyPXE
  • Сетевая установка Windows 10 и 11 с PXE сервера

Создаем загрузочный образ Windows PE с помощью ADK

Скачайте Windows ADK для Windows 11 и Windows PE add-on for the Windows ADK по ссылкам на странице https://docs.microsoft.com/en-us/windows-hardware/get-started/adk-install .

скачать ADK для Windows

При установке Windows ADK выберите минимальную установку Deployment Tools.

установка ADK Deployment Tools

Затем аналогично установите Windows PE add-on for Windows ADK.

установка Windows PE add-on for Windows ADK

После окончания установки запустите Deployment and Imaging Tool из стартового меню Windows. Или запустите вручную команду:

"C:Program Files (x86)Windows Kits10Assessment and Deployment KitDeployment ToolsDandISetEnv.bat"

запуск Deployment and Imaging Tool

Теперь скопируйте файлы для среды WinPE в указанный каталог (создавать не нужно):

copype amd64 C:toolswinpe

В данном случае я создаю файлы для среды WinPE x64. Можно использовать другие опции в зависимости от архитектуры: x86, arm или arm64.

генерация файлов для среды WinPE copype amd64

Теперь можно создать загрузочный ISO образ с WinPE:

MakeWinPEMedia /ISO C:toolswinpe c:toolsWinPE.iso

MakeWinPEMedia: создать ISO образ WINPE

Подготовка сервера сетевой установки TinyPXE

Теперь нужно настроить ваш PXE сервер:

  1. Распакуйте архив pxesrv.zip в каталог C:toolspxesrv;
  2. Перейдите в каталог C:toolspxesrv и создайте текстовый файл pxe_menu.txt со следующим содержимым:
    #!ipxe
    set boot-url http://${dhcp-server}
    #================ Main Menu =================
    menu iPXE boot menu
    item WinPEISO WindowsPE ISO
    choose target && goto ${target}
    #============ Main Menu Options =============
    :WinPEISO
    sanboot ${boot-url}/iso/WinPE.iso
    boot

    конфигурационный файл меню для pxe сервера

  3. Скопируйте полученный ранее файл WinPE.iso в каталог C:toolspxesrvfilesiso;
  4. Смонтируйте установочный ISO образ в виртуальный привод Windows и откройте общий сетевой доступ к нему (если хотите, можете открыть к нему анонимный доступ, но это не обязательно);
    общий доступ к каталогу с установочным образом Windows
  5. Запустите файл pxesrv.exe с правами администратора;
  6. Включите опцию HTTPd;
  7. Если ваш компьютер сам будет раздавать IP адреса по DHCP (Tiny PXE это умеет), отключите опцию ProxyDHCP. Убедитесь, что в полях Option 54 DHCP Server и Next-Server указан IP адрес вашего компьютера. В поле IP Pool start указано начало диапазона DHCP, убедитесь что этот диапазон не занят в вашей сети;
  8. В разделе Boot File укажите ipxe.pxe (для загрузки на BIOS устройствах) или ipxe-x86_64.efi (для UEFI устройств);
  9. В поле Filename if user-class=gPXE or IPXE укажите имя файла меню, который вы создали ранее pxe_menu.txt;
  10. Запустите PXE сервер, нажав кнопку Online;
    настройки Tiny PXE сервера для загрузки Windows PE по сети

Итак, ваш PXE сервер запущен и готов к работе. Если в Windows включен брандмауэр (проще), отключите его или разрешите входящий трафик для процесса pxesrv.exe по протоколам DHCP, PXE, HTTP, TFTPS и SMB.

Сетевая установка Windows 10 и 11 с PXE сервера

Теперь вам нужно загрузить ваш компьютер, на который вы хотите установить Windows, с PXE сервера. Компьютер должен находится в той же локальной сети (VLAN), что и компьютер с PXE сервером.

В настройках BIOS/UEFI компьютера выберите в качестве первичного устройства загрузки PXE.

загрузка компьютера по сети через PXE (EFI network)

При запуске среды PXE компьютер обнаружит в сети DHCP сервер, получит IP адрес и получит доступных опции в меню iPXE.

загрузочное меню PXE сервера

Компьютер загрузится по сети в среде WinPE.

В моем случае при тестировании загрузки с PXE сервера виртуальной машины VMWare с UEFI прошивкой появилась ошибка:

Could not describe SAN devices: Operation not supported
Could not boot image: Operation not supported https://ipxe.org/err/3c2220


Как оказалось, в UEFI прошивки виртуальной машины на моем хосте VMware ESXi есть баг:

This error indicates that your UEFI firmware has a bug that prevents the installation of the iSCSI boot firmware table (iBFT). Switch to booting in “legacy” BIOS mode rather than UEFI mode.

Пришлось переключить ВМ в режим BIOS и запускать PXE сервер с опцией ipxe.pxe. После этого пошла нормальная установка Windows по сети.

Вам осталось подключить по SMB сетевой каталог, в котором хранится ваш установочный ISO образ Windows 11.

После инициализации среды командой
wpeinit
подключите ваш сетевой каталог, в который смонтирован установочный образ Windows. Выполните команду:

Net use E: \192.168.13.202e

Где
192.168.13.202
– имя компьютера на котором хранится установочный образ, а
E
– название общей папки.
Введите имя пользователя, с правами доступа к вашей Windows с PXE сервером.
подключение сетевого каталог с установочным образом Windows в WinPE

Запустите знакомый мастер установки Windows.

установка windows 11 по сети через pxe

PXE Boot и WinPE для установки по сети Windows 10 / Server 2016

Порывшись в сети нашел массу инструкций по аналогичной теме. Вроде всё разжевано и
инструкции чёткие, но при их выполнении происходят какие-то не очевидные вещи и
пока разбираешься в том, что надо сделать приходится параллельно искать информацию о
появляющихся ошибках. Получив опыт и имея готовую систему я пришел к
выводу, что всё можно было сделать другими инструментами, не устанавливая массу
стороннего софта и не заморачиваясь со сложным редактированием образов. Материал
касающийся нашей темы косвенно я опишу лишь поверхностно, чтобы не скатываться в занудную
статью о настройке серии роутеров на раздачу DHCP. То, что касается непосредственно
создания аналога сервера развёртывания конфигураций я опишу подробно и с картинками.
Не скриншотами командных файлов, а нормальным текстом, который можно скопировать и
запустить на своём компьютере.

Если вы сталкивались с инструкциями в которых необходимо «поднимать»
активдиректори и доменкотроллер, монтировать диски через определённые утилиты и долго шаманить
над созданием текстовых файлов, перепечатывая текст с монитора, то представляю вам
более простой вариант реализации. Тот кто пользовался этой инструкцией дали пару рекомендаций
о подаче информации и думаю, что теперь она вылизана как никогда чётко и красиво.

Есть масса методов установки операционных систем по сети. Данный
вариант предназначен для маленьких сетей в которых нет возможности установить
сервер с операционной системой Windows Server. Например, если компания не хочет
нарушать лицензионную чистоту, а администратор сети не умеет администрировать
Linux-сервера. Единственная сложность с которой придётся столкнуться заключается
в поиске оригинального файла winpe.wim.

Хочу обратить особое внимание на то, что для сетевой установки желательно использовать
Windows Deployment Services (WDS), а не самопальные системы. Там больше инструментов и они
более гибкие.

Вот последовательность которую будем проводить для настройки нашей системы.

  • Настраиваем DHCP-сервер,
  • настраиваем TFTP-сервер,
  • копируем PXElinux,
  • расшариваем папку с распакованными образами,
  • скачиваем и извлекаем winpe.wim,
  • дорабатываем winpe.wim для работы с сетью,
  • создаём файл для выбора устанавливаемой ОС.

Думаю стоит немного уточнить, что для чего нужно.

Настройка DHCP-сервера

Исходя из того, что сеть небольшая и в ней нет ни Линуксового, ни виндового
сервера, то можно предположить, что в качестве DHCP-сервера выступает роутер
компании. Настройка каждого конкретного роутера уникальна и по этому администратор
должен самостоятельно решить вопрос о добавлении необходимых настроек. В качестве примера
могу привести настройку роутеров Cisco.

conf t
 ip dhcp pool {ИМЯ}
  bootfile pxelinux.0
  next-server {IP-адрес вашего TFTP-сервера}

В настройках роутера необходимо указать два параметра. Первый — это имя файла
для первоначальной загрузки PXE. Второй — это адрес TFTP-сервера. Настроив эти
данные на своём DHCP-сервере мы можем приступить к следующему шагу. Если у роутера нет
возможности манипулировать настройками его DHCP, то нужно искать выход. Например, можно
отключить автоматический DHCP на роутере и установить DHCP-сервер на компьютере
выделенном для сетевой установки операционных систем. В качестве универсального решения
могу предложить использовать Tftpd64, который выступает в роли как TFTP-сервера, так и
DHCP-сервера.

Настройка TFTP-сервера

Следующим шагом мы настраиваем TFTP-сервер. Хотя, что там настраивать? Устанавливаем
программу Tftpd64 и в ней указываем каталог в котором располагаются файлы для
нашего проекта. Допустим, что корень TFTP-сервера расположен по адресу D:TFTP.
Для усиления системы безопасности я не рекомендую располагать данные публичного
характера на системном диске.

Tftpd64 настройка сервера.

Подготовка PXElinux

Далее ищем самый свежий архив на сайте
www.kernel.org.
Скачиваем на компьютер и распаковываем в отдельный каталог. Нам необходимо несколько файлов из этого архива.
Сначала я думал сделать свой архив, чтобы люди не выискивали нужное из архива, но потом передумал, ведь через
несколько месяцев или лет выйдет новая версия, а моя безнадёжно устареет. После копирования файлов
нужно будет создать каталог pxelinux.cfg и в нём два пустых файла: default и
graphics.conf. В результате получится вот такая структура.

  • /pxelinux.cfg/
  • /pxelinux.cfg/default
  • /pxelinux.cfg/graphics.conf
  • /ldlinux.c32
  • /libcom32.c32
  • /libutil.c32
  • /pxelinux.0
  • /vesamenu.c32

Создаём главное меню с выбором действия. Меню состоит всего из двух пунктов. Первый
отвечает за загрузку операционной системы с первого раздела жесткого диска. Второй
же отвечает за загрузку установщика операционных систем который мы подготовим чуть позже.
Загрузка с локального диска срабатывает через десять секунд бездействия. Это сделано для
компьютеров у которых забыли убрать загрузку по сети и за ними работают пользователи.

Файл default:

DEFAULT vesamenu.c32
PROMPT 0
MENU INCLUDE pxelinux.cfg/graphics.conf
TIMEOUT 100

MENU TITLE WWW.ORCINUS.RU PXE Boot menu

LABEL bootlocal
menu label Boot Local HDD
menu default
localboot 0x80

LABEL wininstall64
menu label Установка MS Windows OS (x64)
kernel pxeboot.0

Второй файл содержит информацию о настройке графического режима. Так сложилось
исторически из-за того, что у меня на «боевом» сервере используется
разветвлённое меню загрузчика и это вполне оправдано. В маленьких проектах нет
необходимости во вложенных меню, но если вы следили за моими статьями, то
читали статью о PXE загрузке компьютеров.
Возможно для вас подобный подход станет необходимым и
каждодневным инструментом.

Файл graphics.conf:

MENU MARGIN 10
MENU ROWS 16
MENU TABMSGROW 21
MENU TIMEOUTROW 26
MENU COLOR BORDER 30;44 #00000000 #00000000 none
MENU COLOR SCROLLBAR 30;44 #00000000 #00000000 none
MENU COLOR TITLE 0 #ffffffff #00000000 none
MENU COLOR SEL 30;47 #40000000 #20ffffff
MENU BACKGROUND background.png
NOESCAPE 0
ALLOWOPTIONS 0

На этом основа проекта уже создана. PXE грузится, можно даже сделать меню, скопировать
пару утилит и пользоваться благами удалённой загрузки. Но наша цель — это установка
операционных систем Windows по сети. И тут кроется очень интересная система подводных
камней. В PXElinux можно подключить образ диска и загрузиться с него. Например, я таким
образом загружаю диски восстановления и LiveCD с антивирусными программами. Но у протокола
TFTP есть огромная проблема с передачей больших файлов. Дополнительно всё усугубляется тем,
что перед запуском образа весь файл образа копируется в оперативную память. Ради эксперимента
я запустил на нескольких компьютерах запуск установки Windows 10 используя стандартный
метод. На одном компьютере загрузка продлилась около трёх часов, а на остальных происходил
сбой приблизительно через час. И это только копирование образа в память. Так же на компьютере
должно быть установлено памяти больше чем занимает образ. Если вы попробуете загрузить
образ размером пять гигабайт, то памяти необходимо около шести. А в офисных компьютерах редко
встретишь больше четырёх гигабайт. Естественно, что это совершенно не рабочий вариант.

Расшариваем папку с образами операционных систем

Тут вообще всё очень просто. Создаём каталог на сервере и создаём не привилегированного пользователя
с доступом к этому каталогу с правами чтения и исполнения.

Права пользователя.

Допустим мы создали каталог D:SETUP и дали к нему доступ. Так же надо сделать его сетевым.
Это тоже просто. Но для того, чтобы у пользователей не возник праздный интерес воспользоваться
публичным ресурсом я его сделал скрытым. Конечно, есть масса программ которые позволяют увидеть
скрытые каталоги на сервере, но сокрытие ресурсов не бывает лишним.

Но существует обходной путь. Мы воспользуемся небольшой операционной системой WindowsPE,
которая будет служить оболочкой для запуска установочной программы. WindowsPE
является полнофункциональной системой. В ней доступно подключение по сети к SMB-ресурсам,
есть графический интерфейс и возможность писать командные файлы, под ней можно запускать программы
написанные для ОС Windows. Больше всего меня интересует возможность работать с SMB, так как
это нас раскрепощает по скорости скачивания и уменьшает объём скачиваемой информации. Уменьшение
объёма произойдёт из-за того, что мы будем использовать лишь несколько реально необходимых файлов
из распакованного образа, а не огромный файл.

Продолжаем. Для дальнейшей работы нам необходимо найти чистый образ Winpe.wim. Лучше
его не скачивать со сторонних сайтов. Мало ли, кто туда заразу подсунет. Надо идти проторённым
и официальным путём. Заходим на сайт Майкрософта и скачиваем образ Windows AIK. Он распространяется
в виде ISO-образа, который необходимо смонтировать в систему. У Windows 10 ISO-образы
монтируются прямо средствами операционной системы. Находим внутри архив winpe.cab.

Windows AIK disk.

Внутри winpe.cab находится два файла: F1_WINPE.WIM и F3_WINPE.WIM.

Windows PE.

С этого момента необходимо определиться с разрядностью операционной системы. В F1_WINPE.WIM
расположена 32-разрядная система, а в F3_WINPE.WIM — 64-разрядная система.
Так как подавляющее большинство офисных компьютеров оснащается четырьмя гигабатами оперативной памяти,
а процессоры поддерживают 64-бита с незапамятных времён, то рекомендую остановиться именно на 64-битной
системе.

Создадим каталог Boot в корневой папке вашего TFTP-сервера. Скопируем туда понравившийся файл
и переименуем его в winpe.wim.

Теперь из winpe.wim нужно извлечь несколько файлов и положить их в определённые каталоги.
Для доступа к внутренностям этого файла можно использовать архиватор 7-zip или Far manager. Лично я
пользуюсь Far и не замечаю разницы между файловой системой и внутренностями архива. Чтобы открыть
wim-архив необходимо выделить его курсором и нажать Crtl+PageDown.

Windows PE.

Приведу таблицу размещения файлов для правильного копирования. В левой табличке каталог
вашего TFTP-сервера и название файла, а в правой файл из архива winpe.wim. Обратите внимание
на то, что файл pxeboot.n12 придётся переименовать, так как это одна из особенностей загрузки
файлов с использованием PXElinux.

TFTP файл WIM файлы
pxeboot.0 WindowsBootPXEpxeboot.n12
bootmgr.exe WindowsBootPXEbootmgr.exe
BootFontswgl4_boot.ttf WindowsBootFontswgl4_boot.ttf
boot.ini Создать пустой файл.
Bootwinpe.wim Скопировать сам архив winpe.wim.

Но этого не достаточно для работы. Нужно еще сформировать BCD-файл, который
является заменой boot.ini в операционных системах Windows Vista и выше.
Для его формирования необходимо выполнить несколько команд с правами администратора.

Чтобы долго не печатать, создайте командный файл createbcd.cmd и скопируйте в него следующий текст.

bcdedit -createstore %1BCD
bcdedit -store %1BCD -create {ramdiskoptions} /d "Ramdisk options"
bcdedit -store %1BCD -set {ramdiskoptions} ramdisksdidevice boot
bcdedit -store %1BCD -set {ramdiskoptions} ramdisksdipath bootboot.sdi
for /F "tokens=2 delims={}" %%i in ('bcdedit -store %1BCD -create /d "WWW.ORCINUS.RU Boot Image" /application osloader') do set guid={%%i}
bcdedit -store %1BCD -set %guid% systemroot Windows
bcdedit -store %1BCD -set %guid% detecthal Yes
bcdedit -store %1BCD -set %guid% winpe Yes
bcdedit -store %1BCD -set %guid% osdevice ramdisk=[boot]Bootwinpe.wim,{ramdiskoptions}
bcdedit -store %1BCD -set %guid% device ramdisk=[boot]Bootwinpe.wim,{ramdiskoptions}
bcdedit -store %1BCD -create {bootmgr} /d "Windows BootManager"
bcdedit -store %1BCD -set {bootmgr} timeout 1
bcdedit -store %1BCD -set {bootmgr} displayorder %guid%

Так как при создании BCD будет несколько файлов, то создайте каталог, например, C:pxe.
Скопируйте туда createbcd.cmd. Запустите командную строку от имени администратора и дайте команду.

C:pxecreatebcd.cmd c:pxe

Из сгенерированных файлов нам понадобится только два: BCD и boot.sdi. Оба файла необходимо скопировать
на наш TFTP-сервер в каталог Boot.

На этом моменте всё готово для запуска нашей сетевой операционной системы. Но это лишь запуск
Windows PE. А как на счёт запуска установки операционных систем? Для этого придётся откорректировать
образ winpe.wim.

Доработка Windows PE

В образе winpe.wim есть файл отвечающий за первоначальное иницирование. Используя Far Manager
можно открыть и отредактировать этот файл состоящий всего из одной команды. Адрес файла:

WindowsSystem32startnet.cmd

Чаще всего встречается инструция в которой этот файл содержит подключение сетевого
диска с распакованными образами и меню для установки. Но во время использования меня это
не устроило. Да, в этом случае у нас получается удобное загрузочное меню, а все настройки
лежат в одном файле. Но лично меня это не устраивает из-за того, что я люблю экспериментировать
и мне нужна универсальная система. По этой причине я разделил задачу на две подзадачи.
В startnet.cmd будет простенький скрипт подключающий сетевой диск и запускающий с этого
сетевого диска командный файл autostart.cmd.

Почему именно такой подход? Дело в том, что получить доступ к командному файлу на SMB-шаре
на порядок проще чем вспоминать адрес и имя файла в wim-образе операционной системы. Тем более,
манипулируя файлами и каталогами с программами установки операционных систем, вы всё равно
будете рядом с этим файлом и сможете оперативно вносить изменения.

Но никто не мешает вам объединить оба файла в один.

Содержимое startnet.cmd:

@echo off
cls
echo.
echo Подготовка к запуску.
echo Подождите немного...
echo.

wpeinit

echo Подключение сетевого диска.
echo.
@net use Z: \192.168.0.1setup$ pa$$W0rd /USER:serverguest

Z:
z:autostart.cmd
exit /b

Не забудьте указать пароль и имя пользователя для подключения к SMB-ресурсу.
Так же не забудьте ограничить права этого пользователя лишь чтением и исполнением.
Дело в том, что злоумышленник (даже внутри своей конторы могут быть нежелательные
личности и шутники) может воспользоваться возможностью записи и редактирования файлов
в своих целях. Не забывайте о безопасности никогда.

И так, что ж мы тут имеем? В файле запускается команда wpeinit которая отвечает за
запуск сетевых сервисов и прочих настроечных приблуд. Далее идёт наш код. Я поместил
строку подключения к сетевом ресурсу в невидимую для ползователя область так, что он увидит
факт подключения сетевого ресурса, но не увидит логин и пароль пользователя для подключения.
В какой-то степени защита от дурака, но у простого пользователя не возникнет праздный интерес
воспользоваться полученной информацией. Далее будет произведен запуск командного файла с
сетевого ресурса.

Как мы знаем, с SMB работа происходит значительно быстрее и не будет лишних проблем с
попыткой скачать весь образ установочного диска. Установщих Windows воспользуется только
реально необходимыми ему файлами.

Содержимое z:autostart.cmd, расположенного в корневой директории нашего ресурса:

@echo off
:beginsetup
cls
echo Выберите интересующий вас пункт:
echo.
echo    1) Запуск Far manager
echo.
echo    2) Установка Windows 10 Professional 
echo.
echo    3) Установка Windows 7 Professional
echo.
echo    4) Установка Windows Server 2016 Standard
echo.
echo    5) Установка Windows Server 2016 Hyper-V
echo.
echo Введите номер и нажмите Enter. 
set /p ID=
echo.

if %ID%==1 goto :farman
if %ID%==2 goto :win10pro
if %ID%==3 goto :win07pro
if %ID%==4 goto :winsrv2016
if %ID%==5 goto :winsrv2016h
if %ID% GTR 3 goto :failure
if %ID% LSS 3 goto :failure
exit /b

:farman
echo.
echo Запуск установки.
z:Farfar.exe
goto :beginsetup


:win10pro
echo.
echo Запуск установки.
z:Windows_10_professionalsetup.exe
exit /b

:win07pro
echo.
echo Запуск установки.
z:Windows_07_professionalsetup.exe
exit /b

:winsrv2016
echo.
echo Запуск установки.
z:Windows_Server_2016setup.exe
exit /b

:winsrv2016h
echo.
echo Запуск установки.
z:Windows_Server_2016_hypervsetup.exe
exit /b

:failure
cls
echo.
echo Доступных пунктов не выбрано. 
echo Вернитесь в предыдущее меню и выберите нужный пункт.
echo.
pause

goto :beginsetup

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

Надеюсь, что эта статья поможет в реализации ваших проектов, автоматизирует установку операционных
систем и создаст базу для дальнейшей автоматизации сетевых услуг.

Тэги: ИТ, Cisco

Отредактировано:2022-09-16 06:24:41

27 комментариев

Имя: Orcinus Orca 🖉
Андрей, какой размер дистрибутива? При загрузке ISO-шника нету строки прогресс-бара внизу. Если размер больше чем оперативы, то не загрузится.

Комментарий оставлен: 2017-12-19 00:00:00

Имя: Orcinus Orca 🖉
Андрей, тот который в дистрибутиве не запустится, он будет обращаться к несуществующему диску.

Судя по ошибкам на сервере на котором у вас крутится TFTP закрыты входящие соединения по портам 65***. В настройках TFTP можно жестко задать диапазон используемых портов для подключения клиентов (для функциональности лучше задать диапазон не менее 50 портов, на каждое новое подключение используется новый порт).

По февральскому надо внимательно смотреть имена образов, регистр и прочее. Почему-то повторяемость статьи оказалась не очень хорошей. Но проверить на большем количестве сетей не представляется возможным, я везде использую развёртывание через WDS. А то решение используется как временная заплатка.

Комментарий оставлен: 2017-12-28 00:00:00

Имя: Андрей 🖉
содержимое BCD после работы Вашего скрипта:

Windows Boot Manager
——————————
identifier {9dea862c-5cdd-4e70-acc1-f32b344d4795}
description Windows BootManager
displayorder {04cadba0-eb5c-11e7-8473-005056c00008}
timeout 1

Windows Boot Loader
—————————-
identifier {04cadba0-eb5c-11e7-8473-005056c00008}
device ramdisk=[boot]Bootwinpe.wim,{ae5534e0-a924-466c-b836-758539a3ee3a}
description Boot Image
osdevice ramdisk=[boot]Bootwinpe.wim,{ae5534e0-a924-466c-b836-758539a3ee3a}
systemroot Windows
detecthal Yes
winpe Yes

Комментарий оставлен: 2017-12-28 00:00:00

Имя: Андрей 🖉
Можно Вас попросить сбросить архивом Ваш полный рабочий пакет?

Комментарий оставлен: 2017-12-28 00:00:00

Имя: Андрей 🖉
получилось пройти этап с BCD
сформировал BCD без передачи параметра пути

Комментарий оставлен: 2017-12-28 00:00:00

Имя: Андрей 🖉
некоторые сетевые карты realtek не инициализируются wpeinit
соответственно требуется интеграция сетевых драйверов.

скорость копирования по tftpd32 до 6Mbs

Комментарий оставлен: 2017-12-28 00:00:00

Имя: Андрей 🖉
AIK все же пришлось установить, чтобы быстро интегрировать недостающие сетевые драйвера.

Windows установилась! Finish!

Спасибо за идею!
Никакой там WDS и близко не стоял.

Комментарий оставлен: 2017-12-28 00:00:00

Имя: Orcinus Orca 🖉
Андрей, отлично. Поздравляю с успехом.

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

Но я рад, что вы смогли повторить данную инструкцию. Не у всех получается.

Комментарий оставлен: 2017-12-29 00:00:00

Имя: Orcinus Orca 🖉
Андрей, список файлов для загрузчика перечислен в разделе «Подготовка PXElinux». Но действительно при написании я могу заббыть указать вещи которые мне кажутся тривиальными.

Комментарий оставлен: 2017-12-29 00:00:00

Имя: Андрей 🖉
WDS
выделить ресурс под сервер
установить сервер
установить сам WDS
и т.д.

а в данном варинанте можно разворачиваться мобильно в любом месте со своего ноута, причем интеграция заключатся только в распаковке iso образа, и все, Вы готовы к сетевой установке.

поправте у себя в мануале, что BCD нужно создать без передачи параметров в cmd
т.к. текущий путь сохраняется в BCD, а затем ошибка при загрузке.
Конечно сразу заметил, что в BCD путь, заданный параметром прописался, но никаких намеков, что именно это влияло.

кроме того сделал cmd для автоматической интеграции в winpe.wim любого количества драйверов.
AIK должен быть установлен.

структура, 2 папоки и cmd:
inf — драйвера, можно по папкам.
mount — для распаковки winpe.win
integrate drivers to winpe.cmd

содержание cmd:

@echo 1. AIK must be installed to: C:Program FilesWindows AIKToolsPETools
@echo 2. Put drivers to folder inf
@echo 3. Copy winpe.wim to the current folder
@echo.
@pause
@echo.
@set winpepath=%CD%
@C:
@cd «C:Program FilesWindows AIKToolsPETools»

@echo off
echo Updating path to include dism, oscdimg, imagex
echo.
if /i %PROCESSOR_ARCHITECTURE% EQU X86 set PATH=%~dp0;%~dp0..%PROCESSOR_ARCHITECTURE%;%~dp0..%PROCESSOR_ARCHITECTURE%Servicing;%PATH%;
if /i %PROCESSOR_ARCHITECTURE% NEQ X86 set PATH=%~dp0;%~dp0..%PROCESSOR_ARCHITECTURE%;%~dp0..x86;%~dp0..%PROCESSOR_ARCHITECTURE%Servicing;%~dp0..x86Servicing;%PATH%;
cd /d %~dp0

@dism /Mount-Wim /WimFile:%winpepath%winpe.wim /index:1 /MountDir:%winpepath%mount
@dism /image:%winpepath%mount /add-driver /driver:»%winpepath%inf» /recurse /forceunsigned
@dism /unmount-wim /mountdir:%winpepath%mount /commit
@echo.
@echo.
@echo.
@echo Drivers from inf folder integrated to winpe.wim
@echo.
@echo Now you can copy winpe.wim to TFPTD root folder: ’Boot’
@echo.
@echo.
@pause
:end

p.s. почистите мои посты, оставьте только необходимое.
Спасибо.

Комментарий оставлен: 2017-12-29 00:00:00

Имя: Андрей 🖉
Да, Вы правы c BCD, возможно одновременно с созданием BCD перешел на tftpd32 и ошибочно принял, что проблема была в BCD, а не в tftpd64.

по интеграции драйверов, тем проще и быстре — тем лучше и эффективнее.
т.е. уставновили AIK, создали две папки и батник — winpe.wim с драйверами готов. все!

Что представляет наибольшую ценность на сегодня?
— простота
— быстрота
— минимализм
и т.д. в таком же духе

WDS, WSUS (кстати разворачивал, пользовался, удалил) — это полная противоположность, это мамонты прошлого века и must die

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

p.s. Вообще, нужно будет как нибудь попробовать перенести это все на Linux, если создавать PXE как стационарный вариант.

Комментарий оставлен: 2017-12-30 00:00:00

Имя: Orcinus Orca 🖉
Андрей, у вас несколько устаревшее представление. Но думаю когда у вас перевалит хотябы за 800 компьютеров в сети, тогда вы поймёте в чем сила и плюсы большой развёрнутой системы.

Комментарий оставлен: 2017-12-30 00:00:00

Имя: Андрей 🖉
Возможно,
но пока всё сервисное ПО под Windows приводит только в ярость.
поэтому все что можно перевожу на linux, это gstes, site-to-site, backups, http, sftp, dhcp, loaders, и т.д.
вот и загрузчик для сетевой установки теперь одной ногой в linux…

Уточните, у Вас в офисе около 800 компьютеров?
Вам при жизни нужно ставить мемориал, если у Вас всё крутиться на Windows!!!
:)

Комментарий оставлен: 2017-12-30 00:00:00

Имя: Orcinus Orca 🖉
Конкретно данный пут внутри файлика ни на что не влияет. Я уже проверял. В майкрософтовских реализациях там иногда висят такие пути, что можно догадаться о именах пользователей в корпорации.

Про драйвера надо бы написать еще один мануал, пошаговый. Тут я хотел показать то, что без AIK в принципе реально создать образ.

Про мобильность развёртывания — это хорошо. Но она всё-же требуется на больших предприятиях, а когда у тебя много компов и десяток серверов, то можно и под развёртку ресурс найти. У меня WDS стоит вместе с WSUS.

Огромное спасибо за обратный отзыв.

Комментарий оставлен: 2017-12-30 00:00:00

Имя: Hash911 🖉
Я в первый раз собирал WinPE и все хорошо в описании кроме того, где брать boot.sdi
1) У меня в сборке f3_winpe.wim из AIK не было boot.sdi.
Брать boot.sdi надо с любого диска установки Win7/8/10 из /boot/boot.sdi (это драйвер виртуального диска и он универсальный)

2)Путь, как писали выше, который прописывается в BCD из-за переменной в батнике действительно может поставить раком TFTP Server. На Микротике прошло только без пути и забирать пришлось сгенерированный файл и корня системы.
3) У Андрея классный скрипт по интеграции драйверов .inf файла. Но начиная с Win7 необходимости ставить AIK нет так как DISM.exe идет в комплекте по умолчанию. Остальные утилиты в скрипте не используются. Ну и команды «mkdir %winpepath%mount» явно не хватает такак из-за её отсутствия dism некуда монтировать образ winpe.wim.
Сами драйвары, можно позаимствовать из DriverPack. Там хорошая свалка из Lan дравйверов.

Вот такой у меня получился скрипт:

@echo 1. Put drivers to folder inf
@echo 2. Copy winpe.wim to the current folder
@set winpepath=%CD%
mkdir %winpepath%mount

@dism /Mount-Wim /WimFile:%winpepath%winpe.wim /index:1 /MountDir:%winpepath%mount
@dism /image:%winpepath%mount /add-driver /driver:»%winpepath%inf» /recurse /forceunsigned
@dism /unmount-wim /mountdir:%winpepath%mount /commit
@echo.
@echo Drivers from inf folder integrated to winpe.wim
@echo.
@echo Now you can copy winpe.wim to TFPTD root folder: ’Boot’

Комментарий оставлен: 2018-02-28 00:00:00

Имя: Orcinus Orca 🖉
Hash911, в инструкции приведет командный файл createbcd.cmd который генерирует этот файлик.

Да, интеграция драйверов может быть серьёзным вопросом для новых материнок.

Комментарий оставлен: 2018-03-01 00:00:00

Имя: Павел 🖉
WinPE от Windows 7 не поддерживает большинство драйверов для современных сетевых карт, следовательно, не удается примонтировать сетевой диск.

выход — переделать WinPE (boot.wim), я это сделал с помощью нового Windows Kit (Win 10) (все по аналогии с гайдом автора)

Комментарий оставлен: 2018-03-02 00:00:00

Имя: Orcinus Orca 🖉
Павел, интересное решение.

Комментарий оставлен: 2018-03-11 00:00:00

Имя: imarek 🖉
У вас при формировании BCD вначале путь ootoot.sdi затем Bootwinpe.wim
Я долго мучался с tftp на ubuntu, где, как известно регистр значение имеет.
Еще проблема возникла — при старте WinPE (я взял ее от Windows 10 из-за драйверов) долго инициализируется сеть — около 10 секунд, поэтому команда net use выдает ошибку.
В startnet.cmd никаким способом не удалось всавить задержку или ping с обработкой ошибки.
Может кто сталкивался или идеи есть?

Комментарий оставлен: 2018-04-26 00:00:00

Имя: Orcinus Orca 🖉
imarek, при подготовке файлов необходимо было строго следовать инструкции, в исходниках именно такие регистры и должны использоваться.

Комментарий оставлен: 2018-04-27 00:00:00

Имя: Orcinus Orca 🖉
Алексей, всё зависит от того какой тип системы вы хотите использовать, лично я использую:
ioscom32elflinkldlinuxldlinux.c32
ioscom32liblibcom32.c32
ioscom32libutillibutil.c32
ioscorepxelinux.0
ioscom32menuvesamenu.c32

Комментарий оставлен: 2018-10-12 00:00:00

Имя: Orcinus Orca 🖉
user, десятка не запускается с помощью такой вот системы. Она хочет запущенную винду 32 или 64 разряда.

Комментарий оставлен: 2019-11-05 00:00:00

Имя: Евгений 🖉
Один символ в статье не отображается. Возможно из-за нестандартного шрифта. Например, вот здесь «? ootmgr.exe WindowsBootPXE? Ootmgr.exe» логично предположить неспособную отобразится букву «b» или «B». Соответственно регистр неизвестен, если он где-то влияет.

Комментарий оставлен: 2021-01-23 23:41:20

Ответ:
Спасибо за замечание. Косяк переезда сайта с ASP на PHP. В течение недели восстановлю правильные символы.

Ответ оставлен: 2021-01-26 19:01:39

Имя: Евгений 🖉
самое неприятное, что содержимое для файла «createbcd.cmd» у Вас на сайте выглядит вот так:
bcdedit -createstore %1BCD
bcdedit -store %1BCD -create {ramdiskoptions} /d «Ramdisk options»
bcdedit -store %1BCD -set {ramdiskoptions} ramdisksdidevice boot
bcdedit -store %1BCD -set {ramdiskoptions} ramdisksdipath ootoot.sdi
for /F «tokens=2 delims={}» %%i in (‘bcdedit -store %1BCD -create /d «WWW.ORCINUS.RU Boot Image» /application osloader’) do set guid={%%i}
bcdedit -store %1BCD -set %guid% systemroot Windows
bcdedit -store %1BCD -set %guid% detecthal Yes
bcdedit -store %1BCD -set %guid% winpe Yes
bcdedit -store %1BCD -set %guid% osdevice ramdisk=[boot]Bootwinpe.wim,{ramdiskoptions}
bcdedit -store %1BCD -set %guid% device ramdisk=[boot]Bootwinpe.wim,{ramdiskoptions}
bcdedit -store %1BCD -create {bootmgr} /d «Windows BootManager»
bcdedit -store %1BCD -set {bootmgr} timeout 1
bcdedit -store %1BCD -set {bootmgr} displayorder %guid%

Комментарий оставлен: 2021-01-24 03:25:03

Ответ:
Косяк переезда сайта с ASP на PHP. В течение недели восстановлю правильные символы.

Ответ оставлен: 2021-01-26 19:01:06

Имя: Orcinus Orca 🖉
Всё исправил.

Комментарий оставлен: 2021-01-27 10:59:17


Этот сайт использует файлы cookies, чтобы упростить вашу навигацию по сайту,
предлагать только интересную информацию и упростить заполнение форм. Я
предполагаю, что, если вы продолжаете использовать мой сайт, то вы согласны с
использованием мной файлов cookies. Вы в любое время можете удалить и/или
запретить их использование изменив настройки своего интернет-браузера.

Сообщайте мне о замеченных ошибках на:
web@orcinus.ru.
Все пожелания и советы будут учтены при дальнейшем проектировании сайта.
Я готов сотрудничать со всеми желающими.
В некоторых случаях, мнение автора может не совпадать с мнением автора!
Phone: +7-902-924-70-49.

Top.Mail.Ru

Top.Mail.Ru

LiveInternet

Rambler's Top100

Яндекс.Метрика

In this article, we will look at how to deploy Windows 10 or 11 over the network without using local installation media (USB flash drive, DVD, ISO image) and without USB ports. We will use a small portable Tiny PXE Server to boot a computer over the network via PXE. This guide will help you to deploy Windows on devices both with UEFI and BIOS firmware.

Contents:

  • Creating a Windows PE Boot Image Using ADK
  • How to Configure a TinyPXE Network Installation Server?
  • Using PXE Server to Install Windows 10 or 11 Over the Network

We will need:

  • An installation Windows 10 or 11 ISO image (it is easier to create it using Windows Media Creation Tool according to the post: https://woshub.com/how-to-create-uefi-bootable-usb-drive-to-install-windows-7/);
  • A Windows PE image — you can use your own WinPE image, extract it from an MS DART recovery image, get an original WinPE using Windows Assessment and Deployment Kit (Windows ADK), or use a pre-built image like Hiren’s BootCD PE;
  • A Tiny PXE Server (http://reboot.pro/files/file/303-tiny-pxe-server/).

In corporate networks, Windows Deployment Services (WDS) or Microsoft Deployment Toolkit (MDT) with more features are used to deploy Windows images to user computers over a network. In this article, we’ll show how to quickly start a PXE server on any computer (no matter if it is running Windows or Linux) and use it to deploy Windows OS on the computers in the same LAN using simple tools.

Creating a Windows PE Boot Image Using ADK

Download Windows ADK for Windows 11 and Windows PE add-on for the Windows ADK following the links at https://docs.microsoft.com/en-us/windows-hardware/get-started/adk-install.

download adk for windows 11

When installing the Windows AD, select the Deployment Tools only.

install deployment tools from windows adk

Then install the Windows PE add-on for Windows ADK in the same way.

install Windows Preinstallation Envirinment in ADK

After the installation is over, run the Deployment and Imaging Tool from the Windows Start menu. Or use the command:

"C:Program Files (x86)Windows Kits10Assessment and Deployment KitDeployment ToolsDandISetEnv.bat"

run Deployment and Imaging Tool command prompt

Then copy files for WinPE to your target folder:

copype amd64 C:toolswinpe

In this case, I’m creating environment files for WinPE x64. You can use other options depending on your architecture: x86, arm, or arm64.

copy winpe environment files

Then generate a bootable WinPE ISO image:

MakeWinPEMedia /ISO C:toolswinpe c:toolsWinPE.iso

generate WimPE image with ADK -> MakeWinPEMedia

How to Configure a TinyPXE Network Installation Server?

Then configure your PXE server:

  1. Extract pxesrv.zip to C:toolspxesrv;
  2. Go to C:toolspxesrv and create a text file pxe_menu.txt with the following contents:
    #!ipxe
    set boot-url http://${dhcp-server}
    #================ Main Menu =================
    menu iPXE boot menu
    item WinPEISO WindowsPE ISO
    choose target && goto ${target}
    #============ Main Menu Options =============
    :WinPEISO
    sanboot ${boot-url}/iso/WinPE.iso
    boot

    pxe server config file fow WinPE

  3. Copy the WinPE.iso file you got earlier to C:toolspxesrvfilesiso;
  4. Mount the Windows install ISO image to your virtual drive Windows and share it on the network (if you want, you may allow anonymous access to it, but it is optional);
    share windows install image over a network
  5. Run pxesrv.exe as administrator;
  6. Enable the HTTPd option;
  7. If you want your computer to assign IP addresses on the local network via DHCP (Tiny PXE can do this), disable the ProxyDHCP option. Make sure that the IP address of your computer is specified in the Option 54 DHCP Server and Next-Server fields. The IP Pool start field shows the beginning of the DHCP range, so make sure that the range is not busy in your network;
  8. In the Boot File section, specify ipxe.pxe (for BIOS devices) or ipxe-x86_64.efi (for UEFI devices);
  9. In the Filename if user-class=gPXE or IPXE field, enter the name of the menu file you created earlier: pxe_menu.txt;
  10. Start your PXE server by clicking Online.
    configure and start tinypxe server on windows 10

So, your PXE server is up and running. If a firewall is enabled in Windows, disable it or allow inbound traffic for pxesrv.exe over DHCP, PXE, HTTP, TFTPS, and SMB protocols.

Using PXE Server to Install Windows 10 or 11 Over the Network

Then you must boot the computer on which you want to install Windows from a PXE server. The computer must be in the same local network (VLAN) as the PXE server host.

Select PXE as a primary boot device in BIOS/UEFI settings of the computer.

boot computer over a network with pxe boot in bios/uefi

After running PXE, the computer will find the DHCP server in the network, get an IP address and available options in the iPXE menu.

Run Windows PE from PXE boot

The computer will boot over the network in the WinPE environment.

When I tested booting from a PXE server on a VMWare virtual machine with UEFI, an error appeared:

Could not describe SAN devices: Operation not supported
Could not boot image: Operation not supported https://ipxe.org/err/3c2220

As it turned out, there was a bug in the virtual machine UEFI firmware on my VMware ESXi host:

This error indicates that your UEFI firmware has a bug that prevents the installation of the iSCSI boot firmware table (iBFT). Switch to booting in “legacy” BIOS mode rather than UEFI mode.

I had to switch the VM to BIOS mode and start the PXE server with the ipxe.pxe option. Then the Windows is normally deployed over the network.

Now you need to map a shared folder with your Windows 11 ISO image using the SMB protocol.

Initialize the environment using the wpeinit command and mount the shared folder with Windows installation files:

Net use E: \192.168.103.202E

(192.168.103.202 is the name of the computer the installation image is located on, and E is the name of the shared folder).
Enter the user credentials that are allowed to access the Windows host with the PXE server.
wpeninit mount source windows installation folder

Run Windows Setup with the setup.exe command.

install windows 10/11 over a network via pxe boot

title description ms.prod ms.localizationpriority author manager ms.author ms.topic ms.custom ms.date ms.technology

Configure a PXE server to load Windows PE (Windows 10)

This article describes how to configure a PXE server to load Windows PE so that it can be used with an image file to install Windows 10 from the network.

windows-client

medium

frankroj

aaroncz

frankroj

article

seo-marvel-apr2020

11/23/2022

itpro-deploy

Configure a PXE server to load Windows PE

Applies to:

  • Windows 10

This walkthrough describes how to configure a PXE server to load Windows PE by booting a client computer from the network. Using the Windows PE tools and a Windows 10 image file, you can install Windows 10 from the network.

Prerequisites

  • A deployment computer: A computer with the Windows Assessment and Deployment Kit (Windows ADK) and the Windows PE add-on with ADK installed.
  • A DHCP server: A DHCP server or DHCP proxy configured to respond to PXE client requests is required.
  • A PXE server: A server running the TFTP service that can host Windows PE boot files that the client will download.
  • A file server: A server hosting a network file share.

All four of the roles specified above can be hosted on the same computer or each can be on a separate computer.

Step 1: Copy Windows PE source files

  1. On the deployment computer, select Start, and type deployment.

  2. Right-click Deployment and Imaging Tools Environment and then select Run as administrator. The Deployment and Imaging Tools Environment shortcut opens a Command Prompt window and automatically sets environment variables to point to all the necessary tools.

  3. Run the following command to copy the base Windows PE files into a new folder. The script requires two arguments: hardware architecture and destination location. The value of <architecture> can be x86, amd64, or arm and <destination> is a path to a local directory. If the directory doesn’t already exist, it will be created.

    copype.cmd <architecture> <destination>

    For example, the following command copies amd64 architecture files to the C:winpe_amd64 directory:

    copype.cmd amd64 C:winpe_amd64

    The script creates the destination directory structure and copies all the necessary files for that architecture. In the previous example, the following directories are created:

    C:winpe_amd64
    C:winpe_amd64fwfiles
    C:winpe_amd64media
    C:winpe_amd64mount
  4. Mount the base Windows PE image (winpe.wim) to the mount directory using the DISM tool. Mounting an image file unpacks the file contents into a folder so that you can make changes directly or by using tools such as DISM. See the following example.

    dism.exe /mount-image /imagefile:c:winpe_amd64mediasourcesboot.wim /index:1 /mountdir:C:winpe_amd64mount

    Verify that the message The operation completed successfully is displayed.

    [!NOTE]
    To view currently mounted images, enter dism.exe /get-MountedWiminfo.

  5. Map a network share to the root TFTP directory on the PXE/TFTP server and create a Boot folder. Consult your TFTP server documentation to determine the root TFTP server directory, then enable sharing for this directory, and verify it can be accessed on the network. In the following example, the PXE server name is PXE-1 and the TFTP root directory is shared using a network path of \PXE-1TFTPRoot:

    net.exe use y: \PXE-1TFTPRoot
    y:
    md Boot
  6. Copy the PXE boot files from the mounted directory to the boot folder. For example:

    copy c:winpe_amd64mountwindowsbootpxe*.* y:Boot
  7. Copy the boot.sdi file to the PXE/TFTP server.

    copy C:winpe_amd64mediabootboot.sdi y:Boot
  8. Copy the bootable Windows PE image (boot.wim) to the boot folder.

    copy C:winpe_amd64mediasourcesboot.wim y:Boot
  9. (Optional) Copy TrueType fonts to the boot folder

    copy C:winpe_amd64mediaBootFonts y:BootFonts

Step 2: Configure boot settings and copy the BCD file

  1. Create a BCD store using bcdedit.exe:

    bcdedit.exe /createstore c:BCD
  2. Configure RAMDISK settings:

    bcdedit.exe /store c:BCD /create {ramdiskoptions} /d "Ramdisk options"
    bcdedit.exe /store c:BCD /set {ramdiskoptions} ramdisksdidevice boot
    bcdedit.exe /store c:BCD /set {ramdiskoptions} ramdisksdipath Bootboot.sdi
    bcdedit.exe /store c:BCD /create /d "winpe boot image" /application osloader

    The last command will return a GUID, for example:

    The entry {a4f89c62-2142-11e6-80b6-00155da04110} was successfully created. 

    Copy this GUID for use in the next set of commands. In each command shown, replace «GUID1» with your GUID.

  3. Create a new boot application entry for the Windows PE image:

    bcdedit.exe /store c:BCD /set {GUID1} device ramdisk=[boot]Bootboot.wim,{ramdiskoptions} 
    bcdedit.exe /store c:BCD /set {GUID1} path windowssystem32winload.exe 
    bcdedit.exe /store c:BCD /set {GUID1} osdevice ramdisk=[boot]Bootboot.wim,{ramdiskoptions} 
    bcdedit.exe /store c:BCD /set {GUID1} systemroot windows
    bcdedit.exe /store c:BCD /set {GUID1} detecthal Yes
    bcdedit.exe /store c:BCD /set {GUID1} winpe Yes
  4. Configure BOOTMGR settings (remember to replace GUID1 in the third command with your GUID):

    bcdedit.exe /store c:BCD /create {bootmgr} /d "boot manager"
    bcdedit.exe /store c:BCD /set {bootmgr} timeout 30 
    bcdedit.exe /store c:BCD -displayorder {GUID1} -addlast
  5. Copy the BCD file to your TFTP server:

    copy c:BCD \PXE-1TFTPRootBootBCD

Your PXE/TFTP server is now configured. You can view the BCD settings that have been configured using the command bcdedit.exe /store <BCD file location> /enum all. See the following example. Note: Your GUID will be different than the one shown below.

C:>bcdedit.exe /store C:BCD /enum all
Windows Boot Manager
--------------------
identifier              {bootmgr}
description             boot manager
displayorder            {a4f89c62-2142-11e6-80b6-00155da04110}
timeout                 30

Windows Boot Loader
-------------------
identifier              {a4f89c62-2142-11e6-80b6-00155da04110}
device                  ramdisk=[boot]Bootboot.wim,{ramdiskoptions}
description             winpe boot image
osdevice                ramdisk=[boot]Bootboot.wim,{ramdiskoptions}
systemroot              Windows
detecthal               Yes
winpe                   Yes

Setup Ramdisk Options
---------------------
identifier              {ramdiskoptions}
description             ramdisk options
ramdisksdidevice        boot
ramdisksdipath          Bootboot.sdi

[!TIP]
If you start the PXE boot process, but receive the error The boot configuration data for your PC is missing or contains error, then verify that boot directory is installed under the correct TFTP server root directory. In the example used here the name of this directory is TFTPRoot, but your TFTP server might be different.

PXE boot process summary

The following process summarizes the PXE client boot.

[!NOTE]
The following assumes that the client and PXE server are on the same network/subnet/vlan or that PXE requests have been appropriately forwarded from the client to the PXE server using IP helpers configured in the router or switch. For more information about IP helpers, see Configuring Your Router to Forward Broadcasts.

  1. A client contacts the PXE server. When the client is on a different network/subnet/vlan as the PXE server, the client is routed to the PXE server using the IP helpers.

  2. The PXE server sends DHCP options 060 (client identifier PXEClient), 066 (boot server host name) and 067 (boot file name) to the client.

  3. The client downloads bootPXEboot.n12 from the TFTP server based on DHCP option 067 boot file name value received from the PXE server.

  4. PXEboot.n12 immediately begins a network boot.

  5. The client downloads bootbootmgr.exe and the bootBCD file from the TFTP server.

    [!NOTE]
    The BCD store must reside in the boot directory on the TFTP server and must be named BCD.

  6. Bootmgr.exe reads the BCD operating system entries and downloads bootboot.sdi and the Windows PE image (bootboot.wim). Optional files that can also be downloaded include TrueType fonts (bootFontswgl4_boot.ttf) and the hibernation state file (hiberfil.sys) if these files are present.

  7. Bootmgr.exe starts Windows PE by calling winload.exe within the Windows PE image.

  8. Windows PE loads, a command prompt opens and wpeinit.exe is run to initialize Windows PE.

  9. The Windows PE client provides access to tools like imagex.exe, diskpart.exe, and bcdboot.exe using the Windows PE command prompt. With the help of these tools accompanied by a Windows 10 image file, the destination computer can be formatted properly to load a full Windows 10 operating system.

Related articles

Windows PE Walkthroughs

Настройка PXE роли на SCCM сервере для сетевой установки Windows

Функционал PXE (Preboot Execution Environment) в современных компьютерах позволяет выполнить сетевую установку операционной системы без применения каких-либо носителей. В SCCM его настройка происходит в окне свойств роли точки распространения (в контекстном меню вам нужно выбрать пункт Properties) и установить флажки:

  • Enable PXE support for client;
  • Allow this distribution point to respond to incoming PXE request;
  • Enable unknown computer support;
  • Require a password when computers use PXE.

Также желательно выбрать из выпадающего списка Allow user device affinity with automatic approval.

После включения этих настроек на сервере будет установлена роль Windows Deployment Services, интегрированная с SCCM.

настройка параметров pxe в sccm

Подготовка к установке по сети.

Кстати, в такую же ситуацию же ситуацию периодически попадают сетевые администраторы. Только представьте, бедному программеру необходимо установить винду на 20 машин, а под рукой имеется только один привод. И конечно же, у нас будет ограниченный запас времени.

Установка Windows по сети требует тщательной подготовки. Для начала, вам необходимо подготовить к работе нормально работающий компьютер с предустановленной ОС семейства Windows, патч-корд (или сетевой кабель, о котором все вечно забывают), набор Windows AIK для автоматической установки, программный эмулятор серверов DHCP и TFTP (можно использовать tftpd32). Для того, чтобы установка Windows по сети стартовала успешно, потребуется дистрибутив самой системы, а так же приложение для работы с ISO-файлами.

Следующий этап – подготовка эталонного образа с Windows 10, который будет устанавливаться на другие компьютеры. Проще всего взять типовой компьютер, установить на него Windows 10. Установите последние обновления безопасности, отключите ненужные службы, удалите встроенные приложения, установите драйвера. Настройте Windows 10 в соответствии со своими требованиями. Это компьютер не нужно вводить в домен AD.

Как удаленно установить Windows

Чтобы переустановить Windows удаленно, нам потребуется собственно винда в виде ISO-образа, программы WinNTSetup и Bootice, удаленное подключение, права админа и прямые руки.

Образ можно скачать с сайта Microsoft, но я вместо этого зашел на известный русский торрент-трекер и скачал оттуда актуальную сборку Windows 10 2004 с вырезанным хламом.

Если совесть позволяет, скачать образ можно прямо на компьютер клиента. Но можно несколько уменьшить объем загрузки и заодно кастомизировать сборку, вытащив из ISO-образа всего один файл — install.wim/install.esd, находящийся в папке sources в корне образа (при желании можно его заодно поправить). Для установки, кроме него, ничего не нужно. Файл может иметь немного другие имена, но спутать его не с чем — размер переваливает за гигабайт и занимает большую часть образа. Форматы WIM и ESD — это просто разные версии формата. Подробнее об этом безобразии уже написано».

К удаленному соединению особых требований не предъявляется — оно должно только поддерживать графику, то есть Telnet и ему подобные пережитки прошлого тут не годятся. И конечно, на целевой машине должны быть доступны права администратора. Хотя даже в 2020 году юзеры так и не научились пользоваться компом без прав админа, так что по этому поводу особо не волнуйся.

Как ты понял, суть этого метода в том, что мы не выходим из установленной системы вплоть до перезагрузки в уже установленную новую. Это может быть единственным вариантом в случае переустановки системы на VPS, когда физически прийти и переустановить попросту невозможно, а потеря удаленного доступа приведет к потере самого сервера. Собственно, метод был придуман и реализован для переустановки винды на сервере, к панели которого был утрачен доступ.

За основу была взята программа WinNTSetup 4. Ее задача — развернуть систему из образов WIM/ESD в обход штатного установщика и WinPE. Естественно, кроме простого применения образа, программа умеет твикать устанавливаемую систему и имеет множество настроек. В общем, для нормального сисадмина или «тыжпрограммиста» эта утилита обязательна к скачиванию.

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

Удаленно переустановить Windows

Еще нам потребуется Bootice — крайне полезная программа для работы с загрузчиками, которая, среди прочего, поддерживает редактирование BCD (Boot Configuration Data). Нам она понадобится, чтобы заставить загрузчик винды грузить нашу свежеустановленную систему вместо существующей.

Удаленно переустановить Windows. Bootice

Нам важно не потерять удаленный доступ после переустановки, ведь новую систему надо еще настроить. Поскольку изначально процедура нужна была на VPS, в качестве удаленного доступа использовался RDP, под который я и делал этот метод. Если ты используешь другое средство, я расскажу, как быть с ним, позже. В случае же с RDP сохранение доступа обеспечивается редактированием реестра после установки, пусть и автоматическим.

Любое вмешательство в загрузочный код, в том числе переустановка ОС (а особенно переустановка нештатным способом), может привести к трудно восстановимому «кирпичу». Все описанное делай, только когда создашь копию данных или если умеешь их восстанавливать!

Создаем загрузочный образ для захвата эталонного образа Windows 10

По умолчанию SCCM содержит образы Windows PE (среда предустановки Windows, это загрузочные файлы Boot image x86.wim и Boot image x64.wim), которые необходимы для настройки операционной системы во время “захвата”.

Сначала нужно добавить образ Boot image x64.wim в вашу точку распространения SCCM. Для этого зайдите в Software Library-> Operation System-> Boot Images, в контекстном меню выберите пункт Distribute Content, затем точку распространения и ОК. Цветовой окрас состояния сменится с серого на жёлтый, а по окончанию – на зелёный.

добавление загрузочного образа в sccm для сетевой установки

Теперь нужно создать иметь загрузочные файлы для “захвата” эталонной операционной системы по сети. Для их создания перейдите в Software Library-> Operation System -> Task Sequences и в контекстном меню выберите Create Task Sequence Media. В появившемся окне предлагается 4 варианта создания образа:

  • Stand-alone media — создание автономного образа для установки ОС (локальная установка, без использования сетевой загрузки);
  • Bootable media – создание загрузочного образа, для распространения которого используя инфраструктура центра конфигураций;
  • Capture media – создание загрузочного образа для захвата эталонного образа компьютера;
  • Prestaged media – создание предварительного образа для нового жёсткого диска, который включает образ операционной системы. Используется для старых карт, не поддерживающих PXE загрузку.

создать образ для захвата установленной windows 10 (Capture media )

Выберите пункт Capture media, следуйте подсказкам мастера установки. Укажите место сохранения iso-файла, выберите Boot image x64.wim и точку распространения, Next->Next->Close. Процесс длится около 1 минуты.

Далее созданный полученный образ для захвата ОС нужно подключить и запустить на подготовленном ПК (файл LaunchMedia.cmd). Укажите место сохранения полученного образа Windows 10.

LaunchMedia.cmd - захват эталонного образа

Весь процесс захвата длится примерно 40 минут. По окончании получаете эталонный wim-образ размером примерно 4.5 Гб, который нужно скопировать на сервер SCCM. Далее вам необходимо его добавить в точку распространения. Для этого заходите в Software Library -> Operation Systems -> Operation System Images, в контекстном меню выберите пункт Add Operation System Images, в мастере настроек укажите UNC путь к месту хранения созданного wim-файла с эталонным образом.

добавить захваченный wim образ windows 10 в sccm

В контекстном меню выберите Distribute Content для копирования образа на вашу SCCM Distribution Point.

Что будем реализовывать?

Началось все с необходимости иметь под рукой инструмент для удаленной установки Ubuntu/Debian Server по сети, с возможностью загрузки Live CD маленькой системы, вроде SliTaz или Kolibri OS. Как говорится, аппетит приходит во время еды: намеченное не успели реализовать, а к плану добавился еще ряд «хотелок». В итоге список получился весьма внушительным.

  1. Тонкие клиенты на базе Thinstation Linux.
  2. Раздел Linux. Установка Ubuntu 14.04 x86.
  3. Установка Ubuntu 14.04 x64.
  4. Установка Ubuntu 12.04 x86.
  5. Установка Ubuntu 12.04 x64.
  6. Загрузка SliTaz Live CD.
  • Раздел Windows.
      Установка Windows 2012.
  • Установка Windows 7.
  • Acronis.
      Windows PE с пакетом полезного ПО.
  • Acronis True Image. Legacy BIOS.
  • UEFI.
  • Acronis Disk Director.
      Legacy BIOS.
  • UEFI.
  • Касперский Rescue v 10.
  • ERD Commander от 5 до 8 через ISO-образ.
  • Memtest.
  • Создаем последовательность задач (Task Sequence) для сетевой установки Windows

    Последовательность задач SCCM (task sequence) обеспечивает пошаговое выполнение команд и действий по установке ОС, ПО, драйверов, обновлений. Для её создания зайдите в Software Library -> Operation System -> Task Sequences и в контекстном меню выберите Create Task Sequence. В появившемся окне мастер предлагает несколько вариантов:

    • Install an existing image package –создание очереди задач для имеющегося wim образа;
    • Build and capture a reference operating system image –захват эталонного образа;
    • Create a new custom task sequence – создание нового пустого задания (настройка выполняется вручную). Отсутствует очередь задач по умолчанию.

    Так как эталонный образ wim образ у вас уже есть, выберите первый пункт. Далее мастер предлагает поэтапно произвести большое количество настроек, но можете указать только минимально необходимые параметры:

    настройка task sequence sccm для установки образа по сети

    1. Укажите название задачи и выберите загрузочный PXE образ Boot image x64.wim;
    2. Выберите созданный ранее эталонный образ Windows 10;
    3. Установите пароль локального администратора (можно автоматически сменить пароль после добавления компьютера в домен с помощью LAPS);
    4. Настройте параметры автоматического присоединения в домен AD, выбрав домен и OU, в которую нужно поместить новый компьютер;
    5. Выберите пользователя, под которым будет осуществляться добавление в домен;
    6. На шаге State Migration убрать все флажки (Capture user settings and files, Capture network settings, Capture Microsoft Windows settings).

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

    параметры разбивки дисков в task sequence

    В дереве справа указан список действий, которые автоматически будут выполнены с компьютером при установке Windows 10 по сети. На 2 и 3 шаге указываются параметры разбиения дисков на разделы. На шаге 2 вы можете удалить все разделы жёсткого диска, созданные по умолчанию, если вы их не используете для восстановления Windows. Далее создаёте новый раздел, называете “C:”, выбираете тип Primary, устанавливаете фиксированный размер 50 Гб (или другой объём), выбрав опцию Use specific size. Выберите что диск нужно отформатировать в файловой системе NTFS (флажок Quick format).

    настройка разделов диска при сетевой установке Windows 10

    Далее создаёте второй диск, называете “D”, выбираете тип Primary. Чтобы он занял все оставшееся неразмеченное пространство выберите опцию Use a percentage of remaining free space, выберите значение 100, файловую систему NTFS и флажок Quick format.

    Таким образом у вас будет создан диск С: с фиксированным размером, а всё оставшееся место уйдёт диску D: (если объём жёсткого диска большой, то можно разбить его на большее количество разделов), которые будут отформатированы автоматически.

    3й шаг в нашем примере удаляется, т.к. у нас компьютеры с BIOS. Для компьютеров с UEFI – нужно настраивать дисковые разделы именно в 3 пункте.

    На следующем шаге – Apply Operating System – нужно выбрать раздел для установки операционной системы. Проверяете наличие эталонного образа, а внизу окна выбираете установку Windows на:

    • Specific disk and partition — конкретный номер диска и номер раздела;
    • Specific logical drive letter – указанный логический диск;
    • Logical drive letter stored in a variable —

    Например, будет второй пункт и диск С: .

    выбор диска для установки windows

    Остальные шаги проверяете на отсутствие ошибок. На шаге Apply Windows Settings нужно указать лицензионный ключ (можно указать ключ KMS активации), пароль администратора и часовой пояс. Корректировка доменных (сетевых) настроек происходит в Apply Network Settings, а Apply Device Drivers позволяет добавить драйвера в установку.

    Далее новое задание нужно опубликовать. Для этого в контекстном меню выберите пункт Deploy, на первом шаге мастера выбираете коллекцию устройств All Unknown Computers, на 2м шаге параметру Purpose присваиваете значение Available (Available – доступно для выбора, Required – принудительная установка), в параметре Make available to the following выберите Configuration manager clients, media and PXE, остальные шаги можно оставить по умолчанию.

    сетевай установки windows 10 через pxe по требованию

    В SCCM коллекцию All Unknown Computers попадают все компьютеры, о которых в SCCM нет никакой информации. Такими ПК могут быть новые или не подключенные к домену.

    На этом основные действия по подготовке эталонного образа и настройке SCCM завершены.

    Собираем все в кучу и взлетаем

    В качестве дистрибутива для сервера выбор пал на Ubuntu Server 14.04.2 LTS. Можно остановиться на любой другой ОС, разница будет только в синтаксисе. Итак, приступим. Нам потребуется TFTP, DHCP (необязательно установленный на этом же сервере, в роли DHCP-сервера может выступить роутер), сервис для организации сетевой файловой системы NFS. Рассматривать будем только те настройки, которые нас интересуют в рамках темы. Первым делом установим все необходимое, предварительно сделав все обновления:

    $ sudo apt-get update && sudo apt-get upgrade -y $ sudo apt-get install tftp-hpa nfs-common openbsd-inetd isc-dhcp-server -y

    Параметр -y означает, что на все вопросы отвечаем согласием. Настройка TFTP сводится к правке пары строк в соответствующем месте:

    # nano /etc/default/tftpd-hpa # /etc/default/tftpd-hpa TFTP_USERNAME=»tftp» TFTP_DIRECTORY=»/var/lib/tftpboot» TFTP_ADDRESS=»0.0.0.0:69″ TFTP_OPTIONS=»—secure»

    Обрати внимание, параметр TFTP_DIRECTORY=»/var/lib/tftpboot» указывает место расположения корневого каталога TFTP-сервера. После сохранения перезапускаем удобным для себя способом:

    $ sudo service tftpd-hpa restart $ sudo /etc/init.d/tftp-hpa restart

    Далее настроим DHCP-сервер. Приведу простую конфигурацию файла /etc/dhcp/dhcpd.conf:

    subnet 192.168.0.0 netmask 255.255.255.0 { range dynamic-bootp 192.168.0.150 192.168.0.200; option broadcast-address 192.168.0.255; option domain-name-servers 192.168.0.2, 192.168.0.5; option routers 192.168.0.1; next-server 192.168.0.10; allow booting; allow bootp; class «pxeclients» { match if substring (option vendor-class-identifier, 0, 9) = «PXEClient»; filename «pxelinux.0»; next-server 192.168.0.10; } }

    Данная конфигурация говорит о том, что DHCP-сервер работает в локальной сети 192.168.0.0/24. Клиенту присваиваются адреса из диапазона 192.168.0.150–192.168.0.200, им будут присвоены параметры шлюза — 192.168.0.1, DNS-сервера — 192.168.0.2 и 192.168.0.5. Класс pxeclients, а именно параметр filename — это имя файла загрузчика, расположенного в корневой папке TFTP-сервера, в нашем случае /var/lib/tftpboot/pxelinux.0, на сервере с адресом 192.168.0.10.

    Добавление драйверов в загрузочный образ Windows

    Рассмотренных выше действий будет достаточно для автоматической установки Windows 10 на новые современные миниатюрные системные блоки или моноблоки. В случае с классическими системниками и внешними сетевыми картами загрузка по сети может не заработать. В этом случае необходимо в загрузочный образ добавить драйвера для используемых моделей сетевых адаперов.

    Для добавления драйвера в базу сайта SCCM перейдите в Software Library -> Operation Systems -> Drivers и в контекстном меню выберите Import Driver. Далее мастер поможет заполнить необходимые поля. Нужно UNC путь к каталогу с драйвером и установить для параметра Specify the option for duplicate drivers значение Do not import the driver.

    список сетевых драйверов в sccm

    Затем нужно зайти в свойства загрузочного образа Boot image x64.wim и на вкладке Drivers добавить драйвера.

    Настройка TFTP-сервера

    Следующим шагом мы настраиваем TFTP-сервер. Хотя, что там настраивать? Устанавливаем программу Tftpd64 и в ней указываем каталог в котором располагаются файлы для нашего проекта. Допустим, что корень TFTP-сервера расположен по адресу D:TFTP

    . Для усиления системы безопасности я не рекомендую располагать данные публичного характера на системном диске.

    Tftpd64 настройка сервера.

    Настройка PXE на компьютерах

    На компьютерах, которые вы хотите деплоить по сети нужно включить в BIOS поддержку сетевой загрузки. У разных производителей материнских плат такие настройки будут находится в разных местах и называться по-разному. Скорее всего в названии параметра сетевой загрузки должно быть что-то вроде PXE Boot, Network Boot, Network Card.

    Например, активация PXE в UEFI моделях HP Pro 3520 и HP Pro 6300 происходит в разделе Security -> Network Boot установкой параметра Enable.

    Теперь для старта всё готово. При начальной загрузке ПК происходит определение его параметров (POST). Затем DHCP сервер назначает IP-адрес сетевой карте. Для начала сетевой установки ОС в течение 5 секунд нужно нажать клавишу F12 (означает PXE-подключение), после чего SCCM копирует на ПК загрузочные файлы (в моделях HP нужно нажимать на F9, возможно дополнительно ещё выбрать пункт Network Controller для загрузки по сети).

    Далее появляется окно для выбора задачи, после чего начинается поэтапное развёртывание операционной системы, то есть выполнение тех действий, которые указаны в вашем Task Sequence. Ход установки отслеживается при помощи индикатора. Примерно за 20 минут ваш эталонный образ Windows 10 будет установлен на новый ПК и компьютер введен в домен. Если одновременно запустить сетевую установка Windows с SCCM на 10-20 компьютерах, время установки может немного увеличиться.

    идет сетевая установка windows 10 через task sequence sccm

    По окончанию установки ОС компьютеру по умолчанию присваивается имя MININT-<7символов>, например, MININT-5EFG9DR. Это можно увидеть в консоли SCCM в разделе Assets and Compliance -> Devices. Вы можете изменить имя компьютера на более запоминающееся, например, BUH-OLGA. Для этого нужно зайти в Свойства компьютера -> Изменить параметры -> Изменить, указать новое имя компьютера и перезагрузить ПК. Вскоре изменения отобразятся как в DNS, так и в SCCM.

    список развернутых компьютеров с win 10 в консоли sccm

    Тонкие клиенты / Thinstation Linux

    Загрузка Thinstation Linux

    Установка приложений на новый компьютер с помощью SCCM

    Следующие этап установка на новый компьютер необходимых приложений. Программы можно устанавливать в виде пакета (Package) или как приложение (Application). Приложения – программы, имеющие установочные файлы с расширениями msi, appx, xap, ipa, apk и прочее. У Application возможностей больше, плюс пользователи тоже могут принимать участие в работе. Package – это специальный контейнер (обёртка), который может включать в себя несколько файлов (дистрибутивов). Используются exe-, vbs-, cmd-, cab-файлы и другие. Он проще в настройках.

    Мы не будем подробно описывать особенности развертываний программ в SCCM, т.к. эта получится отдельная большая статья. Для ознакомления вы можете посмотреть пример развертывания Office 2020 с помощью SCCM.

    После создания пакетов установки программ, вы можете добавить из в последовательность задачи развертывания Windows 10 (task sequence)/

    Здесь создаёте группу Software Install, в меню Add -> Software -> Install Package добавьте созданные пакеты программ.

    добавление программ в задание сетевой установки windows 10

    Короткое введение.

    Установка Windows по сети – грозный набор слов, от которых у вас, наверняка, в зобу дыхание сперло. Мы уже успели изучить всевозможные способы установки любой системы семейства Windows, за исключением лишь VISTA. Эта система по вполне понятным причинам не прижилась в нашем мире, но сейчас не об этом.

    Для чего же человечество используется такой метод инсталляции. Установка Windows по сети используется в тех случаях, когда один из компов, по тем или иным причинам, обделен USB-портов, а так же дисководом. То есть в нем нет места для сменного носителя с записанным образом винды. В качестве альтернативы можно выбрать массу методов, к примеру, самый простой – пойти и купить необходимые USB-модули. Но мы пойдем по сложному пути, будем переустанавливать винду по локальной сети.

    Установка Windows по сети

    При такой установке соблюдается довольно сложный принцип работы компьютера. Сетевая карта становится загрузочным аппаратом, своеобразным жестким диском. Как только на материнскую плату будет подано питание, сетевая карта получит свой личный IP-адрес, так же в работу включится стандарт PXE. IP-ник выдается DHC-сервером, а затем этот адрес передается и TFTP-серверу. Сетевая карта начинает загрузку с TFTP, после чего, на пост заступает специальное сетевое приложение, но об это чуть позже.

    Понравилась статья? Поделить с друзьями:
  • Настройка punto switcher для windows 10
  • Настройка remote desktop gateway windows server 2019
  • Настройка proxy сервера на windows 7
  • Настройка remmina для подключения к windows
  • Настройка ldap windows server 2016 с нуля