PXE (Preboot Execution Environment)
Последнее изменение этой страницы: 23:13, 4 июня 2019.
![]() PXE (Preboot Execution Environment) | |
Разработчики: | Intel |
---|---|
Состояние разработки: | Раз |
Операционная система: | Linux, Windows |
Размер дистрибутива: | 32 Кб |
Локализация: | Английский |
Веб-сайт | Нет сайта |
PXE(Preboot eXecution Environment) - среда для загрузки компьютера с помощью сетевой карты без использования локальных носителей данных (жёсткого диска, USB-накопителя и т.п.)
Содержание
Описание
Технология PXE (Preboot Execution Environment — Среда предварительного исполнения), которая произносится как «Пикси» (Pixie - волшебная пыль), является подходом, который позволяет компьютеру (клиентскому компьютеру) загружаться, используя только свою сетевую карту. Этот метод загрузки был создан еще в 1999 году и если компьютер подключен к сети (и поддерживает этот стандарт), то можно обойти обычную процедуру загрузки (т. е. включение питания -> BIOS -> HD / CD) и эта среда позволяет сделать некоторые вещи, начиная с поиска и устранения неисправностей, для чего обычно используется liveOS, или снять образ машины. На рисунке показан процесс загрузки PXE с NFS Root Mount:
- Клиент передает DHCP DISCOVER сообщение.
- DHCP - сервер отвечает с IP - адресом, next-server, имя файла и root-path значением.
- Клиент отправляет TFTP - запрос next-server, запрашивая получение имени файла.
- Сервер TFTP отвечает и отправляет имя файла клиенту.
- Клиент вводит имя файла, то есть PXE Boot, который затем загружает ядро. Когда ядро выполняется, указанная корневая файловая система root-path монтируется поверх NFS (см. Рисунок 1).
Системные требования
- Клиентская машина, которая поддерживает загрузку PXE.
- DHCP-сервер: DHCP-сервер или прокси-сервер DHCP, настроенный для отправки ответов на запросы PXE-клиентов.
- PXE-сервер: сервер под управлением службы TFTP, на котором могут размещаться файлы загрузки #Windows PE для скачивания клиентом.
- Файловый сервер: сервер с общей сетевой папкой.
- Системы на основе Debian (например Debian Squeeze), Ubuntu Server 9.10, Linux Mint10) или Windows.
Процесс загрузки
PXE обычно включает в себя загрузку компьютера из встроенного программного обеспечения - данные, содержащиеся в постоянном запоминающем устройстве ( ПЗУ ) или программируемом постоянном запоминающем устройстве ( PROM ), - а не из данных, содержащихся на магнитном носителе. Это приводит к появлению терминов «PXE boot ROM» или «PXE boot PROM» (иногда пишется «PXE bootprom»). Загрузка из ПЗУ или ППЗУ исключает зависимость от электромеханического устройства (физического привода). Это повышает надежность и устраняет ошибки чтения диска. Благодаря современной технологии памяти загрузка с ROM или PROM происходит быстро. PXE также можно использовать для загрузки компьютера из сети. Когда используется подход PXE, процесс загрузки изменяется с обычного на следующий:
- Включение питания.
- BIOS.
- Стек PXE сетевой карты.
- Программа сетевой загрузки Network Boot Program (NBP), загружаемая с помощью TFTP с сервера в память клиентской машины.[Источник 1]
Настройка PXE для Windows
С помощью средств Windows PE и файла образа Windows 10 можно установить Windows 10 по сети.
Необходимые условия:
- Компьютер развертывания: компьютер с помощью комплекта средств для развертывания и оценки Windows (WindowsADK).
- DHCP-сервер: DHCP-сервер или прокси-сервер DHCP, настроенный для отправки ответов на запросы PXE-клиентов.
- PXE-сервер: сервер под управлением службы TFTP, на котором могут размещаться файлы загрузки Windows PE для скачивания клиентом.
- Файловый сервер: сервер с общей сетевой папкой.
Все четыре перечисленных выше роли могут размещаться на одном компьютере, также можно выделить отдельный компьютер для каждой роли. Теперь разберём сам процесс настройки:
- Скопируйте исходные файлы Windows PE
На компьютере развертывания: нажмите Пуск и введите развертывание.
- Щелкните правой кнопкой мыши элемент Среда средств развертывания и работы с образами и затем нажмите Запуск от имени администратора. Будет запущен ярлык среды средств развертывания и создания образов, который открывает окно командной строки и автоматически задает переменные среды таким образом, чтобы они указывали на все необходимые средства.
- Запустите следующую команду, чтобы скопировать базовые файлы WindowsPE в новую папку. Сценарий требует два аргумента: архитектуру оборудования и целевое расположение. Значение <архитектуры> может быть x86, amd64 или arm, а <назначение> может соответствовать пути к локальному каталогу. Если каталог еще не существует, он будет создан.
copype.cmd <architecture> <destination>
- Сценарий создает структуру каталогов назначения и копирует все необходимые файлы для этой архитектуры. В этом примере создаются следующие каталоги:
C:\winpe_amd64
C:\winpe_amd64\fwfiles
C:\winpe_amd64\media
C:\winpe_amd64\mount
- Необходимо подключить базовый образ WindowsPE (winpe.wim) в каталог \mount с помощью средства DISM. При подключении файла образа его содержимое распаковывается в папку, что позволяет вносить изменения напрямую или с помощью таких программ, как DISM.
Dism /mount-image /imagefile:c:\winpe_amd64\media\sources\boot.wim /index:1 /mountdir:C:\winpe_amd64\mount
- Далее необходимо убедиться, что отображается сообщение "Операция завершена успешно". Примечание. Чтобы просмотреть подключенные в настоящее время образы, то необходимо ввести dism /get-MountedWiminfo.
- Дальше необходимо выполнить сопоставление общего сетевого ресурса корневому каталогу TFTP на сервере PXE/TFTP и создайте папку \Boot. Здесь следует к документации сервера TFTP, чтобы определить корневой каталог сервера TFTP, а затем включить общий доступ к этой папке и убедитесь, что она доступна в сети. В следующем примере имя сервера PXE имеет значение PXE-1, а общий доступ к корневому каталогу TFTP предоставляется с помощью сетевого пути
\\PXE-1\TFTPRoot
. - Скопируйте файлы загрузки PXE из подключенного каталога в папку \boot.
copy c:\winpe_amd64\mount\windows\boot\pxe\*.* y:\boot
- Скопируйте файл boot.sdi на сервер PXE/TFTP.
copy C:\winpe_amd64\media\boot\boot.sdi y:\boot
- Скопируйте загрузочный образ WindowsPE
copy C:\winpe_amd64\media\sources\boot.wim y:\boot
- Скопируйте в папку \boot шрифты true type </console>.
copy C:\winpe_amd64\media\Boot\Fonts.
Сведения по процессу загрузки PXE
Сведения о процессе загрузки PXE-клиента.
- Клиент направляется параметрами
066
и067 DHCP
на скачивание файлаboot\PXEboot.n12
с сервера TFTP. - PXEboot.n12 сразу же начинает сетевую загрузку.
- Клиент скачивает boot\bootmgr.exe и файл boot\BCD с сервера TFTP. Хранилище BCD должно находиться в каталоге \boot на сервере TFTP и должно называться BCD.
- Bootmgr.exe считывает записи данных конфигурации загрузки операционной системы и скачивает boot\boot.sdi и образ WindowsPE (boot\boot.wim). В число дополнительных файлов, которые также можно скачать, входят шрифты true type
(boot\Fonts\wgl4_boot.ttf)
и файл состояния гибернации(\hiberfil.sys)
, если эти файлы есть в наличии. - Bootmgr.exe запускает WindowsPE путем вызова winload.exe в образе WindowsPE.
- Windows PE загружается, открывается окно командной строки и выполняется файл wpeinit.exe для инициализации Windows PE.
- Клиент Windows PE обеспечивает доступ к таким средствам, как imagex, diskpart и bcdboot, с помощью командной строки Windows PE. Используя эти средства вместе с файлом образа Windows 10, можно надлежащим образом отформатировать конечный компьютер для загрузки полной операционной системы Windows 10.
Загрузка PXE для Linux Ubuntu
Для загрузки PXE понадобится cервер под управлением Linux. Рассмотрим процесс загрузки.
TFTP-Сервер
- Устанавливаем пакеты:
tftp tftpd-hpa sudo apt-get install tftp tftpd-hpa
- Следующим шагом будет настройка корневого каталога TFTP сервера и самого сервера:
открываем файл /etc/inetd.conf, и убеждаемся в наличие следующей строки, а так же, что перед ней не стоит.
- Проверяем
/tftpboot есть файл /tftpboot/pxelinux.0 tftp 10.22.22.22 tftp> get pxelinux.0 Received 16300 bytes in 0.0 seconds tftp
.Как видно из ответа TFTP клиента можно получить файл размером 16300 байт за 0 секунд.
DHCP-Сервер
- Устанавливаем пакет: dhcp3-server.
- Теперь нужно его настроить для этого откроем файл /etc/dhcp3/dhcpd.conf удобным нам способом.
- Наш файл
/etc/dhcp3/dhcpd.conf:ddns-update-style none;default-lease-time 600;max-lease-time 7200;authoritative;log-facility local7;server-name "10.22.22.22";subnet 10.22.22.0 netmask 255.255.255.0 {pool {range 10.22.22.1 10.22.22.21;next-server 10.22.22.22; # Адресе tftp сервера для загрузки файла с загрузчиком filename "pxelinux.0"; # Имя файла с загрузчиком }}
. - Перезапускаем DHCP сервер.
- Распаковываем архив. Берем тут или тут Внимание в архиве содержится полная и 100% рабочая сборка образов и загрузчик pxe (кроме Acronis).
- Теперь загружаем на любую машину с PXE ROM включаем его в BIOS и устанавливаем его приоритетным устройством загрузки.
- Сохраняем и перезагружаемся.
Источники
- ↑ Что такое сетевая загрузка (PXE) и как ей можно пользоваться// Linux no.ру. [1999—2018]. Дата обновления: 14.03.2014. URL: http://rus-linux.net/MyLDP/boot/pxe01.html (дата обращения: 01.04.2019).
- ↑ Настройка PXE-сервер для загрузки WindowsPE//Microsoft . [2019]. Дата обновления: 27.07.2017. URL: https://docs.microsoft.com/ru-ru/windows/deployment/configure-a-pxe-server-to-load-windows-pe (дата обращения: 01.04.2019).
- ↑ PXE Boot за 15 минут // habr. [2006-2019]. Дата обновления: 30.01.2010. URL: https://m.habr.com/ru/post/82552/ (дата обращения: 01.04.2019).
ISSN 2542-0356
Следуй за Полисом
Оставайся в курсе последних событий
Лицензия
Если не указано иное, содержание этой страницы доступно по лицензии Creative Commons «Attribution-NonCommercial-NoDerivatives» 4.0, а примеры кода – по лицензии Apache 2.0. Подробнее см. Условия использования.