Is it possible to add some 'PXE Network Boot' option to GRUB?
Yes, you can add a (i)PXE Launcher to Grub.
For dpkg-based systems like Debian&derivatives:
Only apt-get install ipxe
is required
I would expect other distros to have integrated it as well fairly comfortably.
==> A "PXE Boot" menu entry will exist on next reboot.
In case you want to know inner-working-details:
The post-install hook scripts automatically adds an iPXE entry to the grub configuration, using the "template" file /etc/grub.d/20_ipxe
.
You end up with an entry like the following in /boot/grub/grub.cfg
menuentry 'Linux NetBoot Environment' {
set root='(hd0,1)'
<More, less important options>
linux16 /boot/ipxe.lkrn
}
This just means, that instead of a (linux-)kernel, grub gives full computer control to another "simple" program, in this case ipxe.lkrn
. MemTestx86 is launched in basically the same way.
The PXE Stack is software normally stored somewhere on the main-board. Just in this case we load it from somewhere the drivers from GRUB can access.
Example of a usage scenario:
You will want to install a basic GRUB on the drive, having the PXE entry first, and a fall-back on Position 2 to local chain-boot from (say) Partition 1.
The configuration iPXE would use will then depend on the files residing on your boot-configuration-server. There you will make the default, first menuchoice "Boot from local Partition 1", then more choices (Boot-AV, SuperGrub, Debian NetInst...).
==> Your Users normally don't touch anything until they see the Graphical Login Prompt from the local Installation.
Boot-Sequence: GRUB - iPXE - OS-in-Partition-1 (Fallback to OS-In-Partition-1, if PXE unsuccessful)
==> Physically present at the PC, you could choose other Boot-Options.
==> Not physically present at the PC, you can change the server-side PXE configuration to "one-off" boot another choice than the default.