Hello, I never post to forums, because I can usually figure it out, but this is killing me.
I have an ASUS A8N-SLI board with an nForce4 raid 1 setup hosting a Windows 7 array over two 500GB disks. I have a third SATA drive with opensuse 11.3 installed and working perfectly. By changing the boot order in the BIOS, I can alternate which system boots at startup. What I want to do is set up a dual boot configuration… I don’t care how, but I want a screen that asks me which OS to use, preferably defaulting to Windows so my wife can stil check her email without calling me at work.
I thought the easiest setup would be to set the LINUX drive as the primary device and then add then chainload the Windows disks, and set them first in the boot queue. That way, without any intervention, the system would pause for 8 seconds and see if I wanted to boot LINUX, then boot Windows if I didn’t do anything.
The problem is, I can’t figure out how to add Windows to the GRUB menu and recognize it. All of the documentation I can find seems to assume that your Windows and LINUX partitions are on the same disk, which mine are not.
OK, hopefully someone here can at least point me in the right direction.
Not at all! You can chainload anything from anywhere (any partition on any drive). Whether other drives will boot or not depend on the BIOS. The problem in your case is how and if Grub can deal with your hardware based raid. Do those disks show up under Linux? … and as what?
Yes they do. The WD500 disks are the ones that have the nVIDIA raid array on them:
lrwxrwxrwx 1 root root 9 2011-03-05 07:32 ata-ST3160812AS_4LS0LSV5 → …/…/sda
lrwxrwxrwx 1 root root 10 2011-03-05 07:32 ata-ST3160812AS_4LS0LSV5-part1 → …/…/sda1
lrwxrwxrwx 1 root root 10 2011-03-05 07:32 ata-ST3160812AS_4LS0LSV5-part2 → …/…/sda2
lrwxrwxrwx 1 root root 10 2011-03-05 07:33 ata-ST3160812AS_4LS0LSV5-part3 → …/…/sda3
lrwxrwxrwx 1 root root 9 2011-03-05 07:32 ata-WDC_WD5000AAKS-22V1A0_WD-WCAWF3951707 → …/…/sdc
lrwxrwxrwx 1 root root 10 2011-03-05 07:32 ata-WDC_WD5000AAKS-22V1A0_WD-WCAWF3951707-part1 → …/…/sdc1
lrwxrwxrwx 1 root root 10 2011-03-05 07:32 ata-WDC_WD5000AAKS-22V1A0_WD-WCAWF3951707-part2 → …/…/sdc2
lrwxrwxrwx 1 root root 9 2011-03-05 07:32 ata-WDC_WD5000AAKS-22V1A0_WD-WCAWF4171804 → …/…/sdb
lrwxrwxrwx 1 root root 10 2011-03-05 07:32 ata-WDC_WD5000AAKS-22V1A0_WD-WCAWF4171804-part1 → …/…/sdb1
lrwxrwxrwx 1 root root 10 2011-03-05 07:32 ata-WDC_WD5000AAKS-22V1A0_WD-WCAWF4171804-part2 → …/…/sdb2
lrwxrwxrwx 1 root root 9 2011-03-05 07:32 scsi-SATA_ST3160812AS_4LS0LSV5 → …/…/sda
lrwxrwxrwx 1 root root 10 2011-03-05 07:32 scsi-SATA_ST3160812AS_4LS0LSV5-part1 → …/…/sda1
lrwxrwxrwx 1 root root 10 2011-03-05 07:32 scsi-SATA_ST3160812AS_4LS0LSV5-part2 → …/…/sda2
lrwxrwxrwx 1 root root 10 2011-03-05 07:33 scsi-SATA_ST3160812AS_4LS0LSV5-part3 → …/…/sda3
lrwxrwxrwx 1 root root 9 2011-03-05 07:32 scsi-SATA_WDC_WD5000AAKS-_WD-WCAWF3951707 → …/…/sdc
lrwxrwxrwx 1 root root 10 2011-03-05 07:32 scsi-SATA_WDC_WD5000AAKS-_WD-WCAWF3951707-part1 → …/…/sdc1
lrwxrwxrwx 1 root root 10 2011-03-05 07:32 scsi-SATA_WDC_WD5000AAKS-_WD-WCAWF3951707-part2 → …/…/sdc2
lrwxrwxrwx 1 root root 9 2011-03-05 07:32 scsi-SATA_WDC_WD5000AAKS-_WD-WCAWF4171804 → …/…/sdb
lrwxrwxrwx 1 root root 10 2011-03-05 07:32 scsi-SATA_WDC_WD5000AAKS-_WD-WCAWF4171804-part1 → …/…/sdb1
lrwxrwxrwx 1 root root 10 2011-03-05 07:32 scsi-SATA_WDC_WD5000AAKS-_WD-WCAWF4171804-part2 → …/…/sdb2
lrwxrwxrwx 1 root root 9 2011-03-05 07:32 wwn-0x50014ee1ad3fd793 → …/…/sdc
lrwxrwxrwx 1 root root 10 2011-03-05 07:32 wwn-0x50014ee1ad3fd793-part1 → …/…/sdc1
lrwxrwxrwx 1 root root 10 2011-03-05 07:32 wwn-0x50014ee1ad3fd793-part2 → …/…/sdc2
lrwxrwxrwx 1 root root 9 2011-03-05 07:32 wwn-0x50014ee1ad3fd90b → …/…/sdb
lrwxrwxrwx 1 root root 10 2011-03-05 07:32 wwn-0x50014ee1ad3fd90b-part1 → …/…/sdb1
lrwxrwxrwx 1 root root 10 2011-03-05 07:32 wwn-0x50014ee1ad3fd90b-part2 → …/…/sdb2
If I try to mount one of the drives, I get this message:
snowcone:/mnt # mount /dev/sdb /mnt/windows
mount: unknown filesystem type ‘nvidia_raid_member’
Show use fdisk -l , as root cat /boot/grub/menu.lst and cat /etc/fstab
Put output between code tags (select the Go Advanced option in this editor.) to preserve formating
nrdlngr:
If I try to mount one of the drives, I get this message:
snowcone:/mnt # mount /dev/sdb /mnt/windows
mount: unknown filesystem type ‘nvidia_raid_member’
You can not mount hard disk devices (/dev/sda, /dev/sdb, etc). You can only mount partitions (/dev/sda1, /dev/sdb1, etc).
snowcone:/ # fdisk -l
Disk /dev/sdb: 500.1 GB, 500107862016 bytes
255 heads, 63 sectors/track, 60801 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x3741e0bc
Device Boot Start End Blocks Id System
/dev/sdb1 * 1 13 102400 7 HPFS/NTFS
Partition 1 does not end on cylinder boundary.
/dev/sdb2 13 60802 488282112 7 HPFS/NTFS
Disk /dev/sda: 160.0 GB, 160041885696 bytes
255 heads, 63 sectors/track, 19457 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x6d8060d7
Device Boot Start End Blocks Id System
/dev/sda1 1 262 2104483+ 82 Linux swap / Solaris
/dev/sda2 * 263 2873 20972857+ 83 Linux
/dev/sda3 2874 19457 133210980 83 Linux
Disk /dev/sdc: 500.1 GB, 500107862016 bytes
255 heads, 63 sectors/track, 60801 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x3741e0bc
Device Boot Start End Blocks Id System
/dev/sdc1 * 1 13 102400 7 HPFS/NTFS
Partition 1 does not end on cylinder boundary.
/dev/sdc2 13 60802 488282112 7 HPFS/NTFS
snowcone:/boot/grub # cat menu.lst
# Modified by YaST2. Last modification on Sat Mar 5 00:48:39 PST 2011
# THIS FILE WILL BE PARTIALLY OVERWRITTEN by perl-Bootloader
# Configure custom boot parameters for updated kernels in /etc/sysconfig/bootloader
default 0
timeout 8
gfxmenu (hd0,1)/boot/message
##YaST - activate
###Don't change this comment - YaST2 identifier: Original name: linux###
title Desktop -- openSUSE 11.3 - 2.6.34.7-0.7
root (hd0,1)
kernel /boot/vmlinuz-2.6.34.7-0.7-desktop root=/dev/disk/by-id/ata-ST3160812AS_4LS0LSV5-part2 resume=/dev/disk/by-id/ata-ST3160812AS_4LS0LSV5-part1 splash=silent quiet showopts vga=0x348
initrd /boot/initrd-2.6.34.7-0.7-desktop
###Don't change this comment - YaST2 identifier: Original name: failsafe###
title Failsafe -- openSUSE 11.3 - 2.6.34.7-0.7
root (hd0,1)
kernel /boot/vmlinuz-2.6.34.7-0.7-desktop root=/dev/disk/by-id/ata-ST3160812AS_4LS0LSV5-part2 showopts apm=off noresume edd=off powersaved=off nohz=off highres=off processor.max_cstate=1 nomodeset x11failsafe vga=0x348
initrd /boot/initrd-2.6.34.7-0.7-desktop
snowcone:/boot/grub # cat /etc/fstab
/dev/disk/by-id/ata-ST3160812AS_4LS0LSV5-part1 swap swap defaults 0 0
/dev/disk/by-id/ata-ST3160812AS_4LS0LSV5-part2 / ext4 acl,user_xattr 1 1
/dev/disk/by-id/ata-ST3160812AS_4LS0LSV5-part3 /home ext3 defaults 1 2
proc /proc proc defaults 0 0
sysfs /sys sysfs noauto 0 0
debugfs /sys/kernel/debug debugfs noauto 0 0
usbfs /proc/bus/usb usbfs noauto 0 0
devpts /dev/pts devpts mode=0620,gid=5 0 0
Try to add that first (at the end of /boot/grub/menu.lst) and tell us if it boots:
###Don't change this comment - YaST2 identifier: Original name: Windows###
Title Windows
rootnoverify (hd1,0)
chainloader +1
If id doesn’t work, add these map commands:
###Don't change this comment - YaST2 identifier: Original name: Windows###
Title Windows
map (hd0) (hd2)
map (hd1) (hd0)
map (hd2) (hd1)
rootnoverify (hd1,0)
chainloader +1
If it still doesn’t work try to chainload the hard disk rather than the partition - with or without the map commands:
###Don't change this comment - YaST2 identifier: Original name: Windows###
Title Windows
map (hd0) (hd2)
map (hd1) (hd0)
map (hd2) (hd1)
root (hd1)
chainloader +1
As soon as it works (let’s hope it will), replace “default 0” with “default 2”, provided Windows is the third entry in /boot/grub/menu.lst, and Windows should boot by default after 8 seconds (or any other delay you might set by changing the ‘timeout’ value in this file).
Wow, thanks a lot, @please_try_again ! The first one (comment #7 ) worked (without the mapping), but I had to change “Title” to “title” for the code to work. This community is great.
nrdlngr:
Wow, thanks a lot, @please_try_again ! The first one (comment #7 ) worked (without the mapping), but I had to change “Title” to “title” for the code to work. This community is great.
That’s right. I copied/pasted my own typo twice. Glad it worked.