Questions on dual booting Win7 and openSuSE 12.2

First let me say I have read the thread about dual booting Win 7 and openSuSE12.2 on an EFI system, but I have a slightly different scenario and so a question -

I have an ASUS laptop with 2 separate disk drives so I should think installing openSuSE on the second drive should be easier that trying to install both OS’s on a single drive. Windows 7 was installed on one of them. along with a few other Windows related partitions. The second disk was simply partitioned into two data drives, which I removed. I then used the SuSE installer’s disk partition tool to set up partitions on this second drive for swap, /, and /home and when finished I noticed that it had also created a boot volume as well. (similar to the boot volume on the first disk drive that boots up Windozs) That surprised me so I have stopped and am doing further research. My question is, is this correct? Should there be a boot partition on each drive and will ELILO automatically configure a “chainloader” for Windows and set up a menu entry for both Windows and openSuSE such as GRUB did? I cannot examine, using the installer, the boot menu that will be created, like I used to be able to do, and I don’t want to risk destroying the laptop’s ability to boot up Windoz as well… Doesn’t the BIOS read the boot code from the first drive? If so, how is having a second boot partition on the second drive (Which I imagine will be installed by ELILO as part of the installation process.) going to be reached? There is nothing in the BIOS setup menus that will allow me to configure which drive to use to bring up a boot manager, so I am a bit confused…

Also, for what it is worth, here if some feedback that, if told to do so, might be helpful and I will create a bug report… The installation code, by default, from the DVD simply jumps right in and starts installing openSuSE without pausing to allow the user to enter an option such as “nomodeset” which I needed to do. After much searching around (and a LOT of trial and errors) I finally discovered that if one hits the “magic” tab key, right after ELILO starts to it install itself, you can pause the installation process and a “menu” of options will be presented. (Would have been nice if the installation script would inform the user about the tab key!!) Again no hint or directions are provided as to how to set an option either, and proceed, so more trial and errors later I discovered that the magic incantation was simply to type in -

linux nomodeset

I was assuming, from what I read, that one is suppose to add a dash (or two) in front of an option as is done with a lot of linux command options. Again, IMHO, an installer ought to act as a guide for a user and show him/her the way to the solutions that he/she might need. The openSuSE12.2 installer failed badly and I fear will cause a lot of trouble for others as well.

Marc…

On 2012-12-04 20:46, MarcChamberlin wrote:
>
> First let me say I have read the thread about dual booting Win 7 and
> openSuSE12.2 on an EFI system, but I have a slightly different scenario
> and so a question -

Hi, welcome here :slight_smile:

For the shake of others, first he posted on the mail list, but seeing
how things were turning out, I recommended him to ask here, as the
subject of booting with UEFI has come out several times and there are
people that know more than a bit here. :wink:

I’ll just make a comment.

> laptop’s ability to boot up Windoz as well… Doesn’t the BIOS read the
> boot code from the first drive? If so, how is having a second boot
> partition on the second drive (Which I imagine will be installed by
> ELILO as part of the installation process.) going to be reached? There
> is nothing in the BIOS setup menus that will allow me to configure which
> drive to use to bring up a boot manager, so I am a bit confused…

I’m not familiar with uefi and how it affects things. However, if this
were a traditional install, the options are:

a) The bios has a menu that allows choosing which disk will boot.
b) You have boot code in the first disk that allows selecting what disk
and partition to load boot next.

You say your bios does not allow ‘a’ (which is strange these days).

For ‘b’ there are two possibilities:

a) You install grub in the first disk. This is not only the MBR sector,
but way more. This in turn would boot whatever system you want.

b) You use Windows boot code to boot a different system. W7 can do
this, and I think it can boot from a second disk (I’m not completely
sure of this). Although Windows has tools to configure this, I was not
able to learn how, and it is much easier to use the freeware tool
BCDedit. It recognizes Linux. In this case, there would be a grub
installed somewhere on the second disk.

> Also, for what it is worth, here if some feedback that, if told to do
> so, might be helpful and I will create a bug report… The installation
> code, by default, from the DVD simply jumps right in and starts
> installing openSuSE without pausing to allow the user to enter an
> option such as “nomodeset” which I needed to do.

This is strange, should not happen. Maybe it happens because of
something in your case.


Cheers / Saludos,

Carlos E. R.
(from 12.1 x86_64 “Asparagus” at Telcontar)

I dual boot with Windows 7 and now have one PC in a dual boot with Windows 8. I really like and most often use, loading openSUSE on a second internal or external hard drive and I do not use ELILO, but now use Grub 2 with success. Here is some reference material you should read:

Creating Partitions During Install: https://forums.opensuse.org/content/111-partitioning-hard-disk-during-install.html

Re-install Grub2 from DVD Rescue: https://forums.opensuse.org/content/128-re-install-grub2-dvd-rescue.html

Booting openSUSE on UEFI BIOS with ELILO and Grub2 (part I): https://forums.opensuse.org/content/102-booting-opensuse-uefi-bios-elilo-grub2-linux-only-multi-booting.html

Booting openSUSE on UEFI BIOS with ELILO and Grub2 (part II - Windows dual-boot ): https://forums.opensuse.org/content/105-booting-opensuse-uefi-bios-elilo-grub2-windows-dual-boot.html

GNU Grub2 Command Help/Config Editor - Version: 1.90: https://forums.opensuse.org/blogs/jdmcdaniel3/gnu-grub2-command-listing-helper-help-input-106/

FastBoot for Grub 2 or Grub Legacy Menu using Kexec - Version 2.13: https://forums.opensuse.org/blogs/jdmcdaniel3/fastboot-grub-legacy-menu-using-kexec-version-1-28-67/

And there are plenty more links from where these came from. Happy reading.

Thank You,

UEFI system does not have BIOS.

You do not need multiple ESPs, but installer needs to have some defaults and explicitly creating ESP is default. You are free to remove it, but the advantage is, it makes your second drive completely self contained, you can boot from it even if the first drive is not there.

I have been fooling around with this for several days now, since I last posted, trying to grok how to use the new grub2-efi boot loader and simply am unable to figure out how to dual boot Windows 7 and openSuSE12.2 on my system. Most of the examples shown apply to users who have a single disk drive which they are partitioning so as to support both Windows 7 and openSuSE12.2. For me the difference is that I have two separate disk drives, one with Windows 7 and the other with SuSE12.2 (x64) For what it’s worth, parted shows the following -

>parted -l
Model: ATA ST9750420AS (scsi)
Disk /dev/sda: 750GB
Sector size (logical/physical): 512B/4096B
Partition Table: gpt_sync_mbr

Number Start End Size File system Name Flags
1 1049kB 211MB 210MB fat32 EFI system partition boot
2 211MB 345MB 134MB Microsoft reserved partition msftres
3 345MB 300GB 300GB ntfs Basic data partition
4 300GB 723GB 423GB ntfs Basic data partition
5 723GB 750GB 26.8GB ntfs Basic data partition hidden, diag

Model: ATA ST9750420AS (scsi)
Disk /dev/sdb: 750GB
Sector size (logical/physical): 512B/4096B
Partition Table: gpt

Number Start End Size File system Name Flags
1 1049kB 165MB 164MB fat16 primary boot
2 165MB 10.9GB 10.7GB linux-swap(v1) primary
3 10.9GB 53.9GB 43.0GB ext4 primary
4 53.9GB 96.8GB 43.0GB ext4 primary
5 96.8GB 140GB 43.0GB ext4 primary
6 140GB 408GB 268GB ext4 primary
7 408GB 750GB 342GB ext4 primary

and efibootmgr shows this following -

>efibootmgr
BootCurrent: 0001
Timeout: 0 seconds
BootOrder: 0001,0000,0004,0005,0003
Boot0000* Windows Boot Manager
Boot0001* opensuse
Boot0003* CD/DVD Drive
Boot0004* UEFI: WD 2500BEV External1.05
Boot0005* Hard Drive

The installation did set things up so that I can boot up openSuSE12.2 from the bootmanager, but I get an invalid EFI device error when I try to boot up Windows 7. The menu entry for Windows 7 says - Windows 7 (loader) (on /dev/sda3) so my guess is that it shouldn’t be using /dev/sda3? Some of the suggestions I have come across imply that I need to tweak the file /etc/grub.d/30_os-prober but this is a script file and requires too much advance/detailed knowledge of what is going on underneath the covers for me to feel confident that I can make changes to it. (IMHO this was a bad move on the developers part to hide all the details inside script files! I much preferred the old /boot/grub/menu.lst, it was MUCH EASIER to simply edit and correct!)

So far, I know I have not touched anything on the disk that contains the Windows 7 OS. In fact, I can drop into the (what we use to call the BIOS setup) low level setup menus and simply change the boot order so that the Windoz disk is selected as the first drive to boot from, and indeed Windows 7 boots up just fine. But I would rather use the Grub2 boot manager to select which OS to boot up so as to make my laptop more wife friendly. (Although I fear that I have an additional issue to resolve, whenever Windows boots up, I think it changes the boot order in the setup, from what I have read about Windoz.)

So if anyone can help me get the Grub2-efi bootmanager/menu working so that I can boot up Windows 7 also, I sure would appreciate it. I suspect this is something simple that I am overlooking, but I haven’t found a model description that I can grok that explains how… Thanks again for all the help received!

Marc..

This will cause problems sooner or later. Thread you mentioned provides recommendations how to fix it.

Boot0000* Windows Boot Manager
Boot0001* opensuse

So you already have dual boot system. Do you mean that one of those menu items does not work?

but I get an invalid EFI device error when I try to boot up Windows 7

From UEFI boot menu or GRUB2 boot menu?

So far, I know I have not touched anything on the disk that contains the Windows 7 OS

Unfortunately, openSUSE installer did (changed partition label).

Thanks arvidjarr for taking the time to reply and help me along this path. I am not sure which thread you are referring to that talks about Partition Table: gpt_sync_mbr issues and how to fix it. I search all the threads provided by **jdmcdaniel3 for me to try an grok and only found a passing reference to this type of partition table in the thread -

**https://forums.opensuse.org/content/105-booting-opensuse-uefi-bios-elilo-grub2-windows-dual-boot.html

where he talks about the differences between legacy Windows 7 - Legacy/MBR standard installation and the Windows 7 - UEFI/GPT standard installatio

So you already have dual boot system. Do you mean that one of those menu items does not work?

Yes.

From UEFI boot menu or GRUB2 boot menu?

This is a bit confusing to me as I am not sure what the difference is… But I will take a stab at it and try to clarify what is happening and what I think you mean…

Immediately, right after powering up the laptop, if I hit the Del key I am taken into a low level setup utility, what we use to think of, in the past as the BIOS setup. Part of this setup utility allows me to set the order of disk drives which it will use to select which OS to boot up. The two drives in my laptop are correctly identified as one for Windows 7 and the other for openSuSE. (by the OS name even!!! which is not a behavior I have ever seen in a BIOS setup menu, so I am guessing this is what is meant by the UEFI boot menu.) If I change the boot order of these drives, such that the disk containing the Windows 7 OS and its* fat32 EFI system partition boot* is the first drive, then upon saving and exiting from this setup utility, Windows 7 boots up.

Is this low level setup utility the same as what is being referred to as the UEFI boot menu? It is not labeled as such and I cannot find anything definitive that says it is… So this is just an hunch on my part and/or a best guess…

Anywise, if in this setup utility I set the boot order such that the disk containing openSuSE an its * fat16 primary boot* as the first drive in the boot order, then upon saving and exiting from this setup utility, the system proceeds to bring up what I perceive is the GRUB2 boot menu. From here, I am offered the ability to select booting up openSuSE, openSuSE advance, and Windows 7. If I select openSuSE then openSuSE will boot up just fine. BUT if I select Windows 7, in this “GRUB2” menu, then it fails and gives me the invalid EFI device error that I mentioned previously. HTHs.

Unfortunately, openSUSE installer did (changed partition label).

Hmmm, well that sounds ominous! Is that a problem and if so what do I do about it? I hope my explanations are clear enough now that you or someone else can help me get it so that if the Windows 7 entry in the “GRUB2” menu is selected (by my wife) the laptop will correctly boot up Windows 7 for her. I can live with changing the disk order in the low level setup utility, but I fear trying to explain that process to her will be a Herculean feat at best.

Marc…

So Its hard to make sense of all of these different terms, but one needs to understand why they may make a difference for you. I am using some links here that might help.

The TOP down order is as follows:

  1. UEFI Firmware: It used to be called a PC BIOS and I may still use the term BIOS but the full name is Unified Extensible Firmware** I**nterface (Unified Extensible Firmware Interface - Wikipedia, the free encyclopedia) or UEFI for short. Its still the starting program in your PC that kicks starts its operation when the PC is turned on or when it gets rebooted. It is designed to keep track of your hardware and to provide a uniform interface for those resources to your operating system. The UEFI system is designed to address lots of issues including total memory and total disk space. And now, with the advent of Windows 8, it can manage the signing of a operating system boot up process, not allowing an OS to boot if it does not match a certain key loaded into the PC firmware. As for hard disks, it needs to understand GUID partition tables and EFI Partitions. A UEFI PC can often be set to work as a simple BIOS and/or certain features operate while others do not, but it is all up the manufacturer as to what you are allowed to do in UEFI PC setup.

  2. GUID Partition Table: It used to just be a partition table on a hard disk, but now the latest incarnation is called a Globally Unique IDentifier Partition Table (*GUID partition table or *GPT) (GUID Partition Table - Wikipedia, the free encyclopedia) or GUID for short or perhaps called a GPT partition. It allows for humongous hard disks with very little limit to the number or sizes of the partitions and is about as far from the old MBR partition type you can get. The basics are that the Linux kernel understands and works with GPT disk partitions just fine, but not all openSUSE disk tools can be used at present with GPT disk partitions. In a case where I had two hard drives and I wanted to load openSUSE on a second disk, I might remove any part of an existing GUID disk and go back to a standard MBR (Master Boot Record) hard drive partition setup on the disk to be installed by openSUSE.

  3. EFI Partition: An EFI partition is called Extensible Firmware** Interface partition** and is part of the GPT disk partition definition (EFI System partition - Wikipedia, the free encyclopedia) designed to work with to be read by a Unified Extensible Firmware** I**nterface PC in order to determine what is going to be booted.

  4. Grub2 or Grub2-efi is the latest incarnation of the openSUSE Linux Operating System boot selector with the efi version required to boot from a UEFI enabled PC. Grub2-efi should be able to boot from anything, but the partitioning tools that come with openSUSE 12.2 may not work properly with a GPT disk partition setup. Further, conversion of a GPT disk partition will require software tools not included with openSUSE 12.2. That is why two links were provided on how one might boot using grub2-efi and the steps you need to take for that task.

  5. As for loading openSUSE on a secondary or even external hard disk, there are just a few things you must do. 1) Your PC UEFI or BIOS must allow you to select and boot from the second or external hard drive. 2) The disk partition setup must be compatible with openSUSE 12.2. 3) You must on purpose place all three suggested/required partitions on that second or external hard disk including root /, /home & SWAP 4) You must make sure to either install the Grub 2 boot loader into the MBR (I recommend for a MBR disk) or place generic boot code into the MBR. Consider that secondary or external hard drives may contain a blank MBR which will not boot no matter what else is on the rest of the disk.

So that is my quick and dirty explanation of these terms we seem to be floating around here and I hope that it helps understand the issues in some way.

Thank You,

Oh, sorry, I mixed it up with another thread that had similar title and content. Here you are.

The thread itself (long but may be still interesting): https://forums.opensuse.org/english/get-technical-help-here/install-boot-login/478260-trouble-dual-booting-12-2-windows-7-efi-enabled-system.html
My post how to fix the issue: https://forums.opensuse.org/english/get-technical-help-here/install-boot-login/478260-trouble-dual-booting-12-2-windows-7-efi-enabled-system-5.html#post2489710

You will need gdisk, you can install it on openSUSE: zypper install gptfdisk
Or use live some live CD.

Do not use parted included in openSUSE 12.2, it handles partition table created by Windows incorrectly.

Many many thanks jdmcdaniel3 for taking the time to write up these definitions! I hope they get captured somewhere in the online documents about using the new boot/partitioning schemes. I am sure others will find your descriptions useful!

  1. As for loading openSUSE on a secondary or even external hard disk, there are just a few things you must do. 1) Your PC UEFI or BIOS must allow you to select and boot from the second or external hard drive.

It does, and by changing the boot order I can boot up either Windows or openSuSE, but doing it this way is not wife friendly, if you know what I mean…

  1. The disk partition setup must be compatible with openSUSE 12.2.

I can’t answer this question with certainty, here is the output from gdisk -l on my two drives, HTHs…

marcslaptopsuse:/etc/grub.d # gdisk -l /dev/sda
GPT fdisk (gdisk) version 0.8.2

Partition table scan:
  MBR: protective
  BSD: not present
  APM: not present
  GPT: present

Found valid GPT with protective MBR; using GPT.
Disk /dev/sda: 1465149168 sectors, 698.6 GiB
Logical sector size: 512 bytes
Disk identifier (GUID): DD529640-C33D-4533-8B56-0DC0F4F90444
Partition table holds up to 128 entries
First usable sector is 34, last usable sector is 1465149134
Partitions will be aligned on 2048-sector boundaries
Total free space is 3757 sectors (1.8 MiB)

Number  Start (sector)    End (sector)  Size       Code  Name
   1            2048          411647   200.0 MiB   EF00  EFI system partition
   2          411648          673791   128.0 MiB   0C01  Microsoft reserved part
   3          673792       586731519   279.5 GiB   0700  Basic data partition
   4       586731520      1412718591   393.9 GiB   0700  Basic data partition
   5      1412718592      1465147391   25.0 GiB    2700  Basic data partition
marcslaptopsuse:/etc/grub.d # gdisk -l /dev/sdb
GPT fdisk (gdisk) version 0.8.2

Partition table scan:
  MBR: protective
  BSD: not present
  APM: not present
  GPT: present

Found valid GPT with protective MBR; using GPT.
Disk /dev/sdb: 1465149168 sectors, 698.6 GiB
Logical sector size: 512 bytes
Disk identifier (GUID): 63555142-4050-4C89-90E3-E0F86FBF48AE
Partition table holds up to 128 entries
First usable sector is 34, last usable sector is 1465149134
Partitions will be aligned on 2048-sector boundaries
Total free space is 3757 sectors (1.8 MiB)

Number  Start (sector)    End (sector)  Size       Code  Name
   1            2048          321535   156.0 MiB   EF00  primary
   2          321536        21286911   10.0 GiB    0700  primary
   3        21286912       105177087   40.0 GiB    0700  primary
   4       105177088       189069311   40.0 GiB    0700  primary
   5       189069312       272959487   40.0 GiB    0700  primary
   6       272959488       797241343   250.0 GiB   0700  primary
   7       797241344      1465147391   318.5 GiB   0700  primary

  1. You must on purpose place all three suggested/required partitions on that second or external hard disk including root /, /home & SWAP

All 3 of these partitions are set up on my second disk, along with some empty partitions for future usage…

  1. You must make sure to either install the Grub 2 boot loader into the MBR (I recommend for a MBR disk) or place generic boot code into the MBR. Consider that secondary or external hard drives may contain a blank MBR which will not boot no matter what else is on the rest of the disk.

Now you may have lost me! gdisk reports I have an protective MBR partition on each of my disk drives and YaST2 reports that I am using the GRUB2-EFI boot loader. I presume this GRUB2-EFI boot loader is on my second drive where I had my openSuSE installation DVD install openSuSE. So my take is that I have a GRUB2-EFI boot installed into the MBR of my second drive, do you concur and have I met this requirement?

Marc…

Thanks arvidjaar for your help. I tried to read the thread, but fear it overwhelmed me trying to understand it all! Heavy stuff! Anywise, I focused on the posting that explains how to fix the issue and I want to double check before I proceed to follow those instructions. It seems you are asking me to rewrite (overright) the protective MBR that Windows 7 created when it was installed on my first disk drive? Will this harm the bootloader that Window 7 is using when I change my drive order, in the UEFI setup menu, so that the disk Windows 7 was installed on is the first drive to boot from? And how will this help me to correct the GRUB2 menu so that it will correctly chainload Windows 7 when I want to select Windows 7 in the GRUB2 bootmanager menu?

As an FYI, I did proceed so far as to get a description of the protective MBR for each drive -

Expert command (? for help): o

Disk size is 1465149168 sectors (698.6 GiB)
MBR disk identifier: 0x527CD163
MBR partitions:

Number  Boot  Start Sector   End Sector   Status      Code
   1                     1   4294967295   primary     0xEE
Expert command (? for help): o

Disk size is 1465149168 sectors (698.6 GiB)
MBR disk identifier: 0x00000000
MBR partitions:

Number  Boot  Start Sector   End Sector   Status      Code
   1                     1   1465149167   primary     0xEE

Do not use parted included in openSUSE 12.2, it handles partition table created by Windows incorrectly.

OK, I won’t :wink: Marc…

So I would say that if you wish to keep the second hard disk as GPT, you will want to refer to please_try_again’s guide on the subject here:

Booting openSUSE on UEFI BIOS with ELILO and Grub2 (part I) : https://forums.opensuse.org/content/102-booting-opensuse-uefi-bios-elilo-grub2-linux-only-multi-booting.html

Booting openSUSE on UEFI BIOS with ELILO and Grub2 (part II - Windows dual-boot ) : https://forums.opensuse.org/content/105-booting-opensuse-uefi-bios-elilo-grub2-windows-dual-boot.html

Else, you are going to blow away the GPT partition on hard disk 2 and revert back to a standard MBR disk then which openSUSE does by default.

Thank You,

Yes. But now I see that it is not required in your case.

Will this harm the bootloader that Window 7 is using when I change my drive order, in the UEFI setup menu, so that the disk Windows 7 was installed on is the first drive to boot from?

I do not quite understand this question. Changing order of menu entries is unlikely to harm anything, but may be you mean something different.

And how will this help me to correct the GRUB2 menu so that it will correctly chainload Windows 7 when I want to select Windows 7 in the GRUB2 bootmanager menu?

Ah, sorry again. I have carefully reviewed your previous post and you can boot from UEFI menu directly. So partition table on the first drive was not rewritten (likely because you installed on the second disk, not touching the first). In this case it is not necessary to fix it. Unfortunately, standard openSUSE 12.2 utilities can not add chainloading of another UEFI boot loader to GRUB2 menu. I think please_try_again has updated tools that support it. They were mentioned several times here.

Sorry for confusion.