В этой статье мы рассмотрим, как установить Windows 10 или 11 по сети без использования загрузочной USB флешки (установочного DVD диска). Для загрузки компьютера по сети через PXE мы будем использовать небольшой Tiny PXE Server. Инструкция применима для установки Windows на устройствах как с UEFI, так и с BIOS прошивкой.
Нам понадобятся:
- Установочный 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
Скачайте Windows ADK для Windows 11 и Windows PE add-on for the Windows ADK по ссылкам на странице https://docs.microsoft.com/en-us/windows-hardware/get-started/adk-install .
При установке Windows ADK выберите минимальную установку Deployment Tools.
Затем аналогично установите Windows PE add-on for Windows ADK.
После окончания установки запустите Deployment and Imaging Tool из стартового меню Windows. Или запустите вручную команду:
"C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Deployment Tools\DandISetEnv.bat"
Теперь скопируйте файлы для среды WinPE в указанный каталог (создавать не нужно):
copype amd64 C:\tools\winpe
Теперь можно создать загрузочный ISO образ с WinPE:
MakeWinPEMedia /ISO C:\tools\winpe c:\tools\WinPE.iso
Подготовка сервера сетевой установки TinyPXE
Теперь нужно настроить ваш PXE сервер:
- Распакуйте архив pxesrv.zip в каталог C:\tools\pxesrv;
- Перейдите в каталог C:\tools\pxesrv и создайте текстовый файл 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
- Скопируйте полученный ранее файл WinPE.iso в каталог C:\tools\pxesrv\files\iso;
- Смонтируйте установочный ISO образ в виртуальный привод Windows и откройте общий сетевой доступ к нему (если хотите, можете открыть к нему анонимный доступ, но это не обязательно);
- Запустите файл pxesrv.exe с правами администратора;
- Включите опцию HTTPd;
- Если ваш компьютер сам будет раздавать IP адреса по DHCP (Tiny PXE это умеет), отключите опцию ProxyDHCP. Убедитесь, что в полях Option 54 DHCP Server и Next-Server указан IP адрес вашего компьютера. В поле IP Pool start указано начало диапазона DHCP, убедитесь что этот диапазон не занят в вашей сети;
- В разделе Boot File укажите ipxe.pxe (для загрузки на BIOS устройствах) или ipxe-x86_64.efi (для UEFI устройств);
- В поле Filename if user-class=gPXE or IPXE укажите имя файла меню, который вы создали ранее pxe_menu.txt;
- Запустите PXE сервер, нажав кнопку Online;
Итак, ваш PXE сервер запущен и готов к работе. Если в Windows включен брандмауэр (проще), отключите его или разрешите входящий трафик для процесса pxesrv.exe по протоколам DHCP, PXE, HTTP, TFTPS и SMB.
Сетевая установка Windows 10 и 11 с PXE сервера
Теперь вам нужно загрузить ваш компьютер, на который вы хотите установить Windows, с PXE сервера. Компьютер должен находится в той же локальной сети (VLAN), что и компьютер с PXE сервером.
В настройках BIOS/UEFI компьютера выберите в качестве первичного устройства загрузки PXE.
При запуске среды PXE компьютер обнаружит в сети DHCP сервер, получит IP адрес и получит доступных опции в меню iPXE.
Компьютер загрузится по сети в среде WinPE.
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.202\e
Где
192.168.13.202
– имя компьютера на котором хранится установочный образ, а
E
– название общей папки.
Введите имя пользователя, с правами доступа к вашей Windows с PXE сервером.
Запустите знакомый мастер установки Windows.
Вроде слышал, что компьютер для заливки необязательно должен быть с сервером в одном Vlane. Какие-то две (?) опции DHCP с номерами 60 какие-то, позволяют это обойти.
Да, можно обойдти. Я описывал самый простой случай.
Нужно сделать dhcp relay (ip helper) на рутерах и помоему натсроить опцию 66 dhcp для tftp трафика. Но могу ошибаться в нюансах.
а можно ли автоматизировать\заскриптовать wpeinit, net use, cd и setup.exe, чтобы сетап автоматически запускался?
В образе WinPE в %SYSTEMROOT%\System32 есть файл Startnet.cmd — можно добавить в него команды, коорые вы хотите выполнить автоматически при старте WinPE.
Все делается куда проще если Вы в доменной сети…. =))) А вот как снять образ с установленной машины и растиражировать его по сети? Вот это интересная задача!
Снимаете установленный образ Windows через dism и закидываете полученный wim файл на PXE.
Затем компьютер загружается по сети в WinPE:
ПОдключите сетевую папку с WIM дисков и останется создать на новом диске структуру разделов, применить wim файл и настроить загрузчик.
За основу можно взять статью _https://docs.microsoft.com/en-us/windows-hardware/manufacture/desktop/capture-and-apply-windows-using-a-single-wim?view=windows-11
Либо не мучаться и смотретьв сторону MDT/WDS 🙂
Спасибо.
Касаемо pxe, посмотрите на https://fogproject.org
Позволяет развертывать ОС по сети, грузить livecd etc.
Полагаю было бы корректным сразу указывать, что этот проект исключительно для Linux systems
Поддерживаю, укажите в заголовке статьи.
TinyPXE работает под виндой. В статье этот сценарий как раз и описан.
Евгений имел в виду что fogproject только для linux
Там под капотом всё тот же iPXE — грузит он всё что захочется, в том числе от Win7 до Win11. У меня DaRT он грузит, например, инсталляторы Win 7/10 и WinServer 2016/2019.
Не очень интуитивно, но там можно добавить задания загрузки, т.е. добавили в fog тачку (привязка по MAC), «тыкнули» тачке задачу «поставь мне 2019 сервер», fog разбудит WOL’ом машину и (если приоритет загрузки PXE первый) загрузит инсталлятор, он раскатает на машину ОС.
Единственное что: FOG — это инструмент клонирования (подготовили машину, раскатали ОС, софт, настроили, сделали sysprep — сняли образ и раскатали хоть на несколько сотен систем), всё остальное это типа «дополнительный функционал» — от WDS, foreman, cobbler (и других «раскатывателей ОС по сети») он отличается тем, что «из коробки» собственно самим FOG сложно что-то раскатать по сети.
fogproject не только для linux, но и windows машины можно поднимать, только нужны знание linux,
вот одна статья как это реализовать https://habr.com/ru/post/130987
Статья слишком уж древняя, сам FOG уже совсем другой (и внешне, и внутри) и времена WinXP давным давно прошли. Сойдёт только как иллюстрация, что такой-то человек в 2011 году с помощью FOG клонировал WinXP на машины.
Ну и клонирование != установка, хоть, благодаря sysprep, и близко к этому.
Сделал всё по инструкции. Ничего не работает. К PXE подключается, а дальше ошибки выдает.
Статья на 1 из 10
Привет! После команд
wpeinit
Net use E: \\192.168.13.202\e
На следующим виртуальных хостах ввод команд уже не требует, а сразу запускается установка любого образа смонтированного с тойже буквой.
Удаление C:\tools\pxesrv с последующим пересозданием на картину не влияют
Они где-то сохраняются?
Даже не представляю, где он может сохранится, если по сути и вас другой компьютер загрузился с чистой PE
А это нормально что у меня файл winpe.iso весит 377 Мб?
образ winpe.iso и должен быть небольшим. это урезанный образ Windows, нужный только для загрузки компьютера и инициализации сети.
Про разворачивание образов с помощью Windows Deployment Services (WDS) и Microsoft Deployment Toolkit (MDT) будет статья ?
Не знаю, насколько это уже актуально. Там довольно большая схема по настройке получалась.
привет! выскакивает ошибка
tftp://192.168.0.1/pxe_menu.txt . . . Operation not supported (_http://ipxe.org/3c26083)
из-за нее дальше ничего не продвигается.. уже менял txt расширение на ipxe в надежде что все будет нормально, но не помогло. как можно это исправить??