В этой статье мы рассмотрим, как установить 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 .
При установке 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
В данном случае я создаю файлы для среды WinPE x64. Можно использовать другие опции в зависимости от архитектуры: x86, arm или arm64.
Теперь можно создать загрузочный 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.
В моем случае при тестировании загрузки с 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.
Содержание
- Процедура сетевой установки Windows 10
- Этап 1: Установка и настройка TFTP-сервера
- Этап 2: Подготовка файлов дистрибутива
- Этап 3: Установка загрузчика на сервер
- Этап 4: Предоставление общего доступа к каталогам
- Этап 5: Установка операционной системы
- Заключение
- Вопросы и ответы
Если ОС Виндовс 10 используется в небольшой организации, для упрощения установки её на несколько компьютеров можно использовать методику инсталляции по сети, с которой мы и хотим вас сегодня познакомить.
Для инсталляции «десятки» по сети потребуется выполнить несколько действий: установить сервер TFTP посредством стороннего решения, подготовить файлы дистрибутива и настроить сетевой загрузчик, настроить общий доступ к каталогу с файлами дистрибутива, добавить инсталлятор на сервер и непосредственно установить ОС. Пойдём по порядку.
Этап 1: Установка и настройка TFTP-сервера
Для облегчения процесса сетевой инсталляции десятой версии «окон» следует установить специальный сервер, реализованный в виде стороннего решения, бесплатной утилиты Tftp в редакциях 32 и 64 бита.
Страница загрузки Tftp
- Перейдите по ссылке выше. Найдите блок с новейшей версией утилиты. Обратите внимание, что она доступна только для x64 ОС, поэтому воспользуйтесь предыдущими ревизиями, если машина для установки сервера работает под 32-битной Виндовс. Для поставленной цели нам требуется версия Service Edition – кликните по ссылке «direct link for Service Edition».
- Загрузите установочный файл Тфтп на целевой компьютер и запустите его. В первом окошке примите лицензионное соглашение нажатием на кнопку «I Agree».
- Далее отметьте нужные компоненты, как обозначено на скриншоте ниже, и нажимайте «Next».
- Поскольку утилита добавляет специальную службу к уже имеющимся, устанавливать её следует только на системный диск или раздел. По умолчанию он и выбран, так что нажимайте «Install» для продолжения.
После установки переходим к настройкам сервера.
- Запускайте Tftp и в главном окне программы нажмите на кнопку «Settings».
- На вкладке настроек «GLOBAL» оставьте включёнными только опции «TFTP Server» и «DHCP Server».
- Переходите к закладке «TFTP». Первым делом воспользуйтесь настройкой «Base Directory» – в ней потребуется выбрать каталог, в который будет источником установочных файлов для инсталляции по сети.
- Далее отметьте галочкой пункт «Bind TFTP to this address», и выберите в списке IP-адрес машины-источника.
- Отметьте опцию «Allow «\» As Virtual root».
- Переходим к вкладке «DHCP». Если в вашей сети уже присутствует такой тип сервера, то от встроенного в утилиту можно отказаться – в имеющемся пропишите значения 66 и 67, которые представляют собой адрес сервера TFTP и путь к каталогу с инсталлятором Windows соответственно. Если же сервера нет, то первым делом обратитесь к блоку «DHCP Pool Definition»: в «IP pool start address» впишите начальное значение диапазона выдаваемых адресов, а в поле «Size of pool» количество доступных позиций.
- В поле «Def. router (Opt 3)» впишите IP маршрутизатора, в поля «Mask (Opt 1)» и «DNS (Opt 6)» – маску шлюза и адреса DNS соответственно.
- Для сохранения введённых параметров нажимайте на кнопку «OK».
Появится предупреждение, что для сохранения потребуется перезапустить программу, снова нажмите «ОК».
- Утилита перезапустится, уже корректно настроенная. Также потребуется создать исключение для неё в брандмауэре.
Урок: Добавление исключения в брандмауэре Windows 10
Этап 2: Подготовка файлов дистрибутива
Подготовка файлов инсталляции Виндовс требуется из-за различий в способе установке: в сетевом режиме используется иное окружение.
- В корневой папке TFTP-сервера, созданного на предыдущем этапе, создайте новый каталог с именем операционной системы – например, Win10_Setupx64 для «десятки» разрядности x64. В эту папку следует поместить каталог sources из соответствующего раздела образа – в нашем примере из папки x64. Для копирования из образа напрямую можно использовать программу 7-Zip, в которой присутствует нужный функционал.
- Если планируется задействовать и дистрибутив 32-битной версии, создайте отдельный каталог с другим именем в корневой директории TFTP-сервера и поместите в него соответствующую папку sources.
Внимание! Не пытайтесь использовать одну и ту же папку для установочных файлов разной битности!
Теперь следует настроить образ загрузчика, представленный файлом boot.wim в корне каталога sources.
Для этого нам понадобится добавить к нему сетевые драйвера и специальный скрипт для работы с ним. Пак сетевых драйверов проще всего получить с помощью стороннего установщика под названием Snappy Driver Installer.
Скачать Snappy Driver Installer
- Поскольку программа портативная, устанавливать её на компьютер не нужно – просто распакуйте ресурсы в любое удобное место, и запускайте исполняемый файл SDI_x32 или SDI_x64 (зависит от разрядности текущей операционной системы).
- Кликните по пункту «Доступны обновления» – появится окошко выбора загрузки драйверов. Нажмите на кнопку «Только сетевые» и нажмите кнопку «ОК».
- Дождитесь окончания скачивания, после чего переходите в папку drivers в корневом каталоге Snappy Driver Installer. Там должны присутствовать несколько архивов с нужными драйверами.
Рекомендуется отсортировать драйвера по разрядности: устанавливать версии x86 для 64-битной Виндовс нецелесообразно, как и наоборот. Поэтому советуем создать отдельные каталоги для каждого из вариантов, куда раздельно переместите 32- и 64-битные вариации системного ПО.
Теперь займёмся подготовкой загрузочных образов.
- Перейдите к корневому каталогу TFTP-сервера и создайте в нём новую папку с именем Image. В эту папку следует скопировать файл boot.wim из дистрибутива нужной разрядности.
Если используется комбинированный образ x32-x64, скопировать нужно каждый по очереди: 32-битный следует назвать boot_x86.wim, 64-битный – boot_x64.wim.
- Для модификации образов воспользуемся инструментом PowerShell — найдите его посредством «Поиска» и воспользуйтесь пунктом «Запустить от имени администратора».
Для примера покажем модификацию 64-битного загрузочного образа. После открытия ПоверШелл введите в него следующую команды:
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, переходите к папке, к которой подключен образ – сделать это можно через «Этот компьютер». Затем в любом месте создайте текстовый файл с именем winpeshl. Откройте его и вставьте следующее содержимое:
[LaunchApps]
init.cmdВключите отображение расширений файлов, если не сделали этого ранее, и смените расширение TXT на INI у файла winpeshl.
Скопируйте этот файл и переходите к каталогу, в который смонтировали образ boot.wim. Раскройте последовательно директории
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
Сохраните изменения, закройте документ, смените его расширение на CMD и также переместите в папку
Windows/System 32
смонтированного образа. - Закройте все папки, связанные со смонтированным образом, после чего возвращайтесь к ПоверШелл, где введите команду:
dism.exe /unmount-wim /mountdir:*адрес каталога со смонтированным образом* /commit
- Если используется несколько boot.wim, шаги 3-6 потребуется повторить и для них.
Этап 3: Установка загрузчика на сервер
На этом этапе потребуется установить и настроить сетевой загрузчик для установки Windows 10. Находится он внутри каталога с именем PXE в образе boot.wim. Получить к нему доступ можно методом монтирования, который описан в предыдущем этапе, или же с помощью того же 7-Зип, им и воспользуемся.
- Откройте boot.wim нужной разрядности с помощью 7-Zip. Перейдите в номерную папку самого большого размера.
- Перейдите в каталог Windows/Boot/PXE.
- Первым делом найдите файлы pxeboot.n12 и bootmgr.exe, скопируйте их в корневой каталог сервера TFTP.
- Далее в этом же каталоге создайте новую папку с именем Boot.
Теперь возвращайтесь к открытому 7-Зип, в котором перейдите в корень образа boot.wim. Откройте каталоги по адресу Boot\DVD\PCAT – скопируйте оттуда файлы BCD, boot.sdi, а также папку ru_RU, которые вставьте в папку Boot, созданную ранее.
Также потребуется скопировать каталог Fonts и файл memtest.exe. Точное их местоположение зависит от конкретного образа системы, но чаще всего они располагаются по адресу boot.wim\2\Windows\PCAT.
Обычным копированием файлов, увы, всё не заканчивается: нужно ещё настроить BCD, который представляет собой конфигурационный файл загрузчика Виндовс. Сделать это можно посредством специальной утилиты BOOTICE.
Скачать BOOTICE с официального сайта
- Утилита портативная, поэтому по окончании загрузки просто запускайте исполняемый файл, соответствующий разрядности рабочей ОС исходной машины.
- Переходите к закладке «BCD» и отметьте опцию «Other BCD file».
Откроется окно «Проводника», в котором нужно указать файл, расположенный по адресу *корневой каталог TFTP*/Boot.
- Кликните по кнопке «Easy Mode».
Запустится интерфейс упрощённой настройки BCD. Первым делом обратитесь к блоку «Global Settings». Отключите таймаут – вместо 30 впишите 0 в соответствующее поле, и снимите галочку с одноимённого пункта.
Далее в списке «Boot language» установите «ru_RU» и отметьте пункты «Display boot menu» и «No integrity checks».
- Далее переходите к секции «Options». В поле «OS Title» напишите «Windows 10 x64», «Windows 10 x32» или «Windows x32_x64» (для комбинированных дистрибутивов).
- Перемещаемся к блоку «Boot device». В поле «File» надо прописать адрес местоположения WIM-образа:
Image/boot.wim
Таким же образом укажите местоположение SDI-файла.
- Нажмите на кнопки «Save Current System» и «Close».
По возвращении в главное окно утилиты воспользуйтесь кнопкой «Professional mode».
- Раскройте список «Application objects», в котором найдите название системы, заданное ранее в поле «OS Title». Выделите этот пункт щелчком левой кнопки мыши.
Далее переведите курсор в правую часть окна и кликните правой кнопкой мышки. Выберите пункт «New element».
- В списке «Element name» выберите «DisableIntegrityChecks» и подтвердите нажатием «ОК».
Появится окно с переключателем – установите его в положение «True/Yes» и нажимайте «ОК».
- Подтверждать сохранение изменений не нужно — просто закрывайте утилиту.
На этом настройка загрузчика окончена.
Этап 4: Предоставление общего доступа к каталогам
Теперь потребуется настроить на целевой машине общий доступ к папке сервера TFTP. Мы уже рассматривали подробности этой процедуры для Windows 10, так что рекомендуем воспользоваться инструкциями из статьи ниже.
Урок: Общий доступ к папкам в Windows 10
Этап 5: Установка операционной системы
Пожалуй, самый простой из этапов: непосредственно инсталляция Виндовс 10 по сети практически ничем не отличается от установки с флешки или компакт-диска.
Подробнее: Как установить Windows 10
Заключение
Установка операционной системы Виндовс 10 по сети не слишком сложное занятие: основные трудности заключаются в правильной подготовке файлов дистрибутива и настройке конфигурационного файла загрузчика.
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 с флешки или необходимостью загрузки компьютера с других 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
После загрузки файла нужной версии достаточно выполнить следующие первоначальные шаги:
- Распакуйте архив с iVentoy в удобное расположение.
- Поместите нужные образы в папку ISO в папке с распакованным архивом.
- Запустите исполняемый файл iVentoy.
- Будет открыто окно программы и, автоматически — окно браузера с веб-интерфейсом для управления iVentoy (если этого не произошло, откройте адрес 127.0.0.1:26000 в браузере.
- В веб-интерфейсе на вкладке Boot Information вы можете изменить сетевые настройки (например, при наличии нескольких IP).
- В разделе Configuration можно изменить настройки сети (обычно необходимости в этом нет) и изменить файл, используемый для EFI-загрузки.
- Раздел MAC Filter позволяет разрешить или запретить загрузку с iVentoy по MAC-адресам (по умолчанию, сетевая загрузка будет доступна всем устройствам в сети).
- Раздел Image Management позволяет просмотреть список доступных образов, выбрать образ, используемый по умолчанию. Здесь же есть возможность добавить файлы (в виде архива .7z, например, драйверы) к загружаемому образу (пункт «Injection File») — при загрузке из образов Windows такие архивы будут автоматически распакованы на диск X: (временный диск, создаваемый в программе установки) и доступны в процессе.
- Для того, чтобы сервер PXE iVentoy начал работать, на вкладке «Boot Information» нажмите зеленую кнопку «Play».
После выполнения последнего шага компьютеры в локальной сети смогут загружаться с образов, добавленных в iVentoy.
Загрузка по сети из образа iVentoy
После того, как сервер iVentoy запущен, вам потребуется выполнить следующие шаги:
- В БИОС/UEFI вашего компьютера установите сетевую загрузку в качестве первого устройства загрузки: также, как вы выбираете флешку, локальный диск или Windows Boot Manager. Пункт может иметь название Network Boot, PXE, Ethernet, LAN или другие похожие. Отдельно может потребоваться включить поддержку LAN/PXE загрузки в настройках загрузки или расширенных (Advanced) настройках БИОС.
- Отключите Secure Boot в БИОС (во всяком случае, в моих тестах загрузка с включенной безопасной загрузкой не удалась).
- Сохраните настройки БИОС и запустите компьютер.
- Если ваш компьютер подключен к локальной сети (с помощью кабельного подключения) и всё прошло успешно, вы увидите экран с возможностью выбора образа, с которого требуется загрузиться.
- Загрузку можно производить на нескольких компьютерах в локальной сети. Список подключенных компьютеров и тип загрузки будет отображаться в веб-интерфейсе iVentoy, на компьютере, на котором запущен сервер.
Я тестировал iVentoy в нескольких виртуальных машинах Hyper-V, а не на физических компьютерах. Результаты:
- Проблем при UEFI-загрузке при отключенном Secure Boot нет: как WinPE, так и установочные образы Windows загружаются и работают (полностью процесс установки не проводил).
- Загрузка в Legacy или при включенном Secure Boot не удалась. Первая проблема, вероятнее всего, не будет актуальной на физическом компьютере и связана с особенностью виртуальных сетевых адаптеров в виртуальных машинах Hyper-V первого поколения, информации о том, решаема вторая проблема у меня нет.
Надеюсь, кому-то из читателей новый инструмент будет полезен. Если же у вас есть дополнительная информация по его использованию, буду рад вашему комментарию к статье.
Установка ОС Windows на компьютер – это довольно скучная и муторная задача. Необходимо найти внешний носитель для образа, а после часами сидеть у монитора и наблюдать за процессом установки. Особенно это утомляет, когда необходимо установить один образ на несколько компьютеров. Лучшее решение в таком случае – это установка Windows 10 удаленно по сети. Расскажем о том, как это сделать и не ошибиться.
Установка и настройка TFTP-сервера
TFTP – это специальный сетевой протокол, который позволяет загружать и запускать файлы на бездисковой рабочей машине с выходом в интернет. Для рядовых пользователей он не представляет большого интереса, ведь отличается ненадежностью и ограниченностью функционала, в отличие от того же FTP. Впрочем, для удаленной установки образа – самое то.
Для правильной настройки рекомендуем следовать инструкциям ниже:
- Скачайте бесплатную утилиту TFTP с официального сайта. Необходимо выбрать именно Service Edition. Также учитывайте, что последние версии поддерживают только 64-битные ОС. Для 32 бит стоит выбрать более раннюю версию. Не беспокойтесь, алгоритм установки у них схож.
- Установите утилиту как обычную программу. Стандартное окно мастера установки в автоматическом режиме выполнит установку. С вашей стороны необходимо указать системный диск для установки программы, а также установить все галочки (кроме «Start service monitoring») на последнем этапе установки.
- Включите TFTP и DHCP серверы. Для этого откройте программу и перейдите в раздел «Settings». В новом окне перейдите в подраздел «GLOBAL». Поставьте две галочки напротив соответствующих пунктов.
- Настройте DHCP. Впрочем, этот пункт можно пропустить, если в вашей сети уже автоматически настроен этот протокол. В противном случае вам необходимо вписать в поле «IP pool start address» стартовое значение для IP адресов, а в «Size of pool» – максимальное количество адресов. Также необходимо установить настройки в блоке «DHCP Options» в соответствии с параметрами роутера.
- Укажите путь до дистрибутива в подразделе «TFTP». Дополнительно поставьте галочку напротив «Allow as virtual root».
На этом настройка TFTP завершена.
Подготовка дистрибутива
Процесс создания загрузчика по сети немного отличается от обычной установки через внешний носитель. В последнем случае достаточно загрузить образ на флешку, например, через UltraISO или Rufus. Первым делом нам нужно открыть содержимое ISO-файла установщика. Это можно сделать как с помощью специализированной программы, так и простым архиватором, например, 7z или WinRAR. Более подробный алгоритм:
- В папке, которую вы указали, создайте директорию с названием будущей ОС. Нет строгих стандартов, выбирайте название на свой вкус.
- С помощью архиватора раскройте содержимое установщика.
- Скопируйте оттуда директорию «Sources» в недавно созданную папку.
- Загрузите сетевые драйверы. Скачать «дрова» можно вручную по отдельности. Но в этом случае лучше использовать Snappy Driver Installer, который предоставляет доступ ко всем необходимым драйверам x32 (x86) и x При выборе компонентов сделайте активными только сетевые драйверы.
- Скопируйте из образа файл boot.wim. Дальше необходимо модифицировать файл под новые условия. Сделать это можно через команды Powershell. Поочередно введите следующие команды:
dism.exe /get-imageinfo /imagefile: путь_до_файла\boot.wim
dism.exe /mount-wim /wimfile: путь_до_файла\boot.wim /index:2 /mountdir: *адрес каталога, в который будет смонтирован образ*.
dism.exe /image: *адрес каталога со смонтированным образом* /Add-Driver /Driver:*адрес каталога с драйверами* /Recurse
- Создайте файл с названием winpeshl.ini. Введите в него следующие строки:
[LaunchApps]
init.cmd
- Скопируйте этот файл в директорию system32 внутри установочного каталога.
- Создайте файл сценариев командной строки init и введите в него следующий текст:
@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
wpeinit
:: Mount Net Drive
net use N: %netpath% /user:%user% %password%
IF %ERRORLEVEL% GEQ 1 goto NET_ERROR
:: Run Windows Setup
color 27
echo Starting Windows Setup…
pushd N:\sources
setup.exe
goto SUCCESS
:NET_ERROR
cls
cmd
:SUCCESS
Готово, идем дальше.
Установка загрузчика на сервер
Пожалуй, самый запутанный этап. Алгоритм действий:
- Откройте файл boot.wim в архиваторе, например, 7z.
- Находим самую большую папку и открываем ее.
- Находим файлы pxeboot.n12 и bootmgr.exe, а после копируем их в каталог с окружением установщика, то есть в папку, которую вы недавно создали для установочных файлов.
- Создайте каталог Boot, а после скопируйте в него BCD, memtest.exe, boot.sdi и папки ru_RU и fonts, которые находятся в boot.wim.
- С помощью утилиты BOOTICE настройте файл BCD. Процесс может отличаться, в зависимости от ваших целей.
Не перепутайте и не забудьте скопировать все папки и файлы, ведь они играют важную роль в установке.
Общий доступ
Необходимо открыть доступ к папкам не только внутри системы, но и по локальной сети. Для этого выполните следующие действия:
- Откройте свойства папки с установщиком. Сделать это можно нажатием ПКМ по папке и выбором пункта «Свойства».
- В разделе «Доступ» откройте подраздел «Расширенная настройка».
- В открывшемся окне вводим слово «Сеть» и кликаем «Проверить имена».
Подтверждаем действия нажатием на кнопку «Ок».
Установка ОС
И, наконец, установка, которая ничем не отличается от обычной. Запустите «пустой» компьютер и дождитесь загрузки всех файлов. Следуйте инструкциям мастера установки. Главное, чтобы устройство имело постоянный доступ к сети, иначе оно может не загрузить все важные компоненты.
Благодарим за прочтение.