In my grub4dos menu.lst, I have two useful entries (at least for me :-)), one is PLoP, the other is gPXE.
With PLoP, you can boot your plugged USB key/HDD without the need to change BIOS setting (change boot priority to boot from USB key/HDD first). PLoP can also, as you probably already know, boot from internal SD card reader, or boot USB key/HDD with USB 2.0 speed (even if your BIOS boots with USB 1.x speed, or even if your BIOS does not support booting from USB).
With gPXE, similarly you can choose to boot from network card, without changing the BIOS setting. gPXE (open source) provides a direct replacement for proprietary PXE ROMs, with many extra features such as DNS, HTTP, iSCSI, greater speed, etc. .. and is of course compatible with TFTP.
Note: as far as I know, grub4dos does not have a built-in command to boot from network card (PXE).
PLoP boot manager:
http://www.plop.at/en/bootmanager.html
Etherboot/gPXE:
http://etherboot.org/wiki/index.php
menu.lst:
# title gPXE v0.9.6 boot (Etherboot, network boot) map --mem /images/gpxe_0.9.6.dsk (fd0) map --hook chainloader (fd0)+1 rootnoverify (fd0) map --floppies=1 # title PLoP Boot Manager 5.0.3 (iso), boot from USB, CD-ROM find --set-root --ignore-floppies --ignore-cd /images/plpbt.iso map /images/plpbt.iso (hd32) map --hook chainloader (hd32)
gPXE build:
Download the gPXE tarball (tar.gz) from here: http://etherboot.org/wiki/download To build it from Linux-based OS: cd /usr/local/src tar -xzvf gpxe.tar.gz cd gpxe/src make You got at the end of build the file bin/gpxe.dsk that I rename to gpxe_0.9.6.dsk.