12.3 on 2nd HDD, GRUB not showing first HDD.

Hi all,

I have Windows 7 installed on one HDD.

I have just installed 12.3 on a HDD I’ve added to my PC.

GRUB isn’t finding the Windows install on the first HDD.

How do I configure GRUB to give me the option to boot into Windows?

fdisk -lu

Disk /dev/sda: 500.1 GB, 500107862016 bytes
255 heads, 63 sectors/track, 60801 cylinders, total 976773168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x2b0f2b0f

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048      206847      102400    7  HPFS/NTFS/exFAT
/dev/sda2          206848   976771071   488282112    7  HPFS/NTFS/exFAT

WARNING: GPT (GUID Partition Table) detected on '/dev/sdb'! The util fdisk doesn't support GPT. Use GNU Parted.


Disk /dev/sdb: 1000.2 GB, 1000204886016 bytes
255 heads, 63 sectors/track, 121601 cylinders, total 1953525168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1               1  1953525167   976762583+  ee  GPT

Any help is much appreciated!

Are you using grub or grub2?

If you are using grub2, did you leave “Probe Foreign OS” checked?

Where did you install grub? Is it installed on your second drive somewhere, or in the MBR of the Windows drive?

the fist drive appear to be MBR partitioned and the second GPT so he must have installed Grub2

But not sure how such a mixed environment would work.

Is this a UEFI machine or the old BIOS?

Sorry for the lack of detail.

Yes I’m running GRUB2-EFI. It appears to be installed in /etc/grub.d.

Yes the machine is running the latest UEFI BIOS.

To be honest I’ve never dual booted using separate drives, in the past I’ve done dual boots with both/all OSs residing on the same drive.

I probably should have spent more time configuring GRUB :slight_smile:

Also:

Yes under Boot Loader settings in YAST it is set to “Probe Foreign OS”.

The board is a Gigabyte Z68AP-D3 if that helps with your BIOS question.

Your Windows is installed in legacy BIOS mode. If openSUSE is indeed installed in UEFI mode it will not add Windows to boot menu, because you cannot boot legacy Windows bootloader in UEFI. Your best bet is to reinstall openSUSE in legacy BIOS mode.

Ok that shouldn’t be a problem, just out interest what is the difference in having an OS use a legacy bootloader rather than a UEFI bootloader?

I’ll report back later on today, need to transfer ~200 GB back over to the WIndows disk first.

Cheers

Well legacy will only support 2 TB drives. GDI supports much larger. UEFI supports secure boot but only needed for Windows 8+ if you want it. Other then that no differences that mean anything. UEFI is much more complicated and thus has more problems being setup. As you can see lol

Ok,

I’ve reinstalled and this time using GRUB2. The problem persists but in a different form. When powered on the system boots into Windows straight away, no GRUB. If I pull the boot menu on start up I can these options:

1: DVD Drive
2: HDD1 (Windows installed here)
3: HDD2 (openSUSE installed here)
4: “opensuse”

If I select HDD2 I get brought to GRUB (which is now giving an option to boot Windows), If I choose “opensuse” Windows starts. No problem I thought: “I’ll just change the boot order”. When changing the boot order in the BIOS, however, I’m only given 3 options: 1, 2 and 4.
Obviously I can’t just use “opensuse” since that boots Windows.

It’s not a huge issue I just don’t want to have to spam F12 every time I boot!

So what are my options?

If you can’t change boot order in BIOS you can install grub into MBR of the first drive. Go into YaST2 bootloader configuration and select /dev/sda as bootloader location. This means you will no more be able to directly boot Windows unless you repair bootsector using Windows recovery tools.

Ok just tried this, no luck. YaST doesn’t seem to save the settings. When I check “custom Boot Partition” and select /dev/sda and accept, it says installing etc.

Then upon restart, windows boots. When I check back in YaST it hasnt saved my settings, “Boot From Master Record” is checked again.

What’s going on?

Did you also uncheck all other options besides “Custom partition”? How YaST2 chooses between multiple choices requested by user is still a mystery to me.

Tried that, it didn’t work.

Windows started by default, when I F12’ed and booted the opensuse HDD I got brought to GRUB with an option to boot windows which works.

I installed GRUB (1) and now when I start the PC I am brought straight to GRUB but with no Windows option. I tried to add /sda2 but it says “BOOTMGR not found”

Adding /sda1 kicks me out and straight back to GRUB.

Any ideas? I googled rewriting Windows Bootloader but I couldnt find much documentation about it in a context which applies to my problem.

Are you sure that in openSUSE your BIOS first drive is indeed sda? May be you just reinstall grub2 on the same (second) drive over and over again?

I’m not sure what you mean. In YaST I am asking it to install on GRUB to /sda1 as far as I know.

Perhaps you can tell me how I choose where to install it.

Here’s GRUBs info:

/boot/grub/device.map:

  (hd0)	/dev/disk/by-id/ata-WDC_WD5000AAKX-221CA1_WD-WCAYUHP42127
 (hd1)	/dev/disk/by-id/ata-WDC_WD1001FALS-403AA0_WD-WMATR0061169

/boot/grub/menu.lst:

  # Modified by YaST2. Last modification on Thu May  9 00:04:55 BST 2013
 # THIS FILE WILL BE PARTIALLY OVERWRITTEN by perl-Bootloader
 # For the new kernel it try to figure out old parameters. In case we are not able to recognize it (e.g. change of flavor or strange install order ) it it use as fallback installation parameters from /etc/sysconfig/bootloader
 

 default 0
 timeout 8
 gfxmenu (hd1,1)/boot/message
 

 ###Don't change this comment - YaST2 identifier: Original name: linux###
 title Desktop -- openSUSE 12.3 - 3.7.10-1.1
     root (hd1,1)
     kernel /boot/vmlinuz-3.7.10-1.1-desktop root=/dev/disk/by-id/ata-WDC_WD1001FALS-403AA0_WD-WMATR0061169-part2 resume=/dev/disk/by-id/ata-WDC_WD1001FALS-403AA0_WD-WMATR0061169-part1 splash=silent quiet showopts
     initrd /boot/initrd-3.7.10-1.1-desktop
 

 ###Don't change this comment - YaST2 identifier: Original name: failsafe###
 title Failsafe -- openSUSE 12.3 - 3.7.10-1.1
     root (hd1,1)
     kernel /boot/vmlinuz-3.7.10-1.1-desktop root=/dev/disk/by-id/ata-WDC_WD1001FALS-403AA0_WD-WMATR0061169-part2 showopts apm=off noresume edd=off powersaved=off nohz=off highres=off processor.max_cstate=1 nomodeset x11failsafe
     initrd /boot/initrd-3.7.10-1.1-desktop
 

 ###Don't change this comment - YaST2 identifier: Original name: windows###
 title Windows
     rootnoverify (hd0,0)
     chainloader +1

/etc/grub.conf

  setup --stage2=/boot/grub/stage2 --force-lba (hd1) (hd1,1)
 quit
 

The grub.conf doesn’t look right to me, but then again I don’t really know what I’m doing when it comes to GRUB.

Could you please show

ls -l /dev/disk/by-id/ata-WDC_WD5000AAKX-221CA1_WD-WCAYUHP42127
ls -l /dev/disk/by-id/ata-WDC_WD1001FALS-403AA0_WD-WMATR0061169
cat /etc/grub.conf
df

ls -l /dev/disk/by-id/ata-WDC_WD5000AAKX-221CA1_WD-WCAYUHP42127:

lrwxrwxrwx 1 root root 9 May  9 11:24 /dev/disk/by-id/ata-WDC_WD5000AAKX-221CA1_WD-WCAYUHP42127 -> ../../sda

ls -l /dev/disk/by-id/ata-WDC_WD1001FALS-403AA0_WD-WMATR0061169:

lrwxrwxrwx 1 root root 9 May  9 11:24 /dev/disk/by-id/ata-WDC_WD1001FALS-403AA0_WD-WMATR0061169 -> ../../sdb

cat /etc/grub.conf:

setup --stage2=/boot/grub/stage2 --force-lba (hd1) (hd1,1)
quit

df:

Filesystem     1K-blocks    Used Available Use% Mounted on
devtmpfs         4060012      24   4059988   1% /dev
tmpfs            4076828      88   4076740   1% /dev/shm
tmpfs            4076828    4136   4072692   1% /run
/dev/sdb2       20641788 4673976  14919240  24% /
tmpfs            4076828       0   4076828   0% /sys/fs/cgroup
tmpfs            4076828    4136   4072692   1% /var/lock
tmpfs            4076828    4136   4072692   1% /var/run
/dev/sdb3      938719072  303392 937461996   1% /home

I can no longer start windows, seems I now have GRUB2 installed on /dev/sdb and GRUB installed on /dev/sda.

I can’t seem to uninstall GRUB from the first (sda) HDD. I need access to the windows disk asap.