Бездисковая загрузка windows 10 по сети pxe
Настройка PXE-сервера для загрузки Windows PE Configure a PXE server to load Windows PE
Относится к Applies to
В этом пошаговом руководстве описано, как настроить PXE-сервер для загрузки Windows PE при запуске клиентского компьютера по сети. This walkthrough describes how to configure a PXE server to load Windows PE by booting a client computer from the network. С помощью средств Windows PE и файла образа Windows 10 можно установить Windows 10 по сети. Using the Windows PE tools and a Windows 10 image file, you can install Windows 10 from the network.
Необходимые условия Prerequisites
Все четыре перечисленных выше роли могут размещаться на одном компьютере, также можно выделить отдельный компьютер для каждой роли. All four of the roles specified above can be hosted on the same computer or each can be on a separate computer.
Шаг 1: скопируйте исходные файлы Windows PE Step 1: Copy Windows PE source files
На компьютере развертывания: нажмите Пуск и введите развертывание. On the deployment computer, click Start, and type deployment.
Щелкните правой кнопкой мыши элемент Среда средств развертывания и работы с образами и затем нажмите Запуск от имени администратора. Right-click Deployment and Imaging Tools Environment and then click Run as administrator. Будет запущен ярлык среды средств развертывания и создания образов, который открывает окно командной строки и автоматически задает переменные среды таким образом, чтобы они указывали на все необходимые средства. The Deployment and Imaging Tools Environment shortcut opens a Command Prompt window and automatically sets environment variables to point to all the necessary tools.
Чтобы скопировать базовые файлы Windows PE в новую папку, выполните следующую команду. Run the following command to copy the base Windows PE files into a new folder. Сценарий требует два аргумента: архитектуру оборудования и целевое расположение. The script requires two arguments: hardware architecture and destination location. Значение может быть x86, amd64 или arm, а может соответствовать пути к локальному каталогу. The value of can be x86, amd64, or arm and is a path to a local directory. Если каталог еще не существует, он будет создан. If the directory does not already exist, it will be created.
Например, следующая команда копирует файлы архитектуры amd64 в каталог C:\winpe_amd64: For example, the following command copies amd64 architecture files to the C:\winpe_amd64 directory:
Сценарий создает структуру каталогов назначения и копирует все необходимые файлы для этой архитектуры. The script creates the destination directory structure and copies all the necessary files for that architecture. В предыдущем примере создаются следующие каталоги: In the previous example, the following directories are created:
Подключите базовый образ Windows PE (winpe.wim) в каталог \mount с помощью средства DISM. Mount the base Windows PE image (winpe.wim) to the \mount directory using the DISM tool. При подключении файла образа его содержимое распаковывается в папку, что позволяет вносить изменения напрямую или с помощью таких программ, как DISM. Mounting an image file unpacks the file contents into a folder so that you can make changes directly or by using tools such as DISM. См. приведенный ниже пример. See the following example.
Убедитесь, что отображается сообщение «Операция завершена успешно». Verify that «The operation completed successfully» is displayed. Примечание. Чтобы просмотреть подключенные в настоящее время образы, введите dism /get-MountedWiminfo. Note: To view currently mounted images, type dism /get-MountedWiminfo.
Выполните сопоставление общего сетевого ресурса корневому каталогу TFTP на сервере PXE/TFTP и создайте папку \Boot. Map a network share to the root TFTP directory on the PXE/TFTP server and create a \Boot folder. Обратитесь к документации сервера TFTP, чтобы определить корневой каталог сервера TFTP, а затем включите общий доступ к этой папке и убедитесь, что она доступна в сети. Consult your TFTP server documentation to determine the root TFTP server directory, then enable sharing for this directory, and verify it can be accessed on the network. В следующем примере имя сервера PXE имеет значение PXE-1, а общий доступ к корневому каталогу TFTP предоставляется с помощью сетевого пути \\PXE-1\TFTPRoot: In the following example, the PXE server name is PXE-1 and the TFTP root directory is shared using a network path of \\PXE-1\TFTPRoot:
Скопируйте файлы загрузки PXE из подключенного каталога в папку \boot. Copy the PXE boot files from the mounted directory to the \boot folder. Пример. For example:
Скопируйте файл boot.sdi на сервер PXE/TFTP. Copy the boot.sdi file to the PXE/TFTP server.
Скопируйте загрузочный образ Windows PE (boot.wim) в папку \boot. Copy the bootable Windows PE image (boot.wim) to the \boot folder.
(Необязательно) Скопируйте в папку \boot шрифты true type (Optional) Copy true type fonts to the \boot folder
Шаг 2: настройка параметров загрузки и копирование файла BCD Step 2: Configure boot settings and copy the BCD file
Создайте хранилище BCD с помощью bcdedit.exe: Create a BCD store using bcdedit.exe:
Настройте параметры RAMDISK: Configure RAMDISK settings:
Последняя команда возвращает идентификатор GUID, например: The last command will return a GUID, for example:
Скопируйте этот идентификатор GUID для использования в следующих командах. Copy this GUID for use in the next set of commands. В каждой приведенной команде замените «GUID1» своим идентификатором GUID. In each command shown, replace «GUID1» with your GUID.
Создайте новую загрузочную запись приложения для образа Windows PE: Create a new boot application entry for the Windows PE image:
Настройте параметры BOOTMGR (не забудьте заменить GUID1 в третьей команде своим идентификатором GUID): Configure BOOTMGR settings (remember to replace GUID1 in the third command with your GUID):
Скопируйте файл BCD на свой TFTP-сервер: Copy the BCD file to your TFTP server:
Теперь ваш сервер PXE/TFTP настроен. Your PXE/TFTP server is now configured. Можно просмотреть установленные параметры BCD с помощью команды bcdedit /store /enum all. You can view the BCD settings that have been configured using the command bcdedit /store /enum all. См. следующий пример. See the following example. Примечание. Ваш идентификатор GUID будет отличаться от приведенного ниже. Note: Your GUID will be different than the one shown below.
Если вы запустите процесс загрузки PXE, но получите сообщение об ошибке «Данные конфигурации загрузки для компьютера отсутствуют или содержат ошибки», убедитесь, что каталог \boot установлен в правильном корневом каталоге сервера TFTP. If you start the PXE boot process, but receive the error that «The boot configuration data for your PC is missing or contains errors» then verify that \boot directory is installed under the correct TFTP server root directory. В используемом здесь примере имя этого каталога — TFTPRoot, но сервер TFTP может быть другим. In the example used here the name of this directory is TFTPRoot, but your TFTP server might be different.
Сводка по процессу загрузки PXE PXE boot process summary
В следующей таблице приведены основные сведения о процессе загрузки PXE-клиента. The following summarizes the PXE client boot process.
Загрузка компьютеров по локальной сети с использованием программы AOMEI PXE Boot
Как переустановить Windows или попытаться её реанимировать с аварийного LiveDisk’а, если она не загружается, при этом мы не можем запустить компьютер с установочного или реанимационного загрузочного носителя? У компьютера может не быть DVD-привода, он может не поддерживать загрузку с USB-устройств, USB-порты могут быть отключены или повреждены. А, возможно, у нас банально нет сейчас в наличии болванки, флешки, прочего носителя, дабы сделать его загрузочным, тогда как проблему нужно решать срочно. Её можно решить без оптического диска, флешки или USB-диска при условии, что у нас в помещении есть другой компьютер, с которым первый проблемный объединены в одну проводную локальную сеть. Проблемный ПК или ноутбук можно запустить с установочного или реанимационного образа по сети, и один из программных инструментов, который может нам помочь реализовать эту задачу – программа AOMEI PXE Boot. Рассмотрим её.
О программе
AOMEI PXE Boot – узкопрофильная программа, предназначенная для загрузки компьютеров по сети с использованием образов самозагружаемого ПО. Содержит собственный DHCP-сервер, обеспечивающий работу компьютеров в сети по модели «клиент-сервер». Программа реализует возможность запуска компьютеров, у которых нет иных механизмов запуска, кроме как с внутреннего жёсткого диска. И являет собой решение для системных администраторов по комплексному обслуживанию нескольких компьютеров: с использованием AOMEI PXE Boot можно одновременно запустить на скольких-угодно компьютерах, к примеру, массовое развёртывание образа Windows. Программа бесплатна в рамках использования возможности одновременной загрузки по сети до 3 компьютеров включительно. Скачать AOMEI PXE Boot можно на сайте компании-разработчика: https://www.ubackup.com/pxetool.html
Принцип работы программы предельно прост: на одном компьютере запускается образ самозагружаемого ПО, этот компьютер будет играть роль сервера; на клиентских компьютерах – целевых компьютерах – выставляется в BIOS их запуск по сети. В качестве самозагружаемого ПО может выступать любой ISO- или WIM- образ – процесс установки операционной системы, среда WinPE или Linux с антивирусами, менеджерами дисков, программами для резервного копирования и восстановления, комплексные аварийные LiveDisk’и.
Чтобы клиентские компьютеры можно было запустить по сети с использованием программы AOMEI PXE Boot, они, повторимся, должны быть объединены с компьютером-сервером в единую локальную сеть, в сеть проводную, сеть Ethernet. Беспроводная сеть Wi-Fi программой не поддерживается. И, конечно же, клиентские компьютеры должны предусматривать PXE-загрузку, т.е. загрузку по сети. Если на компьютере-сервере используется сторонний антивирусный продукт с фаерволом в составе, последний может блокировать работу программы. В таком случае фаервол можно временно отключить.
И также у AOMEI PXE Boot есть свои особенности работы в условиях запуска по сети клиентских компьютеров с BIOS UEFI. Такие могут быть запущены только с WIM-образов, но не с образов ISO. Создатели программы рекомендуют на таких компьютерах использовать режим загрузки Legacy, т.е. режим обычной BIOS. Но они не говорят, как быть, если компьютер предусматривает только режим BIOS UEFI, а такое может быть на современных ноутбуках. И также они не говорят, как быть, если нужно по сети переустановить Windows на GPT-диске. Система же не установится на диск с этим стилем разметки в условиях Legacy-загрузки. Но мы самостоятельно нашли решения для таких случаев и рассмотрим их чуть позднее. Сейчас же поговорим об основных аспектах работы AOMEI PXE Boot.
Запуск загрузочного образа на компьютере-сервере
Устанавливаем программу AOMEI PXE Boot на компьютер-сервер, запускаем. Программа очень простая, предусматривает только две опции: первая – это загрузка по сети загрузочных образов продуктов самой компании AOMEI, вторая – загрузка образов любого иного самозагружаемого ПО. В нашем случае мы не будем использовать образы продуктов AOMEI, мы запустим образ диска восстановления Windows MSDaRT. Поэтому мы кликаем вторую опцию и жмём кнопку обзора «Browse».
В окне обзора указываем путь к ISO-образу MSDaRT. Важно: образ самозагружаемого ПО в названии не должен содержать пробелов, их можно заменить нижним подчёркиванием. И имя должно быть латиницей. После указания пути ISO-образа кликаем «Start Service», это действие по запуску сервера.
Кликаем «Ок» в окошке, предупреждающем нас, что для старта работы сервера программа должна быть запущена от имени администратора.
И ожидаем немного, пока в окне AOMEI PXE Boot не появится сообщение о том, что сервер запущен и ожидает соединения.
Запуск клиентских компьютеров по сети
Что мы делаем на клиентских компьютерах? Мы входим в BIOS и настраиваем загрузку по сети. Рассмотрим, как это делается на примере интерфейса UEFI DualBIOS материнской платы Gigabyte. Мы идём в раздел настроек BIOS. И если мы на сервере запустили загрузочный ISO-образ, то первым делом смотрим настройку фильтра опции загрузки, чтобы у нас стоял режим совместимости UEFI и Legacy. Значение этой настройки должно быть «UEFI и прежняя версия».
Но не в каждой версии BIOS UEFI можно выставить режим совместимости, на ноутбуках часто такой возможности. В таком случае просто временно активируем режим Legacy.
Дальше мы ищем настройку включения загрузки по сети (PXE-загрузки). В DualBIOS она называется «ПЗУ для загрузки по сети», включаем эту настройку.
Теперь сохраняем внесённые настройки, перезагружаемся, запускаем Boot-меню BIOS и в нём выбираем PXE-загрузку с использованием сетевой карты.
На экране клиентского компьютера увидим уведомление о загрузке по сети с использованием запущенного на сервере ISO-образа.
На этапе загрузки придётся немного подождать, загрузка больших ISO-образов может занять какое-то время, может даже несколько минут. Разработчики программы рекомендуют при её использовании в рамках администрирования по сети множества компьютеров загружать одновременно небольшие группы компьютеров, дабы процесс загрузки был более производительным. Ну и после загрузки образа мы уже можем приступать к работе с его программным обеспечением.
Остановка сервера
По завершении работы с клиентскими компьютерами сервер можно выключить. Делается это кнопкой «Stop» в окне AOMEI PXE Boot.
Особенности запуска по сети компьютеров в режиме BIOS UEFI
Ну а теперь, как и было анонсировано выше, рассмотрим вопрос загрузки по сети с помощью AOMEI PXE Boot клиентских компьютеров с BIOS UEFI. Компьютеры в этом режиме могут быть загружены по сети только при условии запуска на компьютере-сервере WIM-образа самозагружаемого ПО. И вот тут есть закавыка. Если это, к примеру, процесс установки Windows, то в его ISO-дистрибутиве мы обнаружим два WIM-образа (при условии, что второй образ не поставляется в формате ESD). Что это за образы? Один – образ загрузочной среды WinPE в файле boot.wim, другой – файл-образ install.wim, это контейнер хранения системных файлов Windows.
С запущенных на сервере в отдельности этих WIM-образов толку не будет, эти образы должны запускаться вместе. По этому же принципу устроены многие LiveDisk’и: их среды WinPE в WIM-образах являют собой только среду загрузки, всё остальное их содержимое, в частности, поставляемый софт, находится отдельно от среды WinPE.
Что делать в такой ситуации? Как минимум есть два варианта. Вариант 1: с помощью программ типа Dism++, редактирующих образы Windows, можно извлечь из ISO WIM-образ операционной системы и отредактировать его, сделав загрузочным. Вариант 2: использовать LiveDisk’и на базе WinPE для запуска самой этой среды, и в ней подтянуть расшаренные по сети ресурсы для решения своих вопросов. Пример такого LiveDisk’а – WinPE 10-8 Sergei Strelec, конкретно для нашей ситуации он примечателен тем, что предусматривает работу в среде WinPE с авторизованной учётной записью администратора. И нам не придётся возиться с настройкой в среде WinPE доступа к сетевым ресурсам. Как всё это работает?
Качаем на сайте LiveDisk’а Sergeistrelec.Ru его ISO-образ. Подключаем ISO для отображения в проводнике на компьютере-сервере. Заходим на смонтированном диске в папку «SSTR».
В этой папке нам нужен файл запуска 64-битной среды WinPE10, это файл strelec10x64.wim. Указываем путь к этому файлу при запуске сервера в окне программы AOMEI PXE Boot. Запускаем сервер.
Клиентский компьютер загружается с WinPE10.
Мы попадаем в среду WinPE, где нас уже встречают уведомления об отсутствии файлов по некоторых путях, ведь мы запустили не целостный образ LiveDisk’а, а его урезанную часть. Но мы кликаем кнопку авторизации с помощью учётной записи администратора.
И без лишних танцев с бубном в проводнике WinPE получаем доступ к расшаренным ресурсам локальной сети, в частности, к файлам компьютера-сервера, где у нас есть, чем помочь клиентскому компьютеру.
Например, мы хотим помочь методом переустановки Windows. На компьютере-сервере расшариваем папку с установочным ISO Windows. На клиентском компьютере открываем этот ISO в проводнике WinPE.
Запускаем на смонтированном диске файл setup.exe.
И устанавливаем Windows так, как если бы запустили процесс установки привычно с установочного носителя.
А если мы хотим помочь клиентскому компьютеру путём реанимации его существующей операционной системы, мы на компьютере-сервере расшариваем ISO-образ того же WinPE 10-8 Sergei Strelec. Подключаем его для отображения в проводнике WinPE клиентского компьютера.
На смонтированном диске заходим в папку «SSTR», далее – в подпапку «MInst». И в последней запускаем менеджер программ MInst.
В окне MInst выбираем пункт запуска программ для 64-битной Win10.
И всё: в меню MInst можем выбрать любую из программ, поставляемых в целостном образе LiveDisk’а.
Бездисковая загрузка windows 10 по сети pxe
В этом небольшом посте я расскажу вам о практических способах реализации загрузки бездисковых устройств через PXE. Скажем так, что до определенного момента я совсем не интересовался этой проблемой и о PXE имел весьма посредственное представление, также, наверное как и у большинства. Т.е. все из нас знают, что в современных ПК есть возможность загрузки по сети, каждый видел в BIOS’е собственного ПК такую возможность (PXE Boot, LAN Boot), но мало кто использовал ее на практике. Реализацией этой возможности мы и займемся на практике, а также рассмотрим какое практическое применение в «домашних условиях» может иметь сетевая загрузка.
Наша «тестовая лаборатория» включает в себя:
Затем скачиваем заранее подготовленный архив pxe-mikrotik-disk1.rar и распаковываем его содержимое в корень флешки. Сделать это можно как в меню Files в web-интерфейсе Mikrotik’а, так и через FTP в Mikrotik, ну или просто вставив отформатированную USB Flash в ПК и распаковав в корень содержимое архива. В результате там должна получиться следующая структура файлов (смотреть скриншот справа).
Некоторых файлов, например kolibri.iso (образ Kolibri OS) в архиве не будет, т.к. их можно без труда найти и скачать в интернете, также в архиве не будет содержимого папки winpe (т.к. все эти файлы есть на любом установочном диске с Windows и включать их в состав архива я не вижу смысла). А вот на остальных мы остановимся подробнее.
Для чего они? После загрузки PXELinux на устройство начинается поиск дополнительных файлов и библиотек, т.е. устройство пытается подключиться к TFTP серверу, указанному в опциях отдаваемых DHCP сервером и запросить у него, например, файл ldlinux.c32, так вот TFTP сервер должен знать о реальном местоположении файла, чтобы отдать его, например в нашем случае он лежит в disk1/tftpboot/ldlinux.c32. Честно говоря я не экспериментировал, можно ли задать соответствие не отдельным файлам, а папкам или файлам по маскам, поэтому на всякий случай сделал правила для всех файлов на TFTP сервере. После того как мы прописали правила необходимо настроить наш DHCP сервер.
На этом приготовления к первому запуску закончены. Можно брать любой ПК и пробовать загрузиться по сети. Для меня наиболее простым решением было создание отдельной виртуальной машины в VirtualBox и настройка ее на загрузку по сети. В результате, если все сделано правильно, вы увидите вот такую вот симпатичную менюшку PXELinux:
Посмотрите как реализована в конфигурации (menu.cfg) загрузка того же Ubuntu LiveCD:
Здесь ядро vmlinuz.efi и рамдиск initrd.lz у нас грузятся по TFTP, а вот содержимое rootfs уже берется с NFS ресурса (благо Ubuntu так умеет). Порядок создания папки ubuntu16.04_live_amd64 на NFS ресурсе описан тут.
Ну или если вкратце, то я создал отдельную папку на WDMyCloud EX2, разрешил доступ к ней по NFS:
/nfs и просто скопировал необходимые файлы с LiveCD с Ubuntu в нее:
В результате содержимое папки ubuntu16.04_live_amd64 у нас полностью идентично корню LiveCD с Ubuntu:
Просто? Просто. Теперь пробуем загрузиться по PXE выбрав в меню LiveCD:
Как вы уже поняли, я далеко не гуру в Linux’е и по-сути как работает PXE я узнал только вчера. Поэтому в архиве по факту используется несколько загрузчиков: PXELinus (SysLinux) как основной, а из него уже можно загрузить iPXE или Grub4DOS, хотя по факту, в реальной жизни достаточно использовать что-то одно. Все это оставлено просто в качестве примера, чтобы было наглядно понятно как работать и с тем, и с другим, и с третьим. Так что, как говорится, «ногами не пинать», а ценные комментарии всегда приветствуются.