What is the difference between iPXE and PXE?
Isabella Ramos
Updated on May 01, 2026
While standard PXE clients use only TFTP to load parameters and programs from the server, iPXE client software can use additional protocols, including HTTP, iSCSI, ATA over Ethernet (AoE), and Fibre Channel over Ethernet (FCoE). The iPXE client is a superset of, and can replace or supplement, prior PXE implementations.
How do you make iPXE?
- Install tools and config IPXE.
- Create the embedded script.
- Compile IPXE.
- Configure DNS server.
- Create main.
- Add Ubuntu Netboot (BIOS only)
- Add Debian Netboot.
- Boot Ubuntu 20.04 Live.
How do I get into iPXE shell?
Prompt user to press key
- Wait for the user to press a key. prompt.
- Prompt the user to press a key to continue. prompt Press any key to continue.
- Exit script if ‘q’ is pressed. prompt –key q Press ‘q’ to quit && exit ||
- Exit script unless F12 is pressed within 2 seconds.
- Offer user an opportunity to enter the iPXE shell.
What happens during PXE boot?
PXE is an open industry standard supported by a number of hardware and software vendors. The PXE-enabled NIC of the client sends out a broadcast request to DHCP server, which returns with the IP address of the client along with the address of the TFTP server, and the location of boot files on the TFTP server.
What is a PXE image?
Preboot Execution Environment(PXE) is a client-server interface that allows computers in a network to be booted from the server before deploying the obtained PC image in local and remote offices, for PXE enabled clients.
How do I get Started with iPXE?
The easiest way to start experimenting with iPXE is to use the bootable ISO image. Burn the ISO image to a CD-ROM (or DVD-ROM) and boot from it. You should soon see a welcome banner such as:
Is it possible to get Kali live boot image from iSCSI?
Unfortunately the range requests in the HTTP header do not work for ISO files larger than 4GB. At least it was not possible to get Kali Live Boot Image to live boot :- (. I found out that iscsi can also include iso files. This works so easy that I made a docker container out of it, in which it is possible to place ISO files, that’s it.
How can I debug problems with the iSCSI protocol?
For example, to debug problems involving iSCSI, it may be useful to enable debugging of the iSCSI protocol driver (in iscsi.c ): If you discover that the problem is not within iscsi.c then you may wish to also enable debugging of the SCSI layer (in scsi.c ):
How does the PXE client work with iPXE kernel?
The PXE Client calls tftp://pxelinux.0 and receives the file and loads it into memory. This boots up a PXE Bootloader which tells where the ipxe KERNEL ( ipxe.lkrn) is (see assets/ ). The PXE Bootloader calls tftp://ipxe.lkrn and loads it into memory.