Monday, February 2, 2009

Multi-booting several Windows based OSes

Microsoft itself explains how to make coexist different versions of her OSes on the same disk. The key point is that they have to be installed in age order: the youngest last. Quite uncomfortable, particularly if you already have a consolidated setup and want to add an older version.
I also tried to install WindowsXP (64bit) after Windows2000 professional (32bit) on two different partitions, but then Windows2000 didn't boot anymore. Even if they are on separate partitions the share the C:\ for the bootloader. I don't believe it's a 32-64 bit issue, but I have no time to investigate.
I feel better this way (each OS with its own bootloader):
  1. install (or keep installed) Windows "A" in its proper partition (e.g. the first one);
  2. add a partition to hold Windows "B" (e.g. the second one);
  3. use the preferred tool (e.g. grub) to hide partition "A";
  4. install Windows "B";
  5. install grub on the mbr of the hard drive and make it reading the menu.lst containing:
    title Windows A
    unhide (hd0,0)
    hide (hd0,1)
    rootnoverify (hd0,0)
    chainloader +1
    makeactive

    title Windows B
    unhide (hd0,1)
    hide (hd0,0)
    rootnoverify (hd0,1)
    chainloader +1
    makeactive