If you have a disk inside your machine that contains a working copy of Windows and you don't want to change BIOS settings every time you want to use it, you can add an entry to GRUB in order to boot from it.
In essence, you are having GRUB pass control to the NTLDR bootloader using a procedure called chainloading.
You need to:
First, we find out where the menu.lst file resides. We do this using the
bootadm list-menu command:
Then we use our favorite editor to open that file with privileges and add an entry like so (added lines are preceded with >> in this example):
WARNING: do not edit other entries, as this may render the system unbootable.
rootnoverify and point it to the first partition of the Windows disk (in this case, the first BIOS disk)
Important: if you had the Windows disk as your first BIOS disk when you installed Windows, you must add another command after
rootnoverify but before
This is necessary because otherwise the NTLDR gets confused about the order of the disks and fails to load. (This useful tidbit comes from here).
When you have entered all the necessary information and saved the file, try using the
bootadm list-menu command again to make sure it's correctly readable.
There's surely a better way out there, but I've found that if you boot the system to the GRUB menu and drop to the GRUB command line (pressing "c" before it boots an entry), you can try issuing the
root (hdX,0) command, where X is the disk number, and GRUB will complain about an unknown partition type.
In doing so however it outputs a useful hex number for the partition type. We are looking for number 0x7 for NTFS.
Once you found it, you can try issuing the rest of the commands until you get a successful boot.