What Is PXE?
![]()
What is PXE? PXE is abbreviate of the Preboot Execution Environment. It is a method of booting a terminal computer (client) using only its network card. The concept of PXE originated from the early days of protocols such as BOOTP/DHCP/TFTP, and by 2015 it has become part of the UEFI standard.
It is standards-based and you can use open-source software or vendor-supported products to implement it. PXE is a key part of the data center infrastructure because it can automatically configure servers or workstations over the network.
Having an in-depth knowledge of the PXE stack will benefit anyone engaged in infrastructure deployment of bare-metal servers, embedded devices, and IOT devices.
On the client-side, it requires only a PXE-capable NIC and uses a small set of industry-standard network protocols such as DHCP and TFTP. Here are more details of NIC, the DHCP server, and the TFTP server.
NIC
NIC refers to the Network Interface Controller. Many consumer-grade network cards do not have PXE capabilities. PXE-enabled NIC is the DE facto standard in data center-grade servers. Some PXE-enabled NICs even use open source PXE firmware.
DHCP
DHCP refers to the Dynamic Host Configuration Protocol. There are two types of actors in DHCP — the DHCP server and the DHCP client. DHCP supports a wide range of options that can be provided to network clients.
But usually, it consists of the IP address used by the client, the default gateway address and the DNS server used for name resolution. For PXE, this is an option that contains the server’s IP address, from which you can download its startup file.
TFTP Server
TFTP refers to the Trivial File Transfer Protocol. It is a simple UDP-based protocol for getting or sending files. The simplicity of it is great for implementation in a firmware environment with limited resources.
TFTP has no bells or whistles because of its simple nature. It only supports getting and putting files. No directory listing, so you need to know the exact path of the file to download. Besides, there is no authentication or authorization.
Although TFTP is still commonly used in PXE environments, advances in technology have led some PXE implementations to support more complex protocols such as HTTP or ISCSI.
PXE boot
Advantages of PXE Boot
This part is about the advantages of the PXE boot server. Besides, you can also know when to use it. The advantages of using the PXE boot server are as follows:
1. For the client machine, the operating system or even a hard disk is not necessary. Then the installers can be less technical.
2. When there is a hardware or software failure, the client computer can be restarted. This allows administrators to diagnose and possibly resolve issues and there will be less error-prone due to automation.
3. New computers can be easily added to the network because PXE is vendor-independent. Using it can reduce time spent per server and the installation tools are centralized and easier to update.
When you want to maintain or install the system for multiple computers without inserting a CD or USB into these computers one by one, you can try the PXE boot to install the system. If your computer does not start properly and cannot be started by loading an image file on the internal hard drive, you can also try the PXE boot.
If the client does not have a CD-ROM drive or USB port available or does not have a CD or USB image, then you can try the PXE boot to start multiple client computers in the LAN. You may need this post — How to Enable Wake-on-LAN in Windows 10.
How Does PXE Boot Work?
Now, let’s see how does PXE boot work. First, you should configure the DHCP server/scope Options 66 and 67 before the PXE network boots. The PXE boot process starts after the client computer is assigned with an IP address.
DHCP configuration process
1. The client computer sends a “discover” packet as a broadcast requesting network configuration. The DHCP server will receive this packet.
2. The DHCP server will send an “offer” packet to the client. After analyzing the packet, the client will be assigned the network parameters such as IP address, subnet mask, etc.
PXE boot process
1. DHCP will be notified by the client that it is using a PXE server. The Next Boot Server’s Next Boot Server’s IP address(Option 66) and the Boot Filename (Option 67) will be sent to the client by the server.
2. The client will contact the PXE boot server and request a boot file.
3. The PXE server will send the startup file to the client via Trivial File Transfer Protocol (TFTP).
4. In the DHCP server, Options 66 and 67 can be configured under range or server options. This helps to load and start the startup files of client computers.
How to Perform the PXE boot Windows 10?
Just now, I have introduced how PXE boot works. Now, let’s see how to perform the PXE boot Windows 10. There are two methods available. You can choose one based on your needs.
Perform the PXE Boot Windows 10 with MiniTool ShadowMaker
The first method for you is to use the professional backup software — MiniTool ShadowMaker. You can boot many computers from the microsystem in the network with the PXE Boot feature of MiniTool ShadowMaker. That is to say, the PXE Boot feature is used to make other client PCs boot from the same network.
After booting, all client PCs can back up, restore or clone with tools offered in Windows PE. All in all, the MiniTool PXE Boot feature makes it feasible that maintain multiple computers in LAN.
The backup feature of this software supports backing up your system drive completely, including system partition, system reserved partition and EFI system partition. In addition to restoring the system to the original device, you can also do the universal restore when restoring to a different computer with dissimilar hardware.
MiniTool ShadowMaker provides Trial Edition that gives you a 30-day free trial for all backup features. You can purchase its Pro Edition to use it permanently. Now you can try this software to perform the PXE boot Windows 10. You can follow the instructions step by step.
Step 1: Launch MiniTool ShadowMaker. Click Keep Trial, and click Connect in This Computer to enter its main interface.
Step 2: Navigate to the Tools tab and click the PXE part.
Step 3: Click the Start button to start the PXE service. MiniTool PXE Boot tool will configure related DHCP values automatically. You can click Settings to change the values before you click Start.
Step 4: MiniTool PXE Boot will start the service to connect client PCs. It may take several minutes. You just need to wait patiently.
Step 5: When the Connected to the server message appears, you can set the client PCs to boot from the network in BIOS. When all client PCs are booting from PXE network, you can maintain hard drives on many clients easily.
Step 6: After you finish the tasks, you can stop the PXE service by clicking Stop on the host computer.
Perform the PXE boot Windows 10 Without Software
You can also try performing the PXE boot Windows without software. This method is a little complex, you had better follow the steps patiently and carefully. Here is how to do that.
Step 1: Make sure that the PXE network environment is properly set up, that is to say, you should check if the DHCP server and the TFTP server is prepared. Then, enter BIOS by reading this post — How to Enter BIOS Windows 10/8/7 (HP/Asus/Dell/Lenovo, any PC).
Step 2: Then you should verify that PXE boot is enabled. Press the F2 key to access the Aptio Setup Utility > select Advanced in the top menu bar > select Network Stack.
Step 3: The server will be reset and the BIOS screen will appear again. Press the F8 key to specify a temporary boot device or press the F12 key to network boot (PXE).
Step 4: There are listing the available boot devices in the Please Select Boot Device menu. You need to select the PXE boot port, and press Enter.
Step 5: Now, complete the PXE installation by following the on-screen instructions.
Step 6: Then, follow the instructions for the post-installation tasks for your operating system. After that, you have performed the PXE boot Windows 10 successfully.
This post provides 2 methods to perform the PXE boot Windows 10, and I find that the method with MiniTool ShadowMaker is much better. Click to tweet
Final Words
To sum up, this post has introduced some information about the PXE boot. You can know what PXE is and the advantages of PXE boot as well as how it works. Besides, you can also learn how to perform the PXE boot Windows 10.
What’s more, if you have any problem with MiniTool ShadowMaker, please feel free to contact us via the email [email protected] and we will reply to you as soon as possible.
PXE — грузим всё! Осваиваем мультизагрузку по локальной сети

Сегодня автоматизируется все больше задач, для максимальной отдачи серверов все шире используют виртуализацию. Но устанавливать операционки по-прежнему приходится. Каждый делает это по-своему: у кого-то полные карманы различных образов на все случаи жизни, кто-то по старинке носит с собой «барсетку» с дисками, а то и две. Как правило, администраторы выполняют эту работу с невеликим удовольствием. Давай посмотрим, как сократить время на тривиальные задачи, как научить компьютеры устанавливать системы самостоятельно, вообще без участия админа, используя при этом только локальную сеть.
Итак, сегодня мы научимся: устанавливать Windows и Linux по сети, грузить небольшие ISO-образы, полезный софт (всяких там Касперских, Акронис, WinPE, мемтесты), разворачивать тонкие клиенты и рулить ими. Чтобы, например, бухгалтер, работающая с 1С по RDP, не прибила тебя за то, что у нее слетела винда, а отчет нужно было подготовить еще вчера. Или скупой начальник, который не хочет обновлять свой комп, восхитился твоим профессионализмом, когда увидит, как на стареньких компах летает Windows 8. В достижении наших коварных целей нам поможет сервер, предоставляющий загрузку по сети (PXE).

Главное меню загрузки PXE, текстовый режим
Другие статьи в выпуске: 
Xakep #201. Как стать киборгом
У любого системного администратора в заначке есть универсальный USB-диск для экстренной реанимации компьютера. Согласись, было бы куда лучше иметь ту же функциональность, используя одну лишь сетевую карту. Нельзя при этом не отметить возможность одновременной работы с несколькими узлами сразу. Итак, исходя из наших потребностей у нас есть два пути решения: использовать PXE или LTSP.
LTSP нам не очень подходит: он призван грузить по сети ОС, установленную на самом сервере, что позволяет использовать приложения сервера LTSP. Это не совсем то, что нам нужно. PXE — инструмент для загрузки компьютера по сети без использования локальных носителей данных, так же как и LTSP. PXE позволяет организовать мультизагрузочное меню загрузки, аналогичное универсальному «USB-реаниматору».

Главное меню загрузки PXE, графический режим
Что будем реализовывать?
Началось все с необходимости иметь под рукой инструмент для удаленной установки Ubuntu/Debian Server по сети, с возможностью загрузки Live CD маленькой системы, вроде SliTaz или Kolibri OS.
Как говорится, аппетит приходит во время еды: намеченное не успели реализовать, а к плану добавился еще ряд «хотелок». В итоге список получился весьма внушительным.
- Тонкие клиенты на базе Thinstation Linux.
- Раздел Linux.
- Установка Ubuntu 14.04 x86.
- Установка Ubuntu 14.04 x64.
- Установка Ubuntu 12.04 x86.
- Установка Ubuntu 12.04 x64.
- Загрузка SliTaz Live CD.
- Установка Windows 2012.
- Установка Windows 7.
- Windows PE с пакетом полезного ПО.
- Acronis True Image.
- Legacy BIOS.
- UEFI.
- Legacy BIOS.
- UEFI.
Собираем все в кучу и взлетаем
В качестве дистрибутива для сервера выбор пал на Ubuntu Server 14.04.2 LTS. Можно остановиться на любой другой ОС, разница будет только в синтаксисе. Итак, приступим. Нам потребуется TFTP, DHCP (необязательно установленный на этом же сервере, в роли DHCP-сервера может выступить роутер), сервис для организации сетевой файловой системы NFS. Рассматривать будем только те настройки, которые нас интересуют в рамках темы. Первым делом установим все необходимое, предварительно сделав все обновления:
Параметр -y означает, что на все вопросы отвечаем согласием. Настройка TFTP сводится к правке пары строк в соответствующем месте:
Обрати внимание, параметр TFTP_DIRECTORY="/var/lib/tftpboot" указывает место расположения корневого каталога TFTP-сервера. После сохранения перезапускаем удобным для себя способом:
Далее настроим DHCP-сервер. Приведу простую конфигурацию файла /etc/dhcp/dhcpd.conf:
Данная конфигурация говорит о том, что DHCP-сервер работает в локальной сети 192.168.0.0/24. Клиенту присваиваются адреса из диапазона 192.168.0.150–192.168.0.200, им будут присвоены параметры шлюза — 192.168.0.1, DNS-сервера — 192.168.0.2 и 192.168.0.5. Класс pxeclients, а именно параметр filename — это имя файла загрузчика, расположенного в корневой папке TFTP-сервера, в нашем случае /var/lib/tftpboot/pxelinux.0, на сервере с адресом 192.168.0.10.
Syslinux. Ставим загрузчик
В качестве загрузчика будем использовать Syslinux. Последнюю версию можно взять здесь. Распаковываем и кладем в /var/lib/tftpboot следующие файлы: ldlinux.c32, libcom32.c32, pxelinux.0 и lpxelinux.0 и каталог boot, в который складываем chain.c32, ldlinux.c32, libcom32.c32, libcom32.elf, libutil.c32, linux.c32, memdisk, menu.c32, vesamenu.c32 (menu.c32 — только текстовое меню, vesamenu.c32 позволяет украсить меню, например добавив фон). Файл меню загрузки по умолчанию должен находиться в /var/lib/tftpboot/pxelinux.cfg/default и иметь вид
На этом этапе загрузчик должен работать и иметь единственный пункт меню «Загрузка с первого жесткого диска». Далее необходимо создать подменю. Чтобы не путаться и не городить огромные файлы, рекомендую вынести подпункты в отдельные файлы меню, например так:
Все, что относится к разделу меню Install/Boot Linux, вынесем в отдельный файл /var/lib/tftpboot/linux. Аналогично выносятся другие пункты меню. Остальные параметры загрузки рассмотрим при добавлении каждого пункта/продукта.
Раздел Linux. Готовим на примере Ubuntu 14.04
Первым пунктом ставим возврат в предыдущий раздел меню. Далее будет установка Ubuntu 14.04 i386 и amd64. Скачиваем образ Ubuntu 14.04 mini.iso, распаковываем, находим прямо в корне два файла: linux и initrd.gz. Напомню, что корневой каталог сервера для загрузки — это каталог TFTP-сервера /var/lib/tftpboot . Исходя из этого, располагаем файлы внутри tftpboot. В случае с установкой Ubuntu, например, в images/linux/ubuntu14/i386 для x86 и в /images/ubuntu14/amd64 для x64 архитектур соответственно. Заметь, пути указаны относительно каталога FTFP-сервера. Здесь можно задавать параметры для установки, для автоматизации процесса установки. Например, задать параметр установки в качестве окружения рабочего стола при установке Debian KDE: append desktop=kde . Следующим шагом запустим маленький SliTaz. Грузить ISO-образы будем через memdisk. Из листинга сверху видно раздел slitaz, memdisk у нас расположен в каталоге boot, сам образ — в каталоге images. Параметры аналогичны тем, что используются в мультизагрузочных дисках.
Тонкие клиенты / Thinstation Linux

Загрузка Thinstation Linux
Следующим шагом научим запускать тонкие клиенты. Образ Thinstation Linux можно скачать готовый в виде сборки, можно взять конструктор для сборки и собрать самостоятельно. Можно качнуть с GitHub. Будь готов, что в последнем случае для подготовки образа потребуется около 3 Гбайт свободного места и времени в районе часа. Подготовка образа из Git хорошо описана в статье на сайте quaded.com. Я взял сборку с сайта nixts.org. В образе, который мы используем, много «ненужных» файлов, потому что там сразу и загрузчик, и дефолтные конфиги. Берем ядро и образ файловой системы (initrd и vmlinuz), которые складываем, например, в /var/lib/tftpboot/images/thinstation/ . Файлы конфигураций ( thinstation.conf.network , thinstation.hosts , thinstation.conf-user ) располагаем в корневом каталоге TFTP-сервера! Thinstation позволяет при загрузке учитывать MAC-адреса, IP-адреса, определять имя и группировать клиентов, в зависимости от параметров регулировать загрузку, например уводить на разные RDP- или VNC-серверы, сессии. Это позволяет, например, наклепать кучу виртуалок с десктопными операционными системами и посадить каждого клиента на отдельную виртуалку. Для каждого клиента можно также отдельно задавать настройки доступа к локальным устройствам: принтерам, флешкам, дискам, приводам и так далее. В общем, каждый ограничен только своей фантазией, благо вариантов использования с описанием настроек в сети навалом.
Acronis
Продукты Acronis загружаются аналогично инсталляторам Linux-систем. Скачал в Сети первый попавшийся образ Acronis, исключительно в научных целях. Распаковал. Нас интересуют только два каталога: ADD12 и ATI2015. Внутри каждого каталога видим по два файла с одинаковым именем и разным расширением. Это сделано для загрузки на 32-битных и x64-системах. Если открыть файл menu.lst того же образа, можно посмотреть, что чему соответствует. Для удобства складываем True Image и Disk Director аналогичным образом. Создаем папку acronis в рабочем каталоге ( /var/lib/tftpboot ). В него копируем ADD12 и ATI2015 со всем содержимым. Для удобства продукты Acronis выносим в отдельный раздел меню, так же как и раздел Linux. В pxelinux.cfg/default добавляем:
Файл acronis приводим к такому виду:
Windows PE
Windows-образы грузить несколько сложнее. В реализации загрузки практически любого WinPE-образа с любым содержимым внутри нам поможет загрузчик WIMBoot. WIMBoot — это системный загрузчик WIM-образов по сети. Довольно хорошо о самом продукте рассказывается на сайте, там же есть ссылка на скачивание. На сайте Microsoft есть инструкция по созданию WIM-образов. Образ, с которым я работал, был щедро вручен мне нашим системным администратором с продуктами Акронис. Назывался он Acronis_WinPE_Sergei_Strelec_25.11.2013.iso . Распаковав его, увидел в папке source заветный образ acronis.wim . Для WIM-образов для большего порядка использую отдельный каталог wim. Чтобы не путаться, внутри сделал еще один каталог winpe. В него копируем acronis.wim . Еще нам потребуются два файла из каталога BOOT этого же образа: BCD, BOOT.SDI и файл BOOTMGR из корня образа. На этом образ можно закрыть, удалить, больше он не пригодится. Переходим к подготовке загрузчиков (WIMBoot и syslinux). Распаковываем куда-нибудь архив wimboot-latest.zip . Копируем загрузчик WIMBoot на сервер TFTP, для удобства в каталог boot. Поскольку образ содержит Windows PE и различное программное обеспечение, в том числе и Acronis, то отнести можно в любой раздел меню. Я расположил его в главном меню. Итак, в файл pxelinux.cfg/default вносим изменения:
Заключение
На этом всё. В следующей статье мы научимся подготавливать и добавлять Windows-образы, сетевой установке в ручном и автоматическом режимах. Добавим Kaspersky Rescue v10, ERD Commander, именуемый MSDaRT. Разберемся, как запускать диагностические утилиты на примере memtest, а также покажем, как украсить меню загрузки.
Александр «Plus» Рак
Участник сообщества OmskLUG. Заместитель начальника отдела сопровождения информационных систем ГКУ «Ресурсы Ямала».
Что такое PXE OPROM в BIOS

Рассматривая настройки BIOS своего компьютера, пользователи часто находят в нем пункт Realtek PXE OPROM. Также в некоторых версиях программного обеспечения материнской платы он может носить иные названия BootROM, LAN Option ROM, OnBoard LAN Boot ROM, Legacy PXE ROM, Boot From Onboard LAN. Многие задаются вопросом — для чего он нужен?

Настройка Legacy PXE Rom в БИОСе
Технология PXE (Preboot eXecution Environment) — это специальная среда для установки или загрузки системы в BIOS с использованием только сетевой карты. Связь между компьютерами осуществляется по протоколам IP, UDP, BOOTP и TFTP. Сама PXE представляет собой программный код, вшитый в память сетевого адаптера, который позволяет загружать или устанавливать разного вида операционные системы.

Загрузить ОС по сети достаточно сложно, так как для этого потребуется произвести множество подготовительных операций. Только после них компьютер сможет грузиться без использования жесткого диска. Наша же настройка PXE OPROM просто позволяет конкретной системе осуществлять такого вида загрузку или запрещать её, т.е. принимать два значения — «Enabled» (включено) или «Disabled» (отключено).

Отключенная настройка Launch PXE OpROM в БИОСе
Для обычных компьютеров, которым не нужно использовать сеть для включения, эту настройку лучше всего будет деактивировать, так как перед загрузкой ОС компьютер будет вначале пытаться воспользоваться возможностью загрузки по сети. Только после того, как он определит, что такой вариант недоступен, начнется старт Windows с жесткого диска. Следовательно, с активной функцией PXE OPROM увеличивается время включения компьютера.
Функция загрузки при помощи сети используется организациями с большим количеством компьютеров для упрощения работы, а также в целях экономии средств на приобретение жестких дисков.

Кроме этого системные администраторы, обслуживающие большое количество компьютеров при помощи Preboot eXecution Environment, создают загрузочный сервер, на котором находятся все нужные программы для реанимации. Таким образом, не потребуется подключать к компьютеру загрузочные носители для восстановления, а только активировать загрузку по сети и воспользоваться сервером.
На этом наша статья подошла к концу. Теперь вы знаете, что означает настройка PXE OPROM в BIOS материнской платы. Как уже было отмечено, для обычных пользователей данную функцию целесообразнее будет отключить.
Start PXE over IPv4 — что это и что делать?

При включении компьютера, ноутбука или виртуальной машины вы можете увидеть сообщение: Start PXE over IPv4 и, как правило, загрузка после этого не продолжается — ошибка может возникать при установленной Windows 10 и Windows 11 или на ПК без ОС, то есть само сообщение никак не связано с тем, какая операционная система установлена и установлена ли она вообще.
В этой инструкции подробно о том, что означает Start PXE over IPv4 и почему появляется это сообщение, а также о том, что делать, чтобы его убрать.
Что значит Start PXE over IPv4

При включении и начале загрузки ваш компьютер ищет загрузочные файлы на указанных в параметрах загрузки БИОС (UEFI) накопителях, а также, при наличии такого пункта — пробует выполнить загрузку из сети.
PXE (Preboot Execution Environment) используется для загрузки компьютера или ноутбука из сети без использования локальных накопителей для последующего развертывания системы и обычно такой тип загрузки включен в БИОС, хотя и расположен где-то в конце списка.
Если по какой-то причине загрузка с жесткого диска, SSD или загрузочной флешки не удалась (отсутствие системы на дисках, повреждение диска или загрузчика, флешка записана не под тот режим загрузки), система пробует выполнить сетевую загрузку и именно в этот момент вы видите Start PXE over IPv4 на вашем экране.
Что делать, чтобы убрать Start PXE over IPv4
Действия для исправления ситуации те же самые, как при решении других проблем с выполнением загрузки системы с HDD/SSD или при использовании загрузочной флешки:
- Перепроверьте порядок загрузки в БИОС/UEFI, чтобы на вкладке Boot в качестве первого устройства загрузки было выставлено нужное устройство.
- Проверьте, меняет ли ситуацию включение режима Legacy (если включен UEFI режим) или UEFI (если включена загрузка Legacy).
- Попробуйте отключить Secure Boot.
- Если ошибка возникает при загрузке с флешки, используйте шаги, описанные в инструкции Что делать, если BIOS (UEFI) не видит загрузочную флешку.
Более подробная информация по теме доступна в статьях (несмотря на иные заголовки, причины ошибок те же самые) No Bootable Device при загрузке, An operating system wasn’t found и Boot failure в Windows 10 — один из предложенных методов должен помочь разобраться в проблеме и решить её.
А вдруг и это будет интересно:
04.03.2023 в 21:40
Столкнулся с подобной проблемой при восстановлении старенького DELL Inspiron. После установки очередного обновления, при перезагрузке вылезло Start PXE over IPv4, висело минуты 3, вроде отвисло, снова перезагрузка… В BIOS/Boot, UEFI давал загружаться только с сетевой карты, остальные варианты пропали. Сменил на Legasy- появился список вариантов загрузки.
То ли глюк, то ли обновление что-то зацепило в BIOS, не знаю.