As a test, I set up a USB hard drive and installed the following Linuxes:
Ubuntu 10.10
Xubuntu 10.04
Mint 12 LXDE
Bodhi 1.4
Crunchbang 10
In each case, I used a manual install procedure like
here. The partition names were now sdbx because I was working on the USB drive.
Only Xubuntu did NOT give a choice for installing GRUB. Instead, it auto-installed it on the MBR of the USB drive. However, the next run of Grub4Dos bootloader config replaced it.
Using Slacko, I ran Grub4Dos. It made two menu entries for each Linux. All five conventional entries worked correctly. The chainloader (PBR) entries also worked, except for Xubuntu.
I then added some Puppy frugal installs, both inside the existing Linux full installs and in a dedicated partition. I re-ran Grub4Dos and it identified them correctly.
Update:
Slitaz will run off a full install on USB by adding the kernel argument "rootdelay=10". Slitaz gives you the option of not installing GRUB.
Vector Linux won't work in this system. It insists on formatting its root partition as reiserfs, which Grub4Dos can't read.
Slax will run as a frugal install with persistence.
PCLinuxOS works. However, it still uses legacy GRUB. So, depending on your BIOS, you may not be able to chainload to a USB drive. Also, you may need to manually edit the Grub4Dos menu.lst entry to match the one generated by PCLinuxOS.
Archbang works, but with the same GRUB restriction as PCLinuxOS. Archbang requires some modification to the init so USB booting will work.
Salix works. It still uses the old LILO bootloader, but it has an option to NOT install it. Grub4Dos booted it with the regular entry.
-----------------------
Here is a useful trick: The advantage of installing GRUB2 to the PBR is that you get to use the distro's "official" GRUB2 menu. But if you installed GRUB2 to the MBR instead, you can still bring up that menu. In Grub4Dos, change the chainloader entry to:
Code: Select all
uuid xxxxx
kernel /boot/grub/core.img