What is is a way to PXE boot various operating system installers or utilities from one place within the BIOS without the need of having to go retrieve the media to run the tool. iPXE is used to provide a user friendly menu from within the BIOS that lets you easily choose the operating system you want along with any specific types of versions or bootable flags.

You can remote attach the ISO to servers, set it up as a rescue option in Grub, or even set up your home network to boot to it by default so that it’s always available. menu

Getting started

Download one of the bootloaders that works for your situation and start PXE booting your favorite operating system. The bootloaders are precompiled versions of the latest version of iPXE that will allow you to PXE boot into If you have DHCP it’ll automatically attempt to boot from DHCP. If you need to set a static IP address, hit the ’m' key during boot up for the failsafe menu and choose manual network configuration.

If you already have iPXE up and running on the network, you can hit load the kernel by typing the following when loaded in a legacy BIOS:

chain --autofree

or when in EFI mode:

chain --autofree

This will load the appropriate kernel with all of the proper options enabled.

Source Code

The source code for is located here.


New version of an operating system out? Found one that network boots well with iPXE? Pull requests are welcomed and encouraged and helps out a ton! Feel free to issue a pull request for new versions or tools that you might find useful. Once merged into master, Github Actions will regenerate new versions of iPXE from upstream and deploy the latest changes to See more on contributing here.

Testing New Branches

Under the Utilities menu on, there’s an option for “Test branch”. If you’ve forked the code and have developed a new feature branch, you can use this option to chainload into that branch to test and validate the code. All you need to do is specify your Github user name and the name of your branch or abbreviated hash of the commit. Also, disable the signature verification for under Signatures Checks.


Feel free to open up an issue on Github or join us on our Discord server. Follow us on Twitter or like us on Facebook!