What is the Difference between PXE & Wake On LAN?

22742
Dhiwakar Ravikumar

They seem to serve the same purpose which is the ability to boot a Client/Machine as long as its connected to a Network and thus has a NIC.

What is the difference between the two with respect to how they work ?

Is there a clear advantage of using WOL (Wake On LAN) over PXE (Preboot eXecution Environment) or vice versa ?

Also both WOL & PXE as OS Agnostic right ?

3
В чем разница между подключением кабеля к компьютеру и загрузкой с USB-накопителя ...? PlasmaHH 9 лет назад 2
Этот вопрос показывает некоторое отсутствие внимания и исследований. Даже тег [tag: windows] здесь не подходит! Wake on Lan - это просто: разбуди компьютер по локальной сети! PXE - это метод для выполнения всей операционной системы, сохраненной на удаленном сервере. Это отличается от доступа VNC. Доступ VNC позволяет только видеть экран и использовать компьютер. PXE - это весь контент диска, сохраняемый на сервере, а ваш локальный компьютер выполняет обработку и отображает на экране. Как бездисковая система. Ismael Miguel 9 лет назад 2

3 ответа на вопрос

21
TOOGAM

Wake On LAN (WoL):
Wake On LAN (WoL) is a feature that allows a computer to be powered on. Computers that are "powered off" might actually use up a little bit of electricity, and be able to perform some very minor functions. As I recall, older computers would sometimes use a separate (set of) wire(s) that connected to the network card. These might have been made for providing some tiny amount of power or data communication. It may seem like the computer is using no electricity because it is quiet because no fans are being used, but a tiny amount of electricity can be made available for some of the cards.

If the network card was using Wake On LAN, then it would check incoming Ethernet frames for a particular pattern. If that pattern was seen, then WoL would send a message to the system (perhaps to the intelligent ATX power supply, or the motherboard's WoL pins?) to have the system "wake up" more fully. The system would then power on. Once the computer powers on, the computer will do what the computer always does whenever it powers on: the computer will boot.

To make all that happen, you need another computer on the network to send a magic Wake-on-LAN frame that will be recognized by the computer that supports WoL.

Pre-eXecution Environment (PXE):
PXE (which I have heard pronounced as "PiXiE", by multiple people) is related to how the computer boots. Instead of booting from code on the hard drive, or booting code from a CD, the PXE process can be what is used for booting up the computer. This process searches a network for code to boot. If the PXE client (which is commonly built into the circuitry/chips on the computer that is booting) can locate a PXE server, then the PXE client will download code from the PXE server. After downloading code from the PXE server, the PXE client will run that code. The entire PXE process may use some other protocols, like DHCP and TFTP.

Contrasting WoL and PXE:
With WoL, the computer then boots up normally. "Normally" might involve PXE, or it might not. The BIOS might just boot straight to the hard drive. So, WoL and PXE don't have to be related at all. WoL just means "power on". What does the computer do when it powers on? It boots. WoL "wakes" the computer up, and that's all WoL does. Using WoL does not mean that PXE will be used.

PXE affects how the computer boots. PXE can be used when the system boots up with WoL, or when the system turns on because someone pressed the power button to turn on the computer, or possibly because software told the computer to perform a "cold"-style (full) restart. So, using PXE does not imply that WoL was used to turn the system on.

You could use WoL and then PXE, so both are used. Or just one could be used. They don't do the same thing. They are both related to the overall gigantic process of a system starting, and both involve network cards, but the similarities basically end there. They aren't really related to each other.

OS Requirements (WoL):
Regarding the other question: Yes. WoL is generally OS-agnostic, because no operating system is running, because the much of the computer is powered off. (Generally including fans, and I presume that the CPU and main system RAM might also be lacking power. That would prevent an operating system from being active.)

OS Requirements (PXE):
When I've typically seen the option to use PXE, that option was built into the BIOS. I presume that add-on cards can use PXE when the BIOS checks if any add-on cards have an "option ROM" (similar to how an add-on card which is a RAID controller can allow the user to enter a RAID management tool before any operating system is loaded from a disk). PXE can download an operating system; you can even have the server provide different boot images so that the computer can download a different operating system each time it boots. The operating system that PXE boots up will be whatever code is on the image that gets downloaded.

Note that some operating systems might work better with PXE than others. They may support being able to start up with a minimal amount of data, and then use the network to locate even more data. Other operating systems may be based on a design that might expect to see all of the critical data sitting on a physical disk. So, different operating systems may support the PXE experience with different degrees of ease. Before dedicate yourself to a specific idea that relies on PXE to start up a specific operating system, take a moment to read about how easy it is to use that operating system with PXE. Enough people have enjoyed dabbling with PXE that such information is probably relatively easy to find.

Осторожнее с комментарием о том, где хранится клиент PXE ... Если у вас есть встроенный сетевой адаптер, то, вероятно, будет небольшой чип с функциональностью сетевого адаптера и сохраненным на нем PXE ROM. Если у вас есть PCI NIC, то в большинстве случаев на этой карте будет ПЗУ. BIOS просто должен знать, существует ли устройство с возможностью PXE, и затем он передает его на устройство. Я говорю это потому, что, когда NIC ROM начинает работать, вы часто видите производителя NIC "Intel Pre-boot eXecution Execution ..." и т. Д. Kinnectus 9 лет назад 2
Это должен быть принятый ответ. mjs 9 лет назад 9
@ Большой Крис: Спасибо. Я видел, что некоторые BIOS имеют возможность загрузки в PXE. Было бы лучше, если бы я не сказал, что PXE находится в BIOS, потому что процесс PXE может (и, как я думаю, возможно) использует код, который хранится где-то еще. Я внес некоторые изменения, чтобы перефразировать это (и сделал несколько более мелких дополнений к некоторым деталям в ответе). Спасибо за помощь в сохранении точности информации. MJS: Я бы не стал возражать. Это был мой самый популярный ответ на сегодняшний день. Это удивило меня. Я думаю, что многие люди задавались вопросом об этих технологиях. TOOGAM 9 лет назад 0
@TOOGAM: Не совсем, в моем случае это смесь "Как можно было даже задать этот вопрос?" и "Это очень терпеливый и полный ответ, респект!" orithena 9 лет назад 0
20
Overmind

You cannot compare them like that. WoL is used to power on and PXE is used for booting (to load an OS from a remote server), so WoL happens before PXE.

Хорошо, я был смущен. Поэтому, если я хочу включить компьютер удаленно, я просто использую WoL. Тогда PXE используется для удаленной перезагрузки (перезапуска) машины, которая уже включена? Dhiwakar Ravikumar 9 лет назад 2
@DhiwakarRavikumar, нет, PXE позволяет загружать ОС, которая хранится на удаленном сервере. heavyd 9 лет назад 3
Понял :) Используя PXE, я могу выбрать ОС, которую должен загрузить данный Клиент. Образ ОС должен храниться на каком-то сервере. НО, чтобы включить эту машину, в первую очередь я должен использовать WoL Dhiwakar Ravikumar 9 лет назад 2
@DhiwakarRavikumar НЕТ! НЕТ НЕТ НЕТ! Вам не нужен Wake on Lan, чтобы привести эту машину в действие. Вам нужно нажать кнопку питания самостоятельно. Вы ** МОЖЕТЕ ** использовать Wake on Lan для этой машины, но это почти бесполезно. Все, что вы можете сделать на этом удаленном компьютере, вы можете сделать непосредственно на PXE-сервере с изображениями. Ismael Miguel 9 лет назад 0
@IsmaelMiguel Расслабься, чувак. Это не жизнь или смерть. Просто ответьте вежливо. Chris76786777 9 лет назад 0
@DhiwakarRavikumar Это отдельные вещи, но они могут использоваться в сочетании друг с другом. Если ваш компьютер настроен на автоматическую загрузку через PXE и ​​выключен, вы можете включить его удаленно с помощью WoL. Или физически подойти к нему и нажать кнопку включения. Если ваш компьютер не настроен на автоматическую загрузку через PXE и ​​вы включаете его удаленно (с WoL), ПК будет сидеть и ждать вашего ввода. Chris76786777 9 лет назад 2
0
Pat

Wol: Wake-on-LAN (WoL) - это компьютерный сетевой стандарт Ethernet, который позволяет включать или пробуждать компьютер с помощью сетевого сообщения. (Википедия)

PXE: предзагрузочная среда выполнения; технически это не независимый «протокол», это среда, в которой используются протоколы, такие как DHCP и TFTP, созданные для того, чтобы позволить ПК получать загрузочный код из сети, а не с жесткого диска.

Практически на всех ПК сегодня есть опция BIOS, которая позволяет загружаться из сети. Когда эта опция включена, микропрограмма PXE, включенная в NIC (плату сетевого интерфейса), берет на себя управление во время загрузки.

  1. Сначала микропрограмма PXE выполняет запрос DHCP, определяющий загрузочный ПК как клиента PXE.

  2. DHCP-сервер будет способен отвечать, минимально предлагая IP-адрес и MASK, а DHCP-сервер с поддержкой PXE дополнительно предложит IP-адрес TFTP-сервера и имя файла для извлечения и загрузки.

  3. Затем клиент PXE принимает свой IP-адрес и получает этот файл (NBP = программа сетевой загрузки) с сервера TFTP и загружается с него.

  4. Этот NBP имеет код, который использует API (интерфейс прикладных программ), предлагаемый микропрограммой BIOS PXE. Этот API включает в себя функции, которые позволяют NBP получать больше файлов из сети, используя каким-то образом ограниченный сетевой драйвер, также включенный в прошивку PXE.

  5. Полученные файлы теперь могут установить новый более мощный сетевой драйвер и продолжить загрузку целой ОС (например, Linux live Distro) или процедуры установки ОС (например, установка Windows).

С этого момента прошивка PXE отдыхает и PXE больше не используется. PXE не загружает (или не устанавливает) всю ОС, он загружает только небольшую NBP, позже другие компоненты продолжают работу по загрузке, но НЕ ИСПОЛЬЗУЯ среду PXE.

Экземпляр WoL может очень хорошо предшествовать сеансу PXE. Это взаимодополняющие, не перекрывающиеся технологии.

Похожие вопросы