Can't Boot into SuSE (Dual boot with win7)

Hello,
I’m trying to dual-boot Windows 7 with openSuSE 11.4, i was told that i should install SuSE after windows 7 as it takes care of the boot-loader and automatically detects my windows installation and not vice-versa,
But that is not true in my case.

So i had 2 hard disks one had windows 7 installed and one was empty so i decided that i should get openSuSE 11.4 on the empty hard disk and dual-boot it with windows 7 (that i already had installed).

Downloaded the DVD, put it on a USB and installed SuSE on the other hard disk normally, it detected my windows installation on my main hard disk but i didn’t touch that, only formatted my other hard disk to ext4

After the installation it booted automatically into SuSE, but now every time on a fresh restart the system boots automatically into windows.

Methods i have already tried to resolve this and it didn’t work:

  1. Booted from the DVD and selected an “Upgrade” not “New Installation” so i could boot again into my SuSE installation which did work, checked my “Boot Loader” options from YaST and checked the “Boot from MBR” option instead of the “Boot from root partition” option, That Did NOT work.

  2. Used the same method to Boot into SuSE with the “Upgrade” Option opened up the terminal and tried to install grub manually again using this link
    which says:

 sudo /usr/sbin/grub
 grub> find /boot/grub/stage2
 (hdx,y)
 grub> root (hdx,y)
 grub> setup (hdx)
 grub> quit

That Did NOT work.

  1. Changed the Boot sequence in my BIOS to go to the SuSE Hard disk first, got the message “Error loading operation System”, That Did NOT work.

I’m currently on my windows installation as i can’t boot in SuSE unless i use this “Upgrade” instead of “New Installation” option which i think is too much.

Any Help would be greatly appreciated,
Thanks.

It is early morning here in Austin, but I do have a standard blurb for partitioning you could read and see if it is helpful to you:

Each hard drive can have up to four PRIMARY partitions, any of which could be marked active and bootable. No matter what you might hear, only one of the first four primary partitions can be booted from. That means you can boot from Primary partitions 1, 2, 3 or 4 and that is all. In order to boot openSUSE, you must load openSUSE and the grub boot loader into one of the first four partitions. Or, your second choice is to load the grub boot loader into the MBR (Master Boot Record) at the start of the disk. The MBR can be blank, like a new disk, it can contain a Windows partition booting code or generic booting code to boot the active partition 1, 2, 3, or 4. Or, as stated before, it can contain the grub boot loader. Why load grub into the MBR then? You do this so that you can “boot” openSUSE from a logical partition, numbered 5 or higher, which is not normally possible. In order to have more than four partitions, one of them (and only one can be assigned as extended) must be a extended partition. It is called an Extended Primary Partition, a container partition, it can be any one of the first four and it can contain one or more logical partitions within. Anytime you see partition numbers 5, 6 or higher for instance, they can only occur inside of the one and only Extended Primary partition you could have.

What does openSUSE want as far as partitions? It needs at minimum a SWAP partition and a “/” partition where all of your software is loaded. Further, it is recommended you create a separate /home partition, which makes it easier to upgrade or reload openSUSE without losing all of your settings. So, that is three more partitions you must add to what you have now. What must you do to load and boot openSUSE from an external hard drive? Number one, you must be able to select your external hard drive as the boot drive in your BIOS setup. Number two, you need to make sure that the external hard drive, perhaps /dev/sdb, is listed as the first hard drive in your grub device.map file and listed as drive hd0. I always suggest that you do not load grub into the MBR, but rather into the openSUSE “/” root primary partition which means a primary number of 1, 2, 3 or 4. If number one is used, then that will be out. You will mark the openSUSE partition as active for booting and finally you must load generic booting code into the MBR so that it will boot the openSUSE partition. I suggest a partition like this:

  1. /dev/sdb, Load MBR with generic booting code
  2. /dev/sdb1, Primary NTFS Partition for Windows
  3. /dev/sdb2, Primary SWAP (4 GB)
  4. /dev/sdb3, Primary EXT4 “/” openSUSE Partition Marked Active for booting (80-120 GB)
  5. /dev/sdb4, Primary EXT4 “/home” Your main home directory (Rest of the disk)

Thank You,

With the BIOS still set to boot the openSUSE disk before the windows disk, I would then Re-Install Grub Quickly with Parted Magic
If you still have problems you could use the same liveCD to give us

fdisk -l

(and also could you the tell us what GRUB found and what you entered when doing the GRUB reinstall)

@jdmcdaniel3: Thank You ! , your post helped me resolve the issue now my grub loads from my SuSE hard disk’s MBR correctly with the correct partition settings.

@dvhenry: Thank you for the help but i managed to get it to boot, i installed EasyBCD under windows which let me boot into grub then i kept guessing which partition i had my SuSE on hd0,1 or hd1,1 … etc till i got it

then loaded the kernel and initrd and booted when i got in i edited the boot loader setting in YaST to reference to my “sdb2” which was my SuSE partition and edited my BIOS to boot from SuSE hard disk. everything worked out fine.

Thanks alot. :slight_smile:

@jdmcdaniel3: Thank You ! , your post helped me resolve the issue now my grub loads from my SuSE hard disk’s MBR correctly with the correct partition settings.

@dvhenry: Thank you for the help but i managed to get it to boot, i installed EasyBCD under windows which let me boot into grub then i kept guessing which partition i had my SuSE on hd0,1 or hd1,1 … etc till i got it

then loaded the kernel and initrd and booted when i got in i edited the boot loader setting in YaST to reference to my “sdb2” which was my SuSE partition and edited my BIOS to boot from SuSE hard disk. everything worked out fine.

Thanks alot. :slight_smile:
Happy to help zVirx. There is another useful program to run, but it requires that you have openSUSE able to run. I would still download and install the bash script file findgrub. You can get a copy here:

http://unixversal.com/linux/openSUSE/findgrub301.tgz

I normally copy all scripts to my personnel ~/bin folder (~ = /home/yourname). You open up a terminal session and then just type in findgrub. Check it out, I think it will provide some useful info.

Thank You,