Сегодня 19 сентября 2026
18+
MWC 2018 2018 Computex IFA 2018
реклама
Мастерская

PXE Win Install: установка Windows 7 по сети

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

Ранее мы уже познакомились с процессом массированного разворачивания по сети готового образа жёсткого диска с предустановленной Windows 7 сразу на множество машин. Использовали мы для этого связку из DRBL и Clonezilla. Ключевой недостаток данного подхода заключается в отсутствии гибкости, связанном с вынужденным ограничением на использование однотипной конфигурации клиентских ПК. Развивая тему сетевой загрузки, мы рассмотрели создание универсального PXE-реаниматора. В этом случае ПК при старте подгружает с сервера в оперативную память live-образ той или иной ОС и работает с ним.

Аналогичным образом мы можем загрузить по сети среду предустановки Windows (PE), подмонтировать расшаренную папку с установочными файлами и запустить оттуда инсталлятор. Похожим образом работают и фирменные сервисы Microsoft RIS или WDS, однако они требуют наличия Windows Server. В случае не очень большого числа клиентских машин можно обойтись бесплатными решениями. Пример «классической» реализации такой схемы мы и рассмотрим. На одном из компьютеров с Windows Vista/7 будет поднят DHCP/TFTP/SMB-сервер.

О требованиях к железу уже говорилось в предыдущих материалах. Тем не менее ещё раз кратко пробежимся по ним. Во-первых, в BIOS всех компьютеров должна быть включена сетевая загрузка. Во-вторых, все машины необходимо на время объединить в изолированную локальную сеть, желательно гигабитную. Естественно, их конфигурация должна удовлетворять требованиям 32-битной Windows 7, так как установку именно этой ОС мы и будем рассматривать. Но в общих чертах описываемый метод подойдёт и для Windows Vista. Про «восьмёрку», пожалуй, говорить ещё рано.

Нам опять понадобится Windows Automated Installation Kit (WAIK). Скачиваем ISO-образ, распаковываем или монтируем его и устанавливаем этот набор утилит. В главном меню выбираем Microsoft Windows AIK → Deployment Tools Command Prompt. Перед нами откроется консоль, в которой надо ввести следующую команду:

copype.cmd x86 C:\WinPE
 

Эта команда копирует в каталог C:\WinPE файлы, необходимые для создания образа с предустановочным окружением 32-разрядной Windows 7. Для 64-битной версии надо указать параметр amd64 вместо x86. Сразу же создайте ещё одну папку C:\TFTP\, которая будет корневой для TFTP-сервера, а в ней сделайте директорию Boot. В последней будут храниться загрузочные файлы. Чтобы получить оные, нужно смонтировать базовый wim-образ Windows PE и скопировать их оттуда.

imagex /mountrw winpe.wim 1 mount
copy mount\Windows\Boot\PXE\*.* C:\TFTP\Boot
 

Команда imagex всего лишь распаковывает файлы из wim-образа в подпапку mount. Их можно отредактировать или, к примеру, добавить свои, а потом снова упаковать в единый архив. Этим займёмся чуть позже, а пока закроем и снова откроем Deployment Tools Command Prompt, скопируем ещё один важный файл и отмонтируем образ.

copy x86\boot\boot.sdi C:\TFTP\Boot
cd /d C:\WinPE 
imagex /unmount mount
 

Скопируем файл winpe.wim в каталог C:\TFTP\Boot под именем boot.wim и приступим к созданию загрузочного меню Windows (BCD).

copy winpe.wim C:\TFTP\Boot\boot.wim
cd /d C:\TFTP\Boot 
bcdedit -createstore BCD
 

В простейшем случае нам достаточно указать параметры для RAM-диска.

bcdedit -store BCD -create {ramdiskoptions} /d "Ramdisk options" 
bcdedit -store BCD -set {ramdiskoptions} ramdisksdidevice boot 
bcdedit -store BCD -set {ramdiskoptions} ramdisksdipath \boot\boot.sdi
bcdedit -store BCD -create /d "PE Boot Image" /application osloader
 

Обратите внимание на вывод последней выполненной команды. В нём содержится GUID, который надо скопировать и подставить вместо {guid} в командах ниже.

bcdedit -store BCD -set {guid} systemroot \Windows 
bcdedit -store BCD -set {guid} detecthal Yes 
bcdedit -store BCD -set {guid} winpe Yes 
bcdedit -store BCD -set {guid} osdevice ramdisk=[boot]\Boot\boot.wim,{ramdiskoptions} 
bcdedit -store BCD -set {guid} device ramdisk=[boot]\Boot\boot.wim,{ramdiskoptions}

Для начала стоит попробовать загрузиться с «чистого» образа Windows PE. Однако кое-какие правки в него надо будет внести. Во-первых, могут понадобиться драйвера для сетевой карты или контроллера жёсткого диска. Во-вторых, неплохо было бы сделать автоматическое подключение к сетевой папке и запуск установщика. Снова открываем консоль WAIK и монтируем загрузочный образ.

cd /d C:\WinPE 
imagex /mountrw winpe.wim 1 mount

Для добавления драйверов (в виде *.inf и сопутствующих файлов, конечно же) используется следующая команда:

dism /image:mount /add-driver /driver:Путь до папки или inf-файла

Также необходимо отредактировать простой текстовый файл [C:\WinPE\]mount\windows\system32\startnet.cmd. Этот скрипт выполнится при старте PE-окружения и будет монтировать сетевую папку в качестве логического диска, с которого запустится установщик Windows 7.

wpeinit
net use z: \\192.168.0.51\Win7Install password /user:username
z:\setup.exe 

192.168.0.51 — это IP-адрес сервера, с которого производится установка. На нём надо скопировать все файлы с инсталляционного образа Windows 7 в какую-либо папку (в нашем примере это Win7Install) и открыть к ней доступ по сети. Вместо password и username надо соответственно указать пароль и имя локального пользователя. Можно даже создать отдельную учётную запись под это дело. В конце не забудьте закрыть wim-файл с применением изменений и скопировать его в директорию TFTP-сервера. Консоль можно закрыть.

imagex /unmounts /commit mount
copy winpe.wim C:\TFTP\Boot\boot.wim
 

Ранее мы уже касались темы файла ответов для автоматизации процесса установки и первичной настройки Windows 7. В данном случае мы также имеем полное право использовать его возможности. Для подготовки файла лучше воспользоваться утилитой Windows System Image Manager из комплекта WAIK. После запуска в меню выбираем File → New answer file, затем нам предложат выбрать установочный образ системы. Он находится в каталоге sources, откуда будет производиться установка ОС (в нашем примере Win7Install/sources) — выбирайте файл с расширением clg и вашей редакцией ОС в качестве имени (например, install_Windows 7 PROFESSIONAL.clg).

В панели Windows Image имеется дерево компонентов, которые можно настраивать. Для этого надо кликнуть по любому из них правой кнопкой мыши и во всплывающем меню выбрать пункт Add Setting to Pass * — он тут же появится в панели Answer File, где можно будет отредактировать различные параметры. Например, добавить учётные записи, разбить диски, установить обновления и так далее. Мы не будем подробно останавливаться на наполнении файла ответов — всю необходимую информацию можно почерпнуть в Сети или из встроенной справки. Готовый файл надо сохранить всё в той же установочной директории sources под именем autounattend.xml.

Осталось совсем немного. Необходимо настроить DHCP и TFTP. В принципе, вы можете использовать практически любые программные реализации этих серверов. Мы же для примера воспользуемся универсальной утилитой Serva32/64. После запуска программы надо кликнуть по кнопке Settings, перейти на вкладку DHCP и отметить галочкой пункт DHCP server. Чуть ниже кликаем по Bind DHCP to this address и в выпадающем списке выбираем IP-адрес сетевого интерфейса, на котором будет работать сервер. Естественно, адрес должен быть статичным и заранее заданным.

В поле IP Pool 1st addr указываем начальный IP-адрес диапазона выдаваемых адресов, а в Pool size — число DHCP-клиентов. Не забудьте также прописать маску подсети (Subnet mask). Наконец, в Boot File указываем относительный путь до файла PXE-загрузчика. В нашем случае это может быть pxeboot.com или pxeboot.n12. В первом случае для старта сетевой загрузки будет предложено нажать клавишу F12, иначе будет продолжен запуск с локальных носителей. Если F12 отсутствует, то надо указать второй загрузчик (возможно, придётся переименовать его в pxeboot.com).

На вкладке TFTP аналогичным образом включаются галочки TFTP Server и Bind TFTP to this address, указывается корневая папка сервера (у нас это C:\TFTP) и обязательно отмечается опция Option negotiation, а PXE Compatibility выключается. Всё, теперь нажимаем OK, сохранив тем самым настройки, и перезапускаем утилиту. Проверьте, чтобы брандмауэр не блокировал используемые порты (UDP 67-69). Можно попробовать загрузиться по сети на одной из клиентских машин. Для выявления проблем используйте логи, которые генерирует Serva. Если всё в порядке, автоматически запустится инсталлятор Windows 7, дальнейшая работа с которым ничем не отличается от той, что идёт при загрузке с установочного USB/DVD/HDD.

Вот, собственно, и всё. Мы разобрали довольно простой пример сетевой установки Windows 7. Как его можно улучшить? Ну, во-первых, можно добавить дополнительные опции в загрузчик Windows, чтобы он по умолчанию загружался с локальных носителей, а не по сети. Во-вторых, загрузчик syslinux, о котором говорилось в прошлый раз, можно спокойно использовать с утилитой Serva32/64. Формат файла конфигурации (pxelinux.cfg/default) тот же самый. В-третьих, не помешает глубже изучить возможности файла ответов и автоматической инсталляции Windows. В общем, есть куда копать. Но это мы оставим для самостоятельного изучения и на прощание традиционно пожелаем удачи в сетевых экспериментах.

Было интересно? Скажите об этом Google, чтобы чаще получать ссылки на наши новости про мастерская
 
 
Если Вы заметили ошибку — выделите ее мышью и нажмите CTRL+ENTER.

window-new
Soft
Hard
Тренды 🔥
Путь на дно: суд обязал Microsoft раскрыть внутренние документы и переписку топ-менеджеров в деле о перепродаже лицензий на ПО 2 ч.
Персональный ИИ-агент Muse от Meta возглавил рейтинг App Store всего через неделю после релиза 6 ч.
SpaceXAI удвоила точность распознавания речи в новой модели Grok Voice Transcribe 2.0 7 ч.
Anthropic сделала первый шаг к замедлению ИИ — Accenture будет проверять Claude изнутри 7 ч.
Европейские разработчики ИИ выступили против призывов США замедлить темп 9 ч.
Alibaba выпустила всеядную модель Qwen3.8-Omni-Flash с контекстом на 1 млн токенов 10 ч.
Anthropic до IPO собирается выпустить ИИ-модель, которая станет ответом на OpenAI GPT-6 Astra 12 ч.
Новая статья: Doloc Town — достойная наследница Stardew Valley. Рецензия 20 ч.
Фэнтезийная 4X-стратегия Endless Legend 2 покинула ранний доступ — онлайн в Steam вырос в 10 раз 21 ч.
Более 100 экспертов предупредили: независимая проверка безопасности ИИ сейчас почти невозможна 21 ч.
Урезанная Radeon RX 9050 с 4 Гбайт памяти оказалась в среднем на 37 % медленнее версии с 8 Гбайт 2 ч.
Исследователь OpenAI предупредил: ИИ-агенты способны общаться даже на отключённых от Сети компьютерах 3 ч.
Создана не имеющая аналогов плёночная теплоизоляция — она сдерживает тепло в пять раз лучше силикона 3 ч.
До 64 Пбайт для KV-кеша: Huawei представила платформу хранения OceanStor M900 для ИИ ЦОД 4 ч.
Заработал первый в истории общеевропейский проект по сбору и захоронению углекислого газа в толще морского дна 4 ч.
«Искусственные листья» научили добывать водород из грязной морской воды — для этого нужен только солнечный свет 7 ч.
HP представила ноутбук со 192 Гбайт памяти — 160 Гбайт можно отдать встроенной Radeon 7 ч.
Контракт на миллиард: NASA заказало ещё три пилотируемых миссии SpaceX Crew Dragon 10 ч.
Выручка OpenAI к концу 2030 года вырастет до $350 млрд, но всё равно не сможет покрыть расходы 13 ч.
Anthropic решила провести IPO в ноябре, и скоро выйдет на уровень годовой выручки в $100 млрд 14 ч.