Archive for January, 2006

Multibooting Solaris and Windows XP

January 18, 2006

Hi,

After installing Solaris 10 Update 1 or above on a PC, users from time to time might want to boot their previous OS (usually Windows XP). Here’s how this can be achieved:

Configuration 1: A single hard disk

This is the easy one. Just add the following section to /boot/grub/menu.lst:

title Windows XP
rootnoverify (hd0,0)
chainloader +1

You can then boot into Windows XP’s boot loader NTLDR directly from Grub. From the XP boot loader, you may then select one of the options available in boot.ini, as before.

Configuration 2: Two hard disks, Windows XP on the first and Solaris on the second

This is a bit tricky. You may want to boot from NTLDR or from Grub first.

a) Booting from NTLDR, BIOS set to boot from the first disk

Get bootpart and extract the boot record from the Solaris partition of the second disk. This adds a new line into boot.ini, like the following:

C:\BOOTSECT.SOL="Solaris"

Note that creating your own boot block using dd on the 8th slice of the Solaris partition does not work because the address of the disk drive is in it. This address is not matching the BIOS address as the boot order had to be different when installing Solaris to the second disk.

Next step is to add a new line into Solaris’ /boot/grub/menu.lst file so that the root entry points to hd1 instead of hd0 (which would be the correct entry if changing the BIOS to boot from the second disk first):

root (hd1,0,a)

b) Booting from Grub, BIOS set to boot from the second disk

Add the following lines to /boot/grub/menu.lst:

title Windows XP
root (hd1,0)
map (hd1) (hd0)
map (hd0) (hd1)
chainloader +1

You can then change the BIOS to boot from the second disk (if not done already for changing /boot/grub/menu.lst ;-)) and select this entry to boot into NTLDR and start Windows XP.

Feel free to send me comments about your experiences.

Related links:
Solaris x86 FAQ, Interoperability section
Multibooting Solaris
A grub menu booting 100+ systems of Dos, Windows, Linux, BSD and Solaris

Note that I am not aware of any damage that the above may do to your computer or configuration, but I cannot exclude the possibility that this may happen. Use the above on your own risk, please, and notify me if you found any problem.

P.S. Information about installing Solaris on a Windows Vista machine is available here.

Advertisements