Установка Windows 10 по локальной сети

*все миниатюры кликабельны

Установка Windows по сети - задача нетривиальная, обычному пользователю такое редко может пригодиться, зато в корпоративных сетях такое встречается чаще, ведь способ установить Windows на 20 компьютеров в сжатые сроки лишь 1. Как показал поиск в Интернете, статей на эту тему много, однако многие из них сложные, разные скрипты не объясняются от слова "совсем", при чем написаны они "криво", а какие-то моменты и вовсе забываются, вследствие чего исправить у себя недочет автора если и можно, то сложно. Я же постараюсь учесть все эти ошибки и предоставить информацию в понятной форме и с объяснениями, чтобы было полное понимание, а при повторении не было пробелов и ошибок. Итак, начинаем.

Этапы установки Windows изнутри

Сперва разберемся с основными этапами установки Windows 10 через флешку, чтобы потом было проще понять логику при установке через локальную сеть (LAN).

  1. В ОЗУ с флешки копируется очень урезанный образ системы (boot.wim), после чего запускается небольшая среда для запуска установщика.
  2. В развернутой среде запускается установщик системы (setup.exe), который распаковывает (разворачивает) на указанный Вами диск готовую систему из другого образа (install.wim).
  3. После перезагрузки развернутая система устанавливает драйверы и настраивается до конца, после чего загружается рабочий стол.

Какие же отличия при установке через LAN? На 1-м этапе загружаться будем через сетевую карту, а на 2-м программа установки запускается с сетевого диска, который подключается специальным скриптом. Сетевой диск - это просто общая папка на другом компе в сети, подключенная как локальный диск, из-за чего она отображается в "Компьютере" и имеет свою собственную букву. Чтобы все это сделать, мы изменим образ boot.wim: добавим драйверы для сети и автозапускаемый скрипт, который будет подключать сетевой диск и запускать установщик системы.

Для загрузки по сети нашу сеть из кучи компов нужно будет настроить. Для этой цели мы будем использовать программу Tftpd64, которая содержит в себе и DHCP (настраивает сеть, т.е. раздает IP-адреса клиентам), и TFTP сервер (его роль - сетевое хранилище данных). Tftpd32 и Tftpd64 - одна и та же программа, только Tftpd32 - 32-битная версия, а Tftpd64 - 64-битная.

Теперь немного справочной информации.

  1. DHCP - протокол для автоматической настройки сети, является дальнейшим развитием BOOTP (Bootstrap Protocol), обратно совместим с ним.
  2. PXE (Preboot eXecution Environment, произносится «пикси») — среда для загрузки ПК с помощью сетевой карты. Для организации загрузки системы в PXE используются протоколы IPUDPBOOTP и TFTP.

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

  1. При загрузке ПК-клиент опрашивает свои устройства.
  2. При опросе сетевой карты будет загружена среда PXE из ROM-памяти сетевой карты.
    1. После загрузки среды PXE происходит поиск DHCP сервера для получения IP.
    2. У найденного DHCP сервера ПК-клиент запрашивает IP-адрес для самого себя, IP-адрес TFTP-сервера и имя файла-загрузчика.
    3. ПК-клиент скачивает с TFTP-сервера исполняемый файл-загрузчик и передает ему управление.
  3. Загрузчик скачивает в ОЗУ необходимые файлы с TFTP-сервера (в том числе и образ boot.wim).
  4. После скачивания boot.wim загружается среда установки.
  5. После загрузки среды автоматически запускается скрипт, который:
    1. Монтирует сетевую папку с файлами установки как сетевой диск.
    2. Запускает с сетевого диска программу установки (setup.exe).

Возникает вопрос: зачем монтировать сетевую папку как диск? Ответ прост:

нельзя просто так взять и запустить setup.exe напрямую

Проблема в том, что после загрузки среды открывается только консоль, при закрытии которой автоматически происходит перезагрузка ПК. Вся работа в среде осуществляется ТОЛЬКО через консоль и консольные утилиты. А консоль не умеет работать с сетью и открывать файлы, лежащие на других ПК, поэтому мы не можем зайти в какую-либо сетевую папку через команду cd и открыть нужный файл.

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

План действий

Итак, вся работа по установке Windows по сети сводится к следующим действиям:

  1. Подготовка установочных файлов
    1. Откуда взять драйверы?
    2. Вариант 1 – загрузка всех сетевых драйверов
    3. Вариант 2 – выборочная загрузка драйверов
    4. Интеграция сетевых драйверов и скрипта настройки
    5. Настройка загрузчика
  2. Настройка сети и Tftpd64
  3. Настройка Брандмауэра Windows
  4. Включение видимости в сетях
  5. Включение общего доступа к файлам установки
  6. Установка загрузки через сеть в BIOS
  7. Проверка на VirtualBox
  8. Установка системы по LAN на реальную машину
  9. Заключение

С принципом загрузки разобрались, с этапами работы определились. Начинаем.

Этап 1. Подготовка установочных файлов

Совет: не используйте папки с длинными путями – прописывать длинные пути в дальнейшем будет неудобно.

Сначала разберемся с файлами. В качестве основной рабочей папки я буду использовать E:\Win10x64_LanSetup. Эта папка будет корневой папкой нашего будущего сервера.

Для начала в нее нужно скопировать папку Sources из образа Windows 10. Это можно сделать с помощью любого архиватора или просто примонтировав образ и скопировав папку.

Теперь нужно настроить загрузочный образ – файл boot.wim, который отвечает за установочную среду. Для этого создадим в основной папке новую папку с именем Image и скопируем в нее файл boot.wim, который лежит в папке Sources.

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

Откуда взять драйверы?

Для этого качаем Lite-версию Snappy Driver Installer с официального сайта.

Страница загрузки Snappy Driver Installer

Эта программа – огромная куча различных драйверов. Она распространяется в виде .zip-архива, так что распаковываем его и запускаем программу. Появится вот такое окно:

Начальное окно Snappy Driver Installer

Теперь у нас есть 2 варианта:

  1. Нажать «Загрузить сетевые Драйвер-Паки», тем самым скачав все сетевые драйвера (около 800 Mb на момент написания статьи).
  2. Выбрать только те, которые нас интересуют.

Вариант 1 – загрузка всех сетевых драйверов

Если у вас куча времени, вам лень разбираться в программе и все равно на размер образа, то можете скачать все сетевые драйверы. Для этого жмем на кнопку «Загрузить сетевые Драйвер-Паки» – и у нас сразу же начнется скачивание драйверов.

Загрузка всех сетевых драйверовПроцесс загрузки всех сетевых драйверов

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

Предложение обновить драйверы

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

Вариант 2 – выборочная загрузка драйверов

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

Теперь нажимаем на широкий прямоугольник в верхней части окна, затем в открывшемся окне жмем на кнопку «Только сетевые».

Как видно, после нажатия на кнопку «Только сетевые» программа предлагает мне скачать пакеты драйверов на Wi-Fi, 4G и LAN (еще несколько пакетов LAN не влезло на скрин).

ПК-клиент, на который будет ставиться система, будет загружаться через LAN, так что первые 2 пакета нам не нужны и с них мы галочки снимаем.

Итак, скачивать я буду следующие пакеты драйверов:

Осталось нажать на кнопку «ОК» и дождаться окончания загрузки драйверов. Кстати говоря, повторно нажав на тот широкий прямоугольник (который является еще и индикатором загрузки), вы всегда можете докачать что-нибудь еще.

После выборочного скачивания тоже предлагается обновить драйверы. Но мы закрываем программу и возвращаемся к ее папке: в ней есть подпапка drivers, в которой лежат все скачанные драйверы в виде архивов. Распаковываем архивы в какую-нибудь временную папку. Я решил распаковать их на месте, каждый архив – в свою папку. Это можно удобно сделать WinRAR или 7-Zip – оба архиватора это делать:

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

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

Итак, у нас есть образ среды установки и распакованные сетевые драйвера. Алгоритм интеграции:

  1. Монтируем образ во временную папку (проще говоря, распаковываем образ как архив).
  2. Интегрируем драйверы в смонтированный образ.
  3. Отключаем образ с сохранением изменений (запаковываем обратно).

Монтировать образ в папку мы будем через утилиту DISM. Ее скачивать не нужно – она уже есть в системе (как в Win 7, так и в Win 10). Сначала создаем временную папку в удобном месте (помните про совет в начале статьи). Я буду монтировать в папку D:\mnt. Эту папку нужно создать самим, т.к. DISM ее автоматически не создаст.
Теперь открываем консоль или PowerShell от имени Администратора и вводим команду по такому шаблону:

dism.exe /get-imageinfo /imagefile:*путь к папке Image*\boot.wim

Так как моя рабочая папка – это папка E:\Win10x64_LanSetup, то в моем случае команда будет выглядеть так:

dism.exe /get-imageinfo /imagefile:E:\Win10x64_LanSetup\Image\boot.wim

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

D:\Windows 10 Lan\Image\boot.wim

В данной команде был бы прописан так:

dism.exe /get-imageinfo /imagefile:"D:\Windows 10 Lan\Image\boot.wim"

Данной командой мы узнали, сколько образов лежит .wim-архиве:

В архиве 2 образа. Нам нужен тот, который содержит в имени «Setup», т.е. образ с индексом 2. Запоминаем индекс. Шаблон команды монтирования:

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

В моем случае команда будет такая:

dism.exe /mount-wim /wimfile:E:\Win10x64_LanSetup\Image\boot.wim /index:2 /mountdir:D:\mnt

Образ смонтирован в папку: теперь во временной папке лежит содержимое смонтированного образа, и мы можем изменить его для последующей обратной упаковки.

Теперь интеграция драйверов. Т.к. у меня образ 64-битной Windows 10, то из пакета драйверов мне нужно брать только x64-битные версии. Папки с такими драйверами содержат в названии «x64». Например:

Поэтому нужно пробежаться по всем папкам и удалить папки, содержащие в названии «x86». Муторно, но лишние драйверы не нужны - они просто не заработают.

Для интеграции драйверов напишем в консоли команду по такому шаблону:

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

В этой команде ключ /Recurse указывает на то, что драйверы искать нужно не только в указанной в ключе /Driver папке, но и подпапках. Таким образом не нужно выполнять эту команду для каждого отдельного драйвера, достаточно указать папку со всеми драйверами.

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

dism.exe /image:D:\mnt /Add-Driver /Driver:D:\User's files\Desktop\SDI_R2102\drivers\DP_LAN_Intel_21023 /Recurse

После нажатия Enter может показаться, что консоль зависла, но нет – DISM подсчитывает драйверы перед интеграцией (скриншот 1). Потом начинается интеграция (скриншот 2), которая в моем случае закончилась через 2 минуты.

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

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

[LaunchApps]
init.cmd

Всё. Теперь после загрузки среда будет автоматически запускать скрипт init.cmd, который мы сейчас создадим. В этой же папке создаем новый .cmd-скрипт с именем init.cmd. В него пишем этот код:

:::::::::::::::::::::::::::::::::::::::
:: INIT SCRIPT ::
:::::::::::::::::::::::::::::::::::::::
@echo off title
NETWORK INSTALLER SETUP
color 3F

:INCORRECT
cls echo.

echo НАСТРОЙКА СЕТИ
echo.
set /p ip="Введите IP-адрес TFTP-сервера: "
echo.
set /p folder="Введите имя общей папки с установочными файлами Windows: "
echo.
echo Проверьте путь:
echo \\%ip%\%folder%
echo.

set /p answer="Если путь верный, введите '1', иначе введите '2': "

if not %answer% == 1 (
     goto INCORRECT
)

:: WPEINIT start
echo.
echo Запуск wpeinit.exe...
wpeinit
echo.

:: Mount Net Drive
echo Монтирование сетевого диска N:\ ...
net use N: \\%ip%\%folder%
IF %ERRORLEVEL% GEQ 1 goto NET_ERROR
echo Диск смонтирован успешно!
echo.

:: Run Windows Setup
color 2F
echo Запуск программы установки Windows. Не закрывайте консоль во избежание перезагрузки компьютера.
pushd N:\Sources
setup.exe
goto SUCCESS

:NET_ERROR
color 4F
::cls
echo Ошибка: не удалось смонтировать сетевой диск. Проверьте сетевые подключения и доступ к общей папке.
echo.
echo Подсказка: для проверки сетевых подключений воспользуйтесь командой 'ipconfig', для повторного запуска скрипта - командой 'init'.
echo.
cmd

:SUCCESS

Сохранить файл нужно в кодировке OEM 866 (Notepad++ или любой другой умный текстовый редактор в помощь), иначе вместо русских символов будут отображаться кракозябры. Если не знаете, как это сделать, просто замените русский текст английским.
Теперь размонтируем образ - возвращаемся к консоли и вводим команду по такому шаблону:

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

В моем случае команда выглядит так:

dism.exe /unmount-wim /mountdir:D:\mnt /commit

Если же вы хотите размонтировать образ БЕЗ сохранения внесенных в него изменений (например, сделали что-то не так и хотите начать сначала), просто замените ключ /commit на ключ /discard.

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

Возможные ошибки

Если при сохранении и отключении образа сохранение прошло успешно, а при отключении образа произошла ошибка, выполните команду по отключению без сохранения, т.е. с ключом /discard.

С основными файлами закончили, консоль можно закрывать.

Настройка загрузчика

Теперь нужно настроить загрузчик для загрузки по сети.

  1. Для этого открываем boot.wim с помощью 7-Zip (можно и просто снова примонтировать образ в папку через DISM, но менять его нам уже не нужно, а выдергивать из него файлы через 7-Zip гораздо проще).
  2. Переходим в папку с индексом, который запомнили на этапе интеграции драйверов. В моем случае это папка 2.

  1. Далее в 7-Zip идем по пути Windows\Boot\PXE.
  2. Находим там файлы pxeboot.n12 и bootmgr.exe. Копируем эти 2 файла в корень нашего TFTP-сервера, т.е. в моем случае в папку E:\Win10x64_LanSetup.

  1. В корне сервера создаем папку Boot.
  2. Возвращаемся к 7-Zip, переходим по пути *индекс образа*\Windows\Boot\DVD\PCAT.
  3. В созданную ранее папку Boot копируем файлы BCD, boot.sdi и папку ru_RU из 7-Zip.

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

После вышеуказанных действий корневая папка TFTP-сервера должна выглядеть так:

А папка Boot - так:

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

  1. Запускаем программу и переходим на вкладку BCD («Редактирование BCD»).
  2. Отмечаем опцию Other BCD file («Другой BCD файл») и в окне проводника указываем файл BCD, который расположен в папке *корень TFTP-сервера*\Boot.
  3. Нажимаем на кнопку Easy Mode («Простой режим»).

  1. В блоке Global Settings («Основные настройки») изменяем значение Timeout(s) («Пауза (сек)») с 30 на 0.
  2. В Boot language («Язык загрузки») устанавливаем значение ru_RU и отмечаем пункты «Display boot menu» («Показать меню загрузки») и «No integrity checks» («Не проверять целостность»).
  3. В блоке Options («Опции») в поле OS Title («Заголовок OS») напишем Windows 10 x64.
  4. В блоке Boot device («Устройство Загрузки») пропишем пусти к WIM-образу (строка File или «Файл») и SDI-файлу (строка «SDI file» или «Файл SDI»).
  5. Нажмем Save current system («Сохранить текущую систему») и Close («Закрыть») для сохранения конфигурации и закрытия окна.

  1. В окне утилиты выбираем Professional Mode («Профессиональный режим»).

  1. Слева в древовидном списке раскрываем меню Application objects и выделяем левой кнопкой мыши название системы, которое только что вписали в настройки.
  2. В правой части окна кликаем правой кнопкой мыши и выбираем значение New element («Новый элемент»).

  1. Задаем элементу имя DisableIntegrityChecks и жмем «ОК».

  1. В окне устанавливаем параметры True/Yes («Истина/Да») и жмем «ОК». Появится окно с сообщением об успешном изменении элемента.

Все, загрузчик настроен, BOOTICE можно закрывать.

Этап 2. Настройка сети и Tftpd64

Теперь настраиваем сеть и Tftpd64. Сначала сеть.

Нажимаем сочетание клавиш "Пуск" и R. Откроется окно "Выполнить". Вводим ncpa.cpl и жмем "ОК". Откроется окно "Сетевые подключения" со списком интерфейсов (проще говоря, сетевых карт). Ищем интерфейс своей сетевой карты LAN, обычно он называется "Подключение по локальной сети" или "Ethernet" (как раз мой случай). Дважды кликаем по нему для открытия свойств. В списке компонентов находим пункт IP версии 4 (TCP/IPv4) и кликаем по нему 2 раза для открытия свойств. Перед нами откроется окно свойств компонента, в котором можно ввести различные IP-адреса. Если у вас выбран пункт "Получить IP-адрес автоматически", то переключаем его на "Использовать следующий IP-адрес" и вводим:

  • IP-адрес: 192.168.1.1
  • Маска подсети: 255.255.255.0

Таким образом мы установили статический IP-адрес для сетевой карты. К этому IP мы привяжем сервера Tftpd64. Жмем "ОК" и закрываем окна свойств и сетевых подключений.

Теперь устанавливаем и открываем Tftpd64. Перед нами главное окно программы.

Главное окно TFTPD

Нажимаем на кнопку Settings внизу и в окне настроек сразу переходим на вкладку GLOBAL.

Вкладка GLOBAL

Здесь отмечаем интересующие нас сервера (TFTP Server и DHCP Server) и переходим на вкладку TFTP.

Вкладка TFTP

Здесь нас интересуют только Base Directory и блок Advanced TFTP Options. Разберем их.

Base Directory - путь к корневой папке нашего TFTP-сервера, т.е. в моем случае E:\Win10x64_LanSetup\.

В блоке Advanced TFTP Option отмечаем такие пункты:

  1. PXE Compatibility - режим совместимости с PXE (включает согласование о размерах файлов).
  2. Show Progress Bar - включает отображение окна с показом прогресса передачи данных.
  3. Translate Unix file names - включает замену символа слеша в путях на обратный слеш ('\').
  4. Bind TFTP to this address - один из самых главных пунктов - привязывает TFTP-сервер к определенному IP-адресу. Таким образом, если у вас несколько сетевых карт (например, Wi-Fi и LAN), вы можете привязать сервер только к адресу определенной сетевой карты, а не ко всем сразу. Включаем и указываем адрес, который вводили при настройке сети, т.е. 192.168.1.1.
  5. Allow '\' As virtual root - указывает, что пути, начинающиеся с обратного слеша ('\'), указывают не на начало локального диска, а на корневую папку TFTP-сервера. Вспомните, например, как мы указывали пути к boot.wim и boot.sdi в конфигурации загрузчика.

Вкладка DHCP

В блоке DHCP Pool definition заполняем такие поля:

  1. IP pool start address - IP-адрес, с которого начнется раздача адресов клиентам (обычно ставится следующий после IP DHCP сервера).
  2. Size of pool - размер пула адресов для раздачи или, проще говоря, максимальное количество клиентов, работающих одновременно.
  3. Boot File - файл-загрузчик, который будет запрошен клиентом у TFTP-сервера. Здесь указываем pxeboot.n12.

В блоке DHCP Option заполняем 4 поля:

  1. Def. router (сокращенное Default router) - IP-адрес шлюза сети, шлюзом будет мы, так что ставим наш IP-адрес.
  2. Mask - маска для IP-адресов наших клиентов. Ставим 255.255.255.0.
  3. DNS Server и WINS server - адреса DNS и WINS серверов. Не заморачиваемся и ставим публичные адреса серверов Google 8.8.8.8 в обоих полях.

Теперь последний блок DHCP Settings

  1. Ping address before assignation - делать ping адреса перед выдачей адреса.
  2. Persistant leases - клиенты будут запрашивать адреса на долгосрочную аренду.
  3. Bind DHCP to this address - полностью аналогично пункту "Bind TFTP to this address" на вкладке TFTP, только относится к DHCP серверу.

Возможные ошибки Tftpd64

Ошибка "Can't connect to the serviceError 10061" возникает в случае, когда служба Tftpd64 не запущена. Проверьте состояние службы и запустите ее, если она не запущена.

Этап 3. Настройка Брандмауэра Windows

Скорее всего, брандмауэр не даст нормально работать Tftpd64. Есть 2 варианта решения проблемы: добавление Tftpd64 в исключения и временное отключение брандмауэра. Из-за большого размера статьи будет описан только 2-й способ, первый легко нагуглится.

Открываем "Пуск" и сразу набираем "безопасность", затем открываем найденное "Безопасность Windows" и переходим в раздел "Брандмауэр и безопасность сети".

Здесь мы видим 3 профиля: "Сеть домена", "Частная сеть" и "Общедоступная сеть". Заходим в тот, который отмечен активным и выключаем брандмауэр. После установки не забываем включить его обратно!

Этап 4. Включение видимости в сетях

Теперь необходимо включить видимость в сети. Для этого открываем Панель управления и вверху справа в поиске вбиваем "Центр управления сетями и общим доступом", открываем его.

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

Теперь необходимо создать новую учетную запись на ПК-сервере с паролем. Для простоты этот этап я опущу - он легко гуглится в интернете. Я, например, создал учетную запись с именем 'net' и паролем также 'net'.

Этап 5. Включение общего доступа к файлам установки

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

  1. Открываем свойства папки с файлами установки и переходим во вкладку "Доступ".

Если вкладки нет, значит кто-то или что-то ранее отключило показ вкладки (или нужный для нее компонент, например, службу). Например, я однажды так "поиграл" с программой Win10Tweaker, о чем позже пожалел.

  1. Далее жмем кнопку "Расширенная настройка" и ставим галочку "Открыть общий доступ к этой папке".

Теперь остальная часть окна разблокировалась. Строку "Имя общего ресурса" НЕ меняем: это сетевое имя папки, т.е. под таким именем наша папка будет видна из сети.

  1. Жмем на кнопку "Разрешения", а затем в новом окне - кнопку "Добавить...".

В этом окне мы добавим нашего ранее созданного пользователя, чтобы выдать ему права на чтение папки. Т.е. в моем случае это будет пользователь "net".

  1. В единственном поле ввода с подсказкой мы пишем имя пользователя, а затем жмем кнопку "Проверить имена".

Если имен найдется несколько, появится окно с уточнением, кого именно добавлять. Лично у меня так и получилось, ведь слово "net" содержится и в имени моего пользователя "net", и в имени группы пользователей "NETWORK SERVICE". Просто выбираю своего пользователя и жму "ОК".

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

  1. Теперь снова жмем "ОК". В окошке "Разрешения для группы..." кроме пункта "Все" теперь появился наш пользователь. По галочкам в списке прав внизу видно, что у него уже стоит разрешение на чтение, так что тоже жмем "ОК". В окне "Расширенная настройка общего доступа" ничего менять не надо - жмем "ОК".

Но это еще не все. Доступ-то мы открыли, однако система безопасности Windows будет блокировать наши попытки зайти в эту папку под нашим пользователем. Для исправления этого переходим во вкладку "Безопасность". Чтобы добавить нашего пользователя в список разрешенных, жмем кнопку "Изменить" и проделываем ровно ту же процедуру, что описана выше. Т.е. жмем "Добавить...", вводим имя пользователя, затем "Проверить имена", "ОК" и "ОК".

В итоге во вкладке "Безопасность" в списке "Группы или пользователи" должен появиться наш пользователь с разрешениями "Чтение и выполнение", "Список содержимого папки" и "Чтение". Все верно? Жмем "Закрыть"!

Этап 6. Установка загрузки через сеть в BIOS

Этот этап достаточно "индивидуальный", потому что напрямую зависит от BIOS целевой машины. Посоветовать здесь можно лишь одно: проверьте, разрешена ли вообще загрузка через PXE. Потому что если она запрещена, то при выборе устройства для загрузки в списке пункта, связанного с LAN, вообще не будет.

Этап 7. Проверка на VirtualBox

Этот этап опциональный, здесь мы проверим с помощью виртуальной машины (ВМ), все ли сделано правильно.

Первым делом надо настроить виртуальный адаптер хоста, а именно отключить встроенный DHCP сервер VirtualBox и установить статический IP для нашего хоста в сети VirtualBox. Для этого открываем VirtualBox и щелкаем по правой кнопке на разделе "Инструменты".

Теперь мы в разделе управления сетями VirtualBox. Здесь в списке видна наша виртуальная сетевая карта хоста. Снимаем галочку для отключения DHCP сервера для нее и выставляем IP и маску подсети вручную. Ставим стандартные 192.168.56.1 и 255.255.255.0 соответственно.

Жмем "Применить". Теперь создаем машину на Windows 10 x64. У себя ОЗУ я выставил на 4 Gb, но в целом ставим по возможности железок.

После создания открываем настройки ВМ и меняем следующие параметры:

  1. В разделе "Система", в порядке загрузки машины отключаем ненужные нам "Гибкий диск" и "Оптический диск". Не забываем включить "Сеть". Перемещать пункт "Сеть" на первое место не обязательно: т.к. на виртуальном жестком диске никакой системы нет, загрузиться с него все равно не удастся, так что ВМ сама будет пробовать загрузиться по LAN после неудачной попытки загрузки с HDD.
  2. В этом же разделе лучше поставить побольше ядер процессора для увеличения производительности.
  3. В разделе "Сеть" в пункте "Тип подключения" ставим "Виртуальный адаптер хоста". Таким образом наша виртуальная машина находится в одной локальной сети с хостом. Теперь разворачиваем раздел "Дополнительно" и в пункте "Неразборчивый режим" ставим "Разрешить всё". Таким образом сетевая карта не будет игнорировать вообще никакие пакеты.

ВМ готова, жмем "ОК".

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

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

На этом скриншоте показано, что происходит загрузка файла boot.wim с компа в сети с IP 192.168.56.1, т.е. с хоста.

Возможные ошибки при загрузке ВМ по LAN

  1. Если при загрузки ВМ через LAN машина не может получить адрес, а в разделе DHCP окошка Tftpd список выданных адресов пуст, значит пакеты от машины до Tftpd даже не доходят и нужно проверить адреса, указанные в Tftpd.
  2. Если при загрузке ВМ через LAN машина не может получить адрес, а в разделе DHCP окошка Tftpd в списке выданных адресов появляется новый адрес, то пакеты от машины до Tftpd доходят, а вот обратно - нет. Вывод: проверяем брандмауэр. Tftpd либо надо добавить в исключения, либо нужно вырубить брандмауэр.

В итоге после удачной загрузки виртуальной машины мы увидим вот такую картину:

Вводим здесь IP нашего хоста, т.е. 192.168.56.1.

Теперь скрипт попросит ввести сетевое имя папки с файлами установки, о котором я рассказывал выше в главе о настройке общего доступа к папке и специально говорил его не менять. Именно потому, что мы его не меняли, просто вводим обычное имя папки с файлами установки. Если бы мы его сменили, то здесь бы мы вводили именно сетевое имя. Затем скрипт спросит, верно ли мы ввели данные. Тут все просто: 1 = "верно", 2 = "давай введу заново".

После этого запускается утилита для монтирования сетевой папки в качестве диска. Она спросит у нас сначала имя, а потом и пароль пользователя для подключения к хосту. Здесь мы вводим данные от созданного ранее пользователя, т.е. я ввел имя и пароль "net" (да, с паролем я не заморачивался :-) ). Учтите, что при вводе пароля никакие символы вообще не отображаются. Это не ошибка, все в порядке.

Все. После успешного монтирования консоль меняет цвет на зеленый и запускается установщик системы. Дальше - все, как обычно: выбираем язык, соглашаемся продать душу дьяволу принимаем лицензионное соглашение Microsoft, выбираем диски и т.д. После перезагрузки системы все тоже все как обычно, т.е. грузиться нужно уже с HDD.

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

В этом случае мы можем запустить скрипт заново. Просто вводим "init" в консоль, жмём Enter и пробуем снова.

Установка системы по LAN на реальную машину

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

  1. Статический IP нужно поставить уже для реальной сетевой карты ПК-сервера. Сочетание "Пуск" + R, вводим "ncpa.cpl", выбираем подключение нужной сетевой карты и ставим статический IP. Обычно ставят классический 192.168.1.1, маска стандартная: 255.255.255.0.
  2. В Tftpd64 нужно поставить верные IP для серверов, т.е. раз мы в предыдущем пункте выставили IP ПК-сервера на 192.168.1.1, то значения всех полей, где стоит адрес сети VirtualBox (192.168.56.1) надо поменять на 192.168.1.1.

Заключение

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

Итак, статья завершена. Это моя первая работа, она получилась очень большой и подробной, но все это только ради качества. На написание было потрачено ОЧЕНЬ много времени и сил, поэтому если она помогла вам, то напишите об этом комментарий = дайте об этом знать. :-)

* to be continued...maybe)

Категория: Windows | Добавил: Ivanshka (11.06.2021) | Автор: Ivanshka E W
Просмотров: 731 | Рейтинг: 0.0/0
Всего комментариев: 0
avatar