PXE is a protocol that allows PCs and Servers to boot from network, and is usually intended for diagnostic purposes.
The PXE protocol will download an OS image from a designated PXE server on the network and boot it up.
Such an OS is typical a PE (pre-install environment) type OS that is small and uses a RAMdisk. (using a small amount of RAM in place of a hard drive)
Once the OS is shutdown it is deleted from RAM, so it is not permanent.
PXE is often used for mass deployments and imaging. A technician will boot up a Windows PE OS from network which is then used to copy a pre-configured Windows Image to the desktop.
This way machines can be formatted and re-imaged in the field.
When your computer turns on, it needs instructions. We usually call those instructions an Operating System. For example, if you’re running windows, then Windows will tell your computer what color to make the desktop, and what options to put in the start menu, etc etc etc.
Usually, those instructions are on your HDD. Sometimes, especially when you’re building a new computer, those instructions might be on an optical disk (CD, DVD) or a thumb drive.
PXE just means that the instructions are on a whole separate computer, and your computer receives them through the network.
Booting to PXE means that you’re not using the Operating System on your HDD, which is convenient if you want to completely delete and/or reinstall the operating system on your HDD. ( or if you don’t have an operating system on your HDD yet.)
yep you got it booting from pxe means your computer is getting an os image from another computer over the network instead of using your hard drive. it’s pretty cool cause it lets you run systems without local storage which is super handy for testing or when your hdd is broken. just think of it as borrowing your friend’s brain for a while instead of using your own
When a PC is turned on or restarted, it runs instructions provided by the manufacturer, on a chip on the motherboard (BIOS).
At some point, it needs to switch from the instructions provided by the manufacturer in the BIOS, to instructions that are provided by the user.
Usually, these user-provided instructions will be an OS [1]. Usually, the OS will be Windows or Linux [2]. Usually, they will be loaded from the first hard drive in the system [3].
When you boot from PXE, the instructions are loaded from the network.
Normally, when connecting to a network, a computer uses a protocol called DHCP to say “Hi, I’m new! Can someone please give me an IP address?” For this to work properly, you need *exactly one computer* on your network set up to answer these kinds of requests. That computer is called a DHCP server. (In home networks, often the DHCP server is the router provided by your ISP.)
With PXE, the computer will use DHCP to say “Hi, I’m new! Can someone please give me an IP address, and also tell me where I can download an OS with TFTP?” For this to work, you need to set up a computer to allow other computers to download OS’s with TFTP, (this is called a TFTP server). And then you need to configure your DHCP server to answer to the question “Where can I download an OS with TFTP?” with the IP address of the TFTP server you just set up.
Why would you use PXE? Well if you have 1000 employees in different offices in multiple buildings, or 1000 servers in a datacenter, it takes a lot of time to go around working on each computer individually. If you just set up PXE, you only need to touch each individual computer once, when you first unbox it. Then you can just do a bit of setup in your DHCP / TFTP server to completely change out the OS for all 1,000 computers whenever you want [4].
You can also set up the OS to store user files (and perhaps parts of the OS itself) on a network drive. With a PC set up with PXE and an OS configured with a network drive, the PC doesn’t need any hard disk at all! This saves money and eliminates a potential point of failure.
[1] The user-provided instructions don’t have to be an OS. You can run any program you want. Your program does need to be set up differently to run without an OS (“bare metal”): With no OS, a program will need to “talk” directly to the keyboard / disk / network / screen.
[2] The OS doesn’t have to be Windows or Linux. A bunch of less popular PC operating systems exist: FreeBSD, DOS, SerenityOS, Redox, OS/2, Plan 9…
[3] They don’t have to be loaded from the first hard drive. They could be loaded from a different hard drive, a floppy disk, a CD/DVD drive (El Torito), a USB disk, an SD card, or over a network (PXE).
[4] Those DHCP requests include a MAC address. (That’s how the DHCP server knows who to reply to.) You can set up the DHCP or TFTP server to give each computer a different OS (or a differently configured OS) based on their MAC address. So you don’t have to change all 1000 computers’ OS’s at once: You could change the OS for a subset of the computers, or one specific computer.
Latest Answers