Как настроить установку windows по сети

В этой статье мы рассмотрим, как установить 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 Kits\10\Assessment and Deployment Kit\Deployment Tools\DandISetEnv.bat"

запуск Deployment and Imaging Tool

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

copype amd64 C:\tools\winpe

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

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

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

MakeWinPEMedia /ISO C:\tools\winpe c:\tools\WinPE.iso

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

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

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

  1. Распакуйте архив pxesrv.zip в каталог C:\tools\pxesrv;
  2. Перейдите в каталог 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

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

  3. Скопируйте полученный ранее файл WinPE.iso в каталог C:\tools\pxesrv\files\iso;
  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.202\e

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

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

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

Время на прочтение
8 мин

Количество просмотров 195K

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

Данными проблемами стали ограничения в наличии одного привода DVD-ROM, одного дня свободного времени, а так же порядка двадцати компьютеров на которые необходимо было установить Windows 7 со всем набором необходимых драйверов, программ etc.
При поиске информации в Google по данному вопросу не нашлось ничего что работало бы без косяков или работало вообще. Но начнем по порядку.

Подготовка образа операционной системы

Для простоты подготовки боевой ОС под основу была взята Oracle VirtualBox последней версии, а так же Windows 7 x64 Профессиональная. Первое что необходимо сделать — установить и настроить Windows 7 на виртуальной машине. Для этого в процессе добавления VM создаем два виртуальных жестких диска. Один для установки и настройки на нем Windows 7, второй для последующего сохранения на него образа настроенной системы. Так же необходимо выполнить установку дополнения гостевой ОС Virtualbox — Virtual Machine Additions и создать общую папку для дальнейшего копирования созданного образа на физическую машину.
После установки на VM всей начинки, переходим к этапу подготовки системы с помощью утилиты sysprep, находящуюся в корне системы нашей VM:

%windir%\system32\sysprep\sysprep.exe 

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

  1. Переход в окно приветствия системы (OOBE) — этот режим будет активирован при следующем запуске системы. Запускает компьютер в режиме экрана приветствия.
  2. Установить галочку «Подготовка к использованию» — подготавливает установку Windows перед созданием образа. Идентификатор безопасности (SID) обнуляется, точки восстановления системы сбрасываются, журналы событий удаляются.
  3. Параметры завершения работы «Завершение работы» — по окончанию работы утилиты система завершит свою работу.

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

Утилита удаляет в том числе и установленные драйверы. Чтобы сохранить их, необходимо выполнять sysprep из командной строки с параметром:

/unattend: указывается путь к файлу ответов 

В файле ответов необходимо указать параметр PersistAllDeviceInstalls (начиная с Windows 8 также есть параметр DoNotCleanUpNonPresentDevices):

<PersistAllDeviceInstalls>true</PersistAllDeviceInstalls>
<!-- Windows 8 и выше <DoNotCleanUpNonPresentDevices>true</DoNotCleanUpNonPresentDevices> -->

После выполнения очистки система автоматически выключится. Приступаем к следующему этапу.

Установка и настройка Windows AIK + PE

Скачиваем и устанавливаем пакет автоматической установки Windows (AIK) для Windows 7. После запуска setup.exe выбираем пункт «Установка Windows AIK». Особых проблем при установке возникнуть не должно.

Создание и настройка образа Windows PE

Windows PE — среда предустановки использующаяся для подготовки к установке OC. С помощью Windows PE мы будем захватывать системный том в wim-образ с помощью утилиты imagex и их сохранять его на другой раздел жесткого диска.
В данном случае рассматривается создание диска с 64-разрядной версией Windows PE. Если вы создаете диск с 32-разрядной версией Windows PE, вам необходимо будет заменить во всех командах архитектуру (amd64 на х86).

В меню Пуск запустите Все программы > Microsoft Windows AIK > Командная строка средств развертывания (Deployment Tools Command Prompt) — все последующие команды будут вводиться в это окно командной строки. Требуется запуск от имени администратора.
Копируем файлы образа Windows PE

copype.cmd amd64 d:\winpe_image

Для изменения скопированного образа Windows PE его необходимо подключить командой

dism /Mount-Wim /WimFile:d:\winpe_image\winpe.wim /index:1 /MountDir:d:\winpe_image\mount

Теперь подключив образ, мы можем устанавливать в него пакеты и добавлять собственные файлы.
Добавим в наш образ утилиту imagex.

xcopy "%ProgramFiles%\Windows AIK\Tools\amd64\imagex.exe" d:\winpe_image\iso\

Так же по желанию можно сразу подготовить список исключений — файлов и папок, которые не будут включаться в сохраняемый образ. Создайте в любом текстовом редакторе файл Wimscript.ini и укажите в нем файлы и папки, которые вы хотите исключить из образа. Файл Wimscript.ini размещается в одной папке с imegex.
По умолчанию imagex использует следующие исключения:

[ExclusionList]
\$ntfs.log
\hiberfil.sys
\pagefile.sys
"\System Volume Information"
\RECYCLER
\Windows\CSC
[CompressionExclusionList]
*.mp3
*.zip
*.cab
\WINDOWS\inf\*.pnf

Теперь необходимо сохранить образ командой:

dism /unmount-Wim /MountDir:d:\winpe_image\mount /Commit

Вся подготовительная работа велась с файлом winpe.wim, а для загрузочного диска Windows PE используется файл boot.wim, расположенный в папке winpe_x86\ISO\sources. Поэтому необходимо заменить файл boot.wim файлом winpe.wim, выполнив при этом переименование.

xcopy /y d:\winpe_image\winpe.wim d:\winpe_image\ISO\sources\boot.wim

Для создания образа выполняем команду:

oscdimg -n -bd:\winpe_image\etfsboot.com d:\winpe_image\ISO d:\winpe_image\winpe_image.iso

Создание образа Windows 7

Необходимо сохранить образ нашей ОС с помощью утилиты imagex. Грузимся в VM с образа winpe_image.iso который мы создали ранее. После удачной загрузки пред нами открывается окно командной строки, в ней мы как раз и будем работать.
Захват и сохранение образа производится одной командой

F:\imagex.exe /capture E: D:\install.wim "Windows 7 x64" /compress maximum

/capture E: — захват раздела E:
D:\install.wim — местоположение и имя сохраняемого WIM-файла.
«Windows 7 x64» — имя образа. Имя должно быть заключено в кавычки.
/compress maximum — тип сжатия файлов в образе(необязательно). Для параметра /compress допустимы значения maximum (максимальное сжатие), fast (быстрое сжатие) и none (без сжатия). Если параметр не указан, используется быстрое сжатие. Максимальное сжатие позволяет уменьшить размер образа, но захват занимает больше времени, чем при быстром сжатии. Скорость распаковки образа практически не зависит от типа сжатия. Остается подождать 20-30 минут и образ будет готов.

После сохранения образа на втором диске виртуальной машины, для дальнейшей работы его нужно перенести на физическую ОС. Запускаем виртуальную машину снова и завершаем установку Windows, прерванную на этапе OOBE. Если вы уже установили Virtual Machine Additions то теперь необходимо скопировать файл из виртуальной машины на физическую с помощью общей папки (shared folder), которую можно указать в настройках виртуальной машины.

Настройка загрузочного образа Windows 7

На данном этапе снова запускаем «Командную строку средств развертывания» и копируем файлы образа Windows PE:

copype.cmd amd64 d:\winpe

Монтируем образ

imagex /mountrw winpe.wim 1 mount

Windows PE смонтирован и в папке d:\winpe Вы можете найти файл winpe.wim.

Настройка автозапуска установки Windows.

Чтобы не создавать вручную виртуальный диск и не запускать установку вручную, можно отредактировать файлик startnet.cmd и startnet2.cmd. Находятся они d:\winpe\mount\windows\system32.

startnet.cmd

wpeinit
%windir%\system32\startnet2.cmd

startnet2.cmd

chcp 1251
netsh interface ip set address name="Подключение по локальной сети" source=dhcp
chcp 866
pause
net use z: \\192.168.0.1\win7 /user:install install
cd /d Z:\sources
setup.exe

Команда net use производит подключение к компьютеру с IP адресом 192.168.0.1 (наш компьютер-сервер) к расшаренному каталогу c именем win7 на правах пользователя install c таким же паролем.
Создать нужного нам пользователя можно такой командой в cmd

net user install install /add /passwordchg:no

Выполняем следующие инструкции:

  • На компьютере-сервере создаем корневой каталог для загрузки (у меня это d:\win7\), а в нем папку boot.
  • Расшариваем папку win7, то есть даем общий доступ к ней всем пользователям.
  • Копируем всю папку sources с установочного диска Windows 7 в d:\win7.
  • Заменяем файл install.wim в каталоге d:\win7\sources на файл, который скопировали ранее с виртуальной машины (готовый образ Windows 7)

Теперь необходимо скопировать дополнительные файлы для установки Windows 7.
Cмонтируем образ WinPE:

imagex /mountrw winpe.wim 1 mount

Копируем:

xcopy d:\winpe\mount\windows\boot\pxe\pxeboot.n12 d:\win7
xcopy d:\winpe\mount\windows\boot\pxe\bootmgr.exe d:\win7
xcopy d:\winpe\winpe.wim d:\win7\boot
xcopy d:\winpe\iso\boot\boot.sdi d:\win7\boot

Размонтируем образ командой:

imagex.exe /unmount d:\winpe\mount

Далее необходимо создать файл BCD (boot configuration data) в каталоге d:\win7\boot. Для упрощения этого процесса воспользуемся файлом createbcd.cmd. Создаем файл d:\winpe\createbcd.cmd и вписываем в него:

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

Запускаем командой с правами администратора:

createbcd.cmd d:\win7\boot

Если у вас возникнут проблемы с драйверами, то их можно добавить так же в «Командной строке средств развертывания»:
Монтирование образа для добавления драйверов

dism /mount-wim /wimfile:winpe.wim /index:1 /mountdir:mount

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

dism /image:mount /add-driver /driver:<каталог с драйверами либо файл с расширением inf>

После того как вся работа с образом закончена его необходимо размонтировать

dism /unmount-wim /mountdir:mount /commit

Настройка сервера TFTP и DHCP

Для создания этих серверов необходимо скачать программу TFTPD32.
Задачей DHCP сервера является предоставить информацию удаленному компьютеру о свободном IP адресе, маски сети, а также имя загружаемого файла и адрес TFTP сервера, где этот файл находиться. Задача TFTP сервера является обеспечение передачи необходимых для загрузки файлов удаленному компьютеру.

Запускаем программу и выбираем сначала папку d:\win7, а немножко ниже — IP сетевой карты. В моем случае компьютер имеет IP 192.168.0.1.
Заходим в настройки (кнопка Settings посредине внизу) и постепенно заполняем вкладки:

  • Вкладка GLOBAL — cтавим галочки только напротив TFTP Server, DHCP Server и Enable IPv6.
  • Вкладка TFTP — выбираем папку d:\win7.
  • TFTP Security — Standart.
  • TFTP configuration — оставляем как есть.
  • Advanced TFTP Options — должны стоять галочки напротив: Option negotiation, Show Process bar и Translate Unix file names.
  • Вкладка DHCP
  • IP pool starting address указывает, с какого IP адреса начать выдачу адресов. В моем примере выдача IP адресов начнется с 192.168.0.2.
  • Size of pool указывает количество IP адресов, которые будут динамически выделяться. Я установил значение в 30.
  • Boot File сообщает удаленному компьютеру имя файла, который необходимо использовать в качестве загрузчика. Устанавливаем значение в pxeboot.n12.
  • Mask, указывает маску сети. В нашем случае это 255.255.255.0. Остальные значения параметров оставляем по умолчанию.
  • Ping address before assignation — снять галочку (если у Вас связь компьютер-компьютер без свичей и роутеров).

Теперь нужно включить в BIOS загрузку с сетевой карты и загрузиться с нее. После этого будет получен IP-адрес через DHCP и выполниться pxeboot.n12 — который запустит Windows PE c файла winpe.wim. Сразу после загрузки Windows PE будет автоматически смонтирован каталог win7 и с него запуститься установка. Далее установка проходит точно также как и с диска.

1. Устанавливаем TFTP и DHCP сервера для организации сетевой загрузки.
2. Устанавливаем загрузчик Windows Boot Manager на TFTP сервер.
3. Создаем общий сетевой ресурс на котором будут размещаться установочные файлы. Общий доступ может быть организован по протоколу CIFS или SMB.
4. Размещение установочных файлов необходимых версий Windows на общем сетевом ресурсе.
5. Размещаем среду предустановки на TFTP сервере, и выполняем ее настройку.
6. Настраиваем меню загрузчика.
7. Проверяем итоговый результат.

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

Общий сетевой ресурс

Нам необходимо создать папку, и организовать к ней общий доступ по сети. Сделать это можно в свойствах выбранного вами каталога, на вкладке Доступ.

Для организации общего доступа по отдельной учетной записи, потребуется создать отдельного пользователя. Сделать это можно в оснастке Локальные пользователи и группы (Win+R > lusrmgr.msc > OK).

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

Общая папка настроена.

Копирование дистрибутивов в общую папку

В качестве установочной версии ОС Windows мною была выбрана Windows 10 в 32 и 64 битном исполнении. То есть это два дистрибутива. Создадим для каждого, отдельную папку в директории с общим доступом.

В моем случае это папки Setup_Win10x64 и Setup_Win10x86.

Теперь скопируем папку sources каждого из дистрибутивов в созданные для них директории.

Установочные файлы готовы к использованию.

Среда предустановки

В качестве среды предустановки, будет использована та, что идет в комплекте с установочным дистрибутивом. Располагается она в папке sources и представлена образом boot.wim.

Текущий файл boot.wim (обоих дистрибутивов), настроен на запуск установки Windows с диска на котором он расположен. Наша задача, настроить данный образ так, чтобы процесс установки запускался из сети.

Изменения которые необходимо будет сделать, это — интегрировать в образ boot.wim сетевые драйвера, и внедрить скрипт установки.

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

Скрипт установки, будет выполнять подключение к ранее созданному сетевому ресурсу, с установочными файлами, и запускать процесс установки ОС Windows.

Так как у нас два дистрибутива, x86 и x64, среду предустановки каждого, нужно настраивать по отдельности. Данный процесс одинаков, поэтому я приведу пример настройки только для boot.wim x86 версии, с необходимыми поправками там, где это необходимо для boot.wim x64 версии.

Подготовка сетевых драйверов

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

Первым делом скачиваем установщик драйверов SDI (Snappy
Driver Installer). Нужна именно Lite версия. Страница скачивания https://sdi-tool.org/download/.

Распаковываем скачанный архив с SDI Lite.

Запускаем исполняемый файл SDI_Rxxxx.exe (32-битная версия) или SDI_x64_Rxxxx.exe (64-битная), в зависимости от разрядности вашей ОС. Или скрипт SDI_auto.bat, он сам определит разрядность запустит подходящий исполняемый файл. После запуска, скачиваем только сетевые драйверпаки.

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

Распакуем в отдельные директории следующие драйверпаки — DP_LAN_Intel_18054.7z, DP_LAN_Others_18053.7z, DP_LAN_Realtek-NT_18055.7z.

В каждой распакованной директории с драйверами, присутствуют поддиректории вида *x86* и *x64*.

Это разделение драйверов по разрядности. Тут возникает одна проблема. К примеру, для WinPE x86 интеграция x64 драйверов будет избыточным и нецелесообразным действием. Поэтому удалим все поддиректории с именем *x64* (для WinPE x64 будет ровно противоположенное действие). Для этой цели удобнее всего воспользоваться каким-нибудь файловым менеджером (Far Manager, Total Commander, Double Commander).

Драйвера сетевых адаптеров для WinPE x86 готовы. Теперь имеющиеся директории можно перенести в отдельную папку, например LAN_x86. Думаю вам не составит труда самостоятельно организовать папку с драйверами LAN_x64.

Размещаем среду предустановки на TFTP

Корень TFTP сервера на данный момент выглядит так (конкретно, это состояние на момент завершения предыдущей статьи).

Расположим в папке Image образы boot_x86.wim и boot_x64.wim (то есть это обычные boot.wim, взятые из папки sources, скопированные и переименнованные). Данные образы, это не измененные, образы сред предустановок соответствующих дистрибутивов ОС Windows.

Общая файловая структура TFTP на следующем скриншоте.

Интеграция сетевых драйверов в среду предустановки

Перед интеграцией драйверов в образ boot_x86.wim, его предварительно необходимо смонтировать. Делается это с помощью команд dism.exe /get-imageinfo /imagefile:D:\TFTP\Image\boot_x86.wim (получение информации о указном *.wim образе, чтобы определить индекс монтируемого содержимого)

и dism.exe /mount-wim /wimfile:D:\TFTP\Image\boot_x86.wim /index:2 /mountdir:E:\mnt (монтирование указанного *.wim образа к указанному каталогу).

После того как образ смонтиорован, можно приступить к интеграции в него ранее подготовленных драйверов. Выполним для этого команду dism.exe /image:E:\mnt /Add-Driver /Driver:C:\Users\x7z3\Desktop\SDI\drivers\LAN_x86 /Recurse.

Этим действием мы интегрировали сетевые драйвера из директории LAN_x86 в образ boot_x86.wim. Для образа boot_x64.wim все будет идентично, разница будет лишь в имени подключаемого файла и директории с драйверами.

Интеграция скрипта запуска установки ОС

Скрипт установки — это обычный командный файл с расширением *.cmd. Его задача, подключить сетевой диск с установочными файлами и запустить установщик ОС.

Для того чтобы организовать запуск скрипта, во время загрузки среды предустановки, нам потребуется создать файл winpeshl.ini (текстовый файл) в директории E:\mnt\Windows\System32 с следующим содержимым:

[LaunchApps]
init.cmd

Файл winpeshl.ini, является конфигурационным файлом для среды предустановки. Он позволяет задать программу(ы) выполняемые вместо стандартной оболочки. Подробнее о нем можно почитать тут.

Теперь создадим сам скрипт установки init.cmd (текстовый файл) в той же директории. Исходный текст init.cmd:

:::::::::::::::::::::::::::::::::::::::
::            INIT SCRIPT            ::
:::::::::::::::::::::::::::::::::::::::
@echo off
title INIT NETWORK SETUP
color 37
cls


:: INIT Variables
:: Тут мы указываем сетевой путь до папки содержащей установочные файлы
set netpath=\\192.168.0.254\share\Setup_Win10x86
:: Имя пользователя для подключения к вышеуказанной сетевой папке
set user=guest
:: Пароль от указанной выше учетной записи
set password=guest

:: WPEINIT start
echo Start wpeinit.exe...
wpeinit
echo.

:: Mount Net Drive
echo Mount net drive N:\ ...
net use N: %netpath% /user:%user% %password%
IF %ERRORLEVEL% GEQ 1 goto NET_ERROR
echo Drive mounted!
echo.

:: Run Windows Setup
color 27
echo Starting Windwos Setup...
pushd N:\sources
setup.exe
goto SUCCESS

:NET_ERROR
color 47
cls
echo ERROR: Cant mount net drive. Check network status!
echo Check network connections, or access to network share folder...
echo.
cmd

:SUCCESS
:: Тут, можно добавить команды которые выполнятся после первого этапа установки,
:: то есть в момент, когда установщик скажет что, будет выполнена перезагрузка.
::
:: К примеру, вы можете организовать копирование необходимых установочных программ с 
:: сетевого ресурса в свежераспакованную систему...

Учитывайте что установочный скрипт для x64 системы, будет содержать немного другой путь до установочных файлов.

Все необходимое сделано. Осталось только отключить подключенный образ boot_x86.wim с сохранением выполненных изменений. Делается это командой dism.exe /unmount-wim /mountdir:E:\mnt /commit. Предварительно, ОБЯЗАТЕЛЬНО закройте открытые папки или файлы в смонтированном каталоге.

Все вышеописанное нужно будет проделать и для файла образа boot_x64.wim.

Настройка меню загрузчика

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

Параметры для загрузки boot_x86.wim.

Параметры для загрузки boot_x64.wim.

Проверка итогового результата

Теперь все готово. Осталось только проверить результат проделанной работы. Проверять будем как всегда в виртуальной машине VirtualBox.

Загруженное меню. В шапке видно что загрузчик загружен по сетию

Загрузка образа boot_x86.wim в оперативную память компьютера.

Выполнение интегрированного нами скрипта.

Уведомление скриптом об успешности подключения сетевого ресурса.

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

На этом скриншоте видно, что установка идет реально по сети.

Итог

Технология сетевой установки ОС проста и доступна. Минимум необходимых инструментов. Все что нужно, это установочный образ Windows 10 (нет необходимости скачивать WAIK или ADK). Все описанное выше будет работать для ОС Windows начиная с 7-ки и выше (7, 8.1, 10).

Надеюсь данный материал будет полезен для вас 😉.

Установка Windows 10 по сети — отличное решение, если нужно инсталлировать систему на несколько компьютеров. Выполнять ее просто так бессмысленно — только потратите время. А вот если речь идёт о подготовке компьютеров небольшой организации, то это самый эффективный способ установки. Смотрите также: как переустановить Windows 10.

Установка TFTP-сервера

Первым делом нужно установить стороннее решение для удалённой установки Windows 10 по сети. Мы остановимся на бесплатной утилите Tftp, которая распространяется в редакциях для 32х и 64х систем. Последние версии программы только 64-битные, так что если на машине стоит Windows x32, то придётся скачивать более ранние версии. 

Нам нужна ссылка direct link for Service Edition — кликаем по ней, чтобы загрузить установочный файл.

Скачивание серверной версии Tftp

Загружаем утилиту для создания сервера установки

Tftp устанавливается как обычная программа. Есть лишь два важных замечания. Первое — ставить утилиту нужно только на системный раздел. Второе — при установке должны быть отмечены следующие компоненты:

Установка компонентов программы Tftp

Без этих компонентов настроить удалённую установку Windows 10 не получится

После установки потребуется предварительная настройка программы. Запускаем её, нажимаем на кнопку Settings и на вкладке GLOBAL оставляем отмеченными только пункты TFTP Server и DHCP Server.

Вкладка Global в настройках Tftp

Устанавливаем глобальные параметры программы

Затем переходим на вкладку TFTP. Здесь нужно указать Base Directory — каталог, в котором хранятся установочные файлы Windows 10. Пока он должен быть пустым, чуть позже мы подготовим для него файлы. Кроме того, необходимо отметить пункт Bind TFTP to this address и выбрать в списке IP-адрес машины, с которой будет производиться инсталляция. Последнее действие на этой вкладке — включение опции Allow «\» As Virtual root.

Настройка параметров TFTP

Настраиваем параметры TFTP для работы удалённого сервера

Последняя вкладка, которая нас интересует, — DHCP. Если в локальной сети уже есть такой тип сервера, то можно отказаться от его настройки в интерфейсе программы. Если сервера нет, то в строке IP pool start address впишите стартовое значение для диапазона выдаваемых адресов, а в поле Size of pool — доступное количество позиций. Вам также нужно заполнить следующие поля: 

  • Def. router (Opt 3) — IP-адрес маршрутизатора.
  • Mask (Opt 1) — маска шлюза.
  • DNS (Opt 6) — адрес DNS-сервера.

    Настройка DHCP в программе Tftp

    Такие настройки должны быть выставлены на вкладке DHCP

Для сохранения конфигурации необходимо нажать на кнопку «Ок». Для применения изменений программа перезапустится. При следующем включении она будет уже правильно настроена. Для исключения появления ошибок нужно добавить её в список исключений в брандмауэре Windows. 

Для установки Windows 10 по сети нужно подготовить файлы дистрибутива, так как при выполнении этой операции используется другое окружение. 

  1. Открываем каталог, который мы указали как Base Directory в настройках Tftp. 
  2. Создаём папку с именем системы — например, Win10_Setupx64.
  3. Помещаем внутрь папки каталог sources дистрибутива Windows 10. Для перемещения можно использовать программу 7-Zip.

    Перемещение установочных файлов Windows 10

    Перемещаем установочные файлы в предварительно подготовленную папку

Если вы планируете использовать ещё и дистрибутив 32-битной версии, то для него нужно создать отдельную папку по аналогии с x64. Нельзя использовать один каталог для хранения файлов разной разрядности. 

Следующий шаг — подготовка образа загрузчика. Это файл boot.wim в корне папки sources. Нам нужно навесить на него сетевые драйверы и скрипт для работы с ними. Самый простой способ получить пакет драйверов — использовать бесплатную и портативную программу Snappy Driver Installer. Её версию нужно выбирать в зависимости от разрядности текущей системы.

  1. Запускаем Snappy Driver Installer.
  2. Нажимаем на кнопку «Доступны обновления».
  3. Выбираем «Только сетевые» и нажимаем «Ок».

    Загрузка сетевых драйверов через Snappy Driver Installer

    Нам нужно скачать только сетевые драйверы, а не все доступные обновления

После завершения загрузки в корневом каталоге Snappy Driver Installer появится папка Drivers. Рекомендуется провести сортировку ПО по разрядности и разместить драйверы в разных папках — для x32 и x64.

Разделение драйверов по разрядности системы

После сортировки драйверов должно получиться две папки

Следующий шаг — подготовка образа Windows. Открываем корневой каталог TFTP-сервера. Мы назвали его Win10_Setupx64. Создаём в нём папку Image и помещаем внутри неё файл boot.wim подходящей разрядности.

Добавление файла  boot.wim в корень сервера

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

Для модификации образа мы будем использовать консоль PowerShell. Её нужно найти через встроенный поиск Windows 10 и запустить с правами администратора. Затем нужно выполнить ряд команд. 

dism.exe /get-imageinfo /imagefile: *адрес папки Image*\boot.wim

dism.exe /mount-wim /wimfile: *адрес папки Image*\boot.wim /index:2 /mountdir: *адрес каталога, куда будет смонтирован образ*

dism.exe /image: *адрес каталога со смонтированным образом* /Add-Driver /Driver:*адрес папки с драйверпаком нужной разрядности* /Recurse

Монтирование образа загрузчика

Монтируем образ через консоль PowerShell

Затем нужно свернуть PowerShell и создать в любом месте текстовый файл с именем winpeshl. Внутри него должны быть следующие строки:

[LaunchApps]

init.cmd

Файл winpeshl

Так должен выглядеть файл winpeshl

После сохранения файла необходимо изменить его разрешение с TXT на INI. Теперь нужно скопировать его и вставить внутрь образа boot.wim, который мы только что смонтировали через PowerShell. Файл должен располагаться внутри папки Windows/System32.

Папка Windows/System32 в смонтированном образе

Подготовленный файл мы размещаем внутри смонтированного образа

Внутри  Windows/System32 должен быть ещё один текстовый файл. Создайте его, дайте имя init и вставьте внутрь скрипт:

:::::::::::::::::::::::::::::::::::::::

:: INIT SCRIPT ::

:::::::::::::::::::::::::::::::::::::::

@echo off

title INIT NETWORK SETUP

color 37

cls

:: INIT Variables

set netpath=\\192.168.0.254\share\Setup_Win10x86 :: здесь должен быть сетевой путь до папки содержащей установочные файлы

set user=guest

set password=guest

:: WPEINIT start

echo Start wpeinit.exe…

wpeinit

echo.

:: Mount Net Drive

echo Mount net drive N:\ …

net use N: %netpath% /user:%user% %password%

IF %ERRORLEVEL% GEQ 1 goto NET_ERROR

echo Drive mounted!

echo.

:: Run Windows Setup

color 27

echo Starting Windows Setup…

pushd N:\sources

setup.exe

goto SUCCESS

:NET_ERROR

color 47

cls

echo ERROR: Cant mount net drive. Check network status!

echo Check network connections, or access to network share folder…

echo.

cmd

:SUCCESS

После сохранения расширение файла нужно изменить с TXT на CMD, а затем переместить его в каталог Windows/System32 внутри смонтированного на сервере образа. После добавления всех необходимых файлов мы возвращаемся к консоли PowerShell и выполняем последнюю команду:

dism.exe /unmount-wim /mountdir:*адрес каталога со смонтированным образом* /commit

На этом подготовка образа Windows завершена. Мы прошли примерно половину пути к установке Windows 10 через сеть. 

Установка загрузчика Windows на сервер

На этом этапе мы будем настраивать сетевой загрузчик для установки Windows 10 по сети. Снова используем программу 7-zip:

  1. Открываем через 7-zip образ boot.wim с подходящей разрядностью.
  2. Переходим в папку с номером в имени, которая имеет самый большой размер.

    Выбор папки внутри образа boot.wim

    Это самая большая папка, поэтому выбираем её

  3. Открываем каталог Windows/Boot/PXE.
  4. Находим и копируем файлы pxeboot.n12 и bootmgr.exe в корень сервера TFTP.
  5. Создаём рядом с ними каталог с именем Boot.

    Содержимое корня сервера TFTP

    В корне TFTP должны быть такие файлы и папки

  6. Возвращаемся к открытой программе 7-zip, переходим по пути Boot\DVD\PCAT.
  7. Копируем файлы BCD, boot.sdi, папку ru_RU и вставляем их в каталог Boot, который только что создали в корне TFTP. 

В Boot нужно также добавить папку Fonts и файл memtest.exe. Их местоположение внутри образа может меняться, но обычно их можно найти в каталоге boot.wim\2\Windows\PCAT.

Подготовка файлов загрузчика

Нам нужно собрать все необходимые файлы в одном каталоге

После копирования файлов нужно настроить BCD — конфигурационный файл загрузчика Windows. Для этого мы будем использовать утилиту BOOTICE. 

  1. Запускаем версию программы с подходящей разрядностью.
  2. На вкладке BCD отмечаем опцию Other BCD file.
  3. В окне проводника указываем файл, который расположен по адресу *корневой каталог TFTP*/Boot.
  4. Нажимаем на кнопку Easy Mode.

    Настройка BOOTICE в режиме Easy Mode

    Сначала нужно настроить программу в режиме Easy Mode

  5. В блоке Global Settings изменяем значение Timeout(s) с 30 на 0.
  6. В Boot language устанавливаем значение ru_RU и отмечаем пункты «Display boot menu» и «No integrity checks».
  7. На вкладке Options в поле OS Title напишем Windows 10 x64. 
  8. В блоке Boot device пропишем адреса WIM-образа и SDI-файла.
  9. Нажмем Save current system и Close для сохранения конфигурации и закрытия окна.

    Настройка параметров Easy Mode в BOOTICE

    Настраиваем параметры Easy Mode

  10. В окне утилиты выбираем Professional Mode.
  11. Раскрываем меню Application objects и выделяем левой кнопкой мышки название системы, которое только что вписали в настройки.
  12. В правой части окна кликаем правой кнопкой мыши и выбираем значение New element.
  13. Задаем элементу имя DisableIntegrityChecks и жмем «ОК». 
  14. В окне устанавливаем параметры True/Yes и жмем «ОК».

    Создание нового параметра в режиме Professional Mode

    В режиме Professional Mode нам нужно создать новый параметр

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

Предоставление общего доступа

Прежде чем устанавливать Windows 10 по сети, нужно предоставить общий доступ к папке сервера TFTP. См. также: настраиваем общий доступ в Windows 10.

  1. Открываем свойства папки и переходим на вкладку «Доступ».
  2. Нажимаем на кнопку «Расширенная настройка».
  3. Отмечаем пункт «Открыть общий доступ для этой папки», задаём имя и нажимаем на кнопку «Разрешения».

    Расширенные настройки доступа к каталогу

    Права доступа для сервера мы будем менять через расширенные настройки

  4. Нажимаем на кнопку «Добавить».
  5. В нижнем поле пишем «СЕТЬ» и нажимаем «Проверить имена», а затем «ОК».

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

    Имя «СЕТЬ» обязательно должно быть написано большими буквами

  6. Выделяем новую группу «Сеть» и устанавливаем для неё параметры чтения и записи. 
  7. Нажимаем «ОК» и сохраняем конфигурацию.

После этого нужно будет ещё зайти в раздел «Сеть и интернет» в «Параметрах» и включить следующие опции:

  • Сетевое обнаружение.
  • Общий доступ к файлам и принтерам.
  • Общий доступ с парольной защитой.

    Параметры общего доступа

    Настройка общего доступа в «Параметрах» Windows 10

Перезагрузка обычно не требуется, изменения сразу вступают в силу. 

Процесс установки Windows 10 по сети

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

Установка Windows 10

Сам процесс установки будет таким же, как и при использовании загрузочного носителя

Дальше — стандартная установка с выбором системного диска, региона, языка, часового пояса, принятием соглашений и настройкой параметров конфиденциальности. 

На этом инструкция подошла к концу. Желаем удачи!

Post Views: 11 862

Загрузка с ISO образов по сети в iVentoyБольшинству пользователей, сталкивающихся с задачей установка Windows с флешки или необходимостью загрузки компьютера с других ISO-образов, известна программа Ventoy для создания загрузочных и мультизагрузочных флешек. iVentoy — новый инструмент от того же разработчика, для быстрой и удобной загрузки компьютеров с образов по локальной сети.

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

Использование iVentoy

iVentoy позволяет выполнять загрузку из образов в среде PXE (Preboot Execution Environment) с помощью сетевой карты без использования локального диска или флешки. Это может пригодиться как для установки Windows или другой ОС на нескольких компьютерах в локальной сети, так и для задач диагностики.

Скачать iVentoy можно с официального сайта разработчика — на момент написания этого обзора файлы расположены в Google Drive и доступны в трех версиях:

  • Win64 — для x64-систем Windows
  • Win32 — для x86 (32-бит) Windows
  • Linux — для запуска в ОС Linux

После загрузки файла нужной версии достаточно выполнить следующие первоначальные шаги:

  1. Распакуйте архив с iVentoy в удобное расположение.
  2. Поместите нужные образы в папку ISO в папке с распакованным архивом.
  3. Запустите исполняемый файл iVentoy.
  4. Будет открыто окно программы и, автоматически — окно браузера с веб-интерфейсом для управления iVentoy (если этого не произошло, откройте адрес 127.0.0.1:26000 в браузере. Главная страница веб-интерфейса iVentoy
  5. В веб-интерфейсе на вкладке Boot Information вы можете изменить сетевые настройки (например, при наличии нескольких IP).
  6. В разделе Configuration можно изменить настройки сети (обычно необходимости в этом нет) и изменить файл, используемый для EFI-загрузки.
  7. Раздел MAC Filter позволяет разрешить или запретить загрузку с iVentoy по MAC-адресам (по умолчанию, сетевая загрузка будет доступна всем устройствам в сети).
  8. Раздел Image Management позволяет просмотреть список доступных образов, выбрать образ, используемый по умолчанию. Здесь же есть возможность добавить файлы (в виде архива .7z, например, драйверы) к загружаемому образу (пункт «Injection File») — при загрузке из образов Windows такие архивы будут автоматически распакованы на диск X: (временный диск, создаваемый в программе установки) и доступны в процессе. Управление образами в iVentoy
  9. Для того, чтобы сервер PXE iVentoy начал работать, на вкладке «Boot Information» нажмите зеленую кнопку «Play».

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

Загрузка по сети из образа iVentoy

После того, как сервер iVentoy запущен, вам потребуется выполнить следующие шаги:

  1. В БИОС/UEFI вашего компьютера установите сетевую загрузку в качестве первого устройства загрузки: также, как вы выбираете флешку, локальный диск или Windows Boot Manager. Пункт может иметь название Network Boot, PXE, Ethernet, LAN или другие похожие. Отдельно может потребоваться включить поддержку LAN/PXE загрузки в настройках загрузки или расширенных (Advanced) настройках БИОС. Загрузка PXE в БИОС и UEFI
  2. Отключите Secure Boot в БИОС (во всяком случае, в моих тестах загрузка с включенной безопасной загрузкой не удалась).
  3. Сохраните настройки БИОС и запустите компьютер.
  4. Если ваш компьютер подключен к локальной сети (с помощью кабельного подключения) и всё прошло успешно, вы увидите экран с возможностью выбора образа, с которого требуется загрузиться. Экран загрузки iVentoy
  5. Загрузку можно производить на нескольких компьютерах в локальной сети. Список подключенных компьютеров и тип загрузки будет отображаться в веб-интерфейсе iVentoy, на компьютере, на котором запущен сервер. Список устройств iVentoy

Я тестировал iVentoy в нескольких виртуальных машинах Hyper-V, а не на физических компьютерах. Результаты:

  • Проблем при UEFI-загрузке при отключенном Secure Boot нет: как WinPE, так и установочные образы Windows загружаются и работают (полностью процесс установки не проводил).
  • Загрузка в Legacy или при включенном Secure Boot не удалась. Первая проблема, вероятнее всего, не будет актуальной на физическом компьютере и связана с особенностью виртуальных сетевых адаптеров в виртуальных машинах Hyper-V первого поколения, информации о том, решаема вторая проблема у меня нет.

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

  • Как настроить удаленный принтер windows 10
  • Как начать установку обновлений windows 10
  • Как настроить усиление микрофона на windows 10
  • Как настроить удаленный рабочий стол windows 2012
  • Как настроить удаленный доступ к рабочему компьютеру из дома windows 10