What is the difference between these two loading schemas?

  1. PXE from BIOS.
  2. PXE from EFI.

I know that firmware passes control to NIC program which is stored in the NIC ROM. This program gives IP address over BOOTP and at least a path to the loader. This loader loads over TFTP into the NIC's RAM and begins executing. Then the loader (syslinux, grub ...) loads kernel and initrd over TFTP/HTTP/FTP into the host RAM and passes control to kernel.

Why I must have two different loader versions (BIOS version and EFI version)?


1 Answer 1


I thought that loaders that have been retrieved by NIC firmware are executed by the NIC controller, but that's wrong. This loader is executed by BIOS or EFI. BIOS is 16-bit environment, EFI is 32/64-bit environment. Thus, loader must be compatible with execution environment. Thanks for link Managing EFI Boot Loaders for Linux


You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .