Windows 7 / OpenSuse 11.4 dual-boot problem


I’ve just upgraded my hardware to a Sandy Bridge motherboard with EFI setup. I’m trying to install my Windows 7 / Opensuse 11.4 setup as I had it before.

The thing is this time the Windows 7 install created a total of 3 partitions, one for System, one for EFI and the third for the Windows 7 partition itself. I then installed Opensuse on the 4th partition onwards which seemed to go fine, but after I restarted I the machine I was unable to boot either OS! I was getting an error message that there were “no active partitions” present. I’m not really an expert when it comes to partitioning.

I have managed to get Windows 7 working again by using a Gparted live cd to wipe the Opensuse installation by removing the partitions created during installation, but would like to back up and running again with both OSes.

Has anyone else had this issue and are there any workarounds?

My laptop has a Dell partition, a Windows 7 partition, and a Windows 7 recovery partition (I think that’s what it is called). I shrunk the Windows 7 main partition (using gparted), and created an extended partition. I have opensuse 11.4 using several logical drives in that extended partition.

The installer put the grub boot record on the extended partition, and made that active. That works pretty well. Technically, it is contrary to the partition table standard, according to which the extended partition isn’t supposed the be set active. It works, but the risk is that some other software might turn off that active bit.

You might want to try setting the extended partition (partition 4) as active, and see if that fixes your problem. You should be able to do that with your Gparted CD. If that doesn’t work, you will have to look up the procedures for reinstalling grub.

So I have installed two Sandy Bridge PC’s and have been able to make them work. Unless your hard drive is larger than 2 Terabytes, there is no need for any special treatment due to the BIOS or the loading of Windows 7, the same basic rules still apply. Let me give you my typical partitioning help and see if this provides any help 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 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/sda, Load MBR with generic booting code
  2. /dev/sda1, Primary NTFS Partition for Windows
  3. /dev/sda2, Primary SWAP (4 GB)
  4. /dev/sda3, Primary EXT4 “/” openSUSE Partition Marked Active for booting (80-120 GB)
  5. /dev/sda4, Primary EXT4 “/home” Your main home directory (Rest of the disk)

I have found that installing openSUSE to a NTFS partition, at the start of the disk, that has no other room for partitions and where the MBR is standard and the first partition is marked active for booting, were you install Windows 7, seems to keep it contained. Without the EFI BIOS, Windows 7 will still create a small 100 MB reserved partition that is marked active for booting if there is room while placing the rest of Windows in a second and much larger partition. For what it is worth, before you install openSUSE, it is best to install Windows 7 Service Pack 1 as well. I have a thread on that subject here:

openSUSE Dual Booting with Windows 7 AND Loading Service Pack 1 for Windows 7

Hopefully something here will be of help to you.

Thank You,

I don’t recall the partition order when installed w7 & OpenSuse on my friends laptop, but I has a similar issue, and reinstalling grub worked for me.
Re-Install Grub Quickly with Parted Magic