Delayed whim I followed up on this week: a fork of GNU Grub.*
Once I settled on one of the myriad riggings that clutter the docs, it was easy to set up from within Windows. No Linux necessary.
Why didn’t I leave the MS bootloader be? I like flexibility. In this case the OS is WinXP, and an occasional USB enclosure with Linux. The motherboard stopped seeing that as bootable after I migrated the Linux drive from a prior enclosure. And I got sick of bootstrapping it with a Grub CD. This fork can boot ISOs and disk images, which is handy too.
1) Get the latest “grub4dos-x.x.x-xxxx-xx-xx.zip“.
2) Take “grldr” and “menu.lst” from the archive and put them in the root of a partition. Chuck the rest.
3) Get the latest “grubinst-x.x-bin-w32-xxxx-xx-xx.zip”
4) Extract that to a temporary folder to run this one time.
5) Run “grubinst_gui.exe”
Pick a device from the Disk dropdown list.
Click “Install”
That’s enough to successfully reboot into various flavors of Windows.
It worked out of the box for me. According to the docs, if the bootloader panics, it’ll fall back to a relocated backup of the old MBR. Or you can cautiously dd your own copy under Knoppix beforehand. Or run “fixmbr”/”fixboot” from a Windows install CD’s recovery console afterward.
Now break out Wordpad and start playing with that example menu.lst. There’s a bit of help here.
Here’s my pared down menu.
# This menu is for Grub4Dos
# (Installed to the MBR, seeking /grldr)color white/black
timeout 8
default 0title Windows XP
root (hd0,0)
chainloader /ntldrtitle Wanderer (Cold boot for this, MoBo quirk)
root (hd1,0)
kernel /boot/vmlinuz-2.6.26-2-686 root=LABEL=roam quiet vga=791
initrd=/boot/initrd.img-2.6.26-2-686title .
title Prompt
commandline# For when I din’t feel like burning…
title BootMe.iso
find –set-root /BootMe.iso
map /BootMe.iso (0xff) || map –mem /BootMe.iso (0xff)
map –hook
chainloader (0xff)
* There’s an even fresher unstable Chinese fork of Grub4Dos by chenall, but I wasn’t that adventurous.