No Grub menu shows up for Dual booting Windows 8 and openSUSE on separate drives.

I have windows 8 on my 256 gb ssd and openSUSE installed on my 480 gb ssd so they are on separate drives. I can access each by changing the boot order through the motherboard but I would very much like the grub menu for choosing between the two.

What I have looked at so far is https://en.opensuse.org/SDB:Dual_boot_on_2_drives . The article seems outdated because it does not mention grub2 and I also do not have a grub.lst file.

Another cause for concern is that each time I boot openSUSE an additional openSUSE boot option appears on my motherboard’s boot option drop down. I have 10 boot options half of which are openSUSE (there are 2 boot options added each time, openSUSE and UEFI OS which I think is an image backup for openSUSE??)

My previous experience with dual booting is that the OSs (My previous OS was Win8 and Fedora) are automatically detected and boot menu automatically available not having to go through the mobo settings.

output of parted -l

Model: ATA Samsung SSD 850 (scsi)
Disk /dev/sda: 256GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags: 

Number  Start   End    Size   Type     File system  Flags
 1      1049kB  368MB  367MB  primary  ntfs         boot, type=07
 2      368MB   256GB  256GB  primary  ntfs         type=07


Model: ATA WDC WD10EZEX-21M (scsi)
Disk /dev/sdb: 1000GB
Sector size (logical/physical): 512B/4096B
Partition Table: msdos
Disk Flags: 

Number  Start   End     Size    Type     File system  Flags
 1      1049kB  1000GB  1000GB  primary  ntfs         type=07


Model: ATA SanDisk SDSSDXPS (scsi)
Disk /dev/sdc: 480GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags: 

Number  Start   End     Size    File system     Name     Flags
 1      1049kB  165MB   164MB   fat16           primary  boot
 2      165MB   2319MB  2155MB  linux-swap(v1)  primary
 3      2319MB  45.3GB  43.0GB  btrfs           primary
 4      45.3GB  480GB   435GB   xfs             primary


output for
fdisk -l

Disk /dev/sda: 238.5 GiB, 256060514304 bytes, 500118192 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
Disklabel type: dos
Disk identifier: 0x33b519d9

Device     Boot  Start       End   Sectors   Size Id Type
/dev/sda1  *      2048    718847    716800   350M  7 HPFS/NTFS/exFAT
/dev/sda2       718848 500115455 499396608 238.1G  7 HPFS/NTFS/exFAT

Disk /dev/sdb: 931.5 GiB, 1000204886016 bytes, 1953525168 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: dos
Disk identifier: 0xc87b1e3c

Device     Boot Start        End    Sectors   Size Id Type
/dev/sdb1        2048 1953521663 1953519616 931.5G  7 HPFS/NTFS/exFAT

Disk /dev/sdc: 447.1 GiB, 480103981056 bytes, 937703088 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
Disklabel type: gpt
Disk identifier: F773549B-C368-4DAE-AE97-0A15735F62E8

Device        Start       End   Sectors  Size Type
/dev/sdc1      2048    321535    319488  156M EFI System
/dev/sdc2    321536   4530175   4208640    2G Microsoft basic data
/dev/sdc3   4530176  88422399  83892224   40G Microsoft basic data
/dev/sdc4  88422400 937701375 849278976  405G Microsoft basic data


Hi
That shows your using legacy boot for windows and uefi for openSUSE… decide on one or the other and make them both the same…?

When in openSUSE, what does the output show;


efibootmgr -v

If it’s windows 8, I would configure for UEFI and secure boot (also set the disk to gpt), re-install windows 8, upgrade it to 8.1. Then share the esp (/boot/efi) which windows creates at 260MB which is plenty for multiple OS’.

Else re-install openSUSE in legacy…

Yep.

Also, note he has the Linux boot partition on sdc, while the Win boot partition is on sda, so that needs sorting, I think. You can probably advise best here, Malcolm.

Hi
Yes, saw that, have no idea how to do it one way or the other without a re-install of either OS, if it were me, re-install win 8 on sda in uefi/secure boot and share with openSUSE…

Hmmm. I am maybe beginning to understand UEFI, even though I still do not have such a beast among any of my units. That is the solution I was thinking about, but did not say in case I led the OP off in the wrong direction.:slight_smile:

I’m actually running into a problem with Nvidia drivers atm, been talking with the helpful people at the irc channel but if I can’t install those, I might not bother with this. So I will come back later to this.

Alright!! I got the Nvidia driver to work after much trouble (gtx970 gpu).

The output of my efibootmgr -v is

BootCurrent: 0000
Timeout: 1 seconds
BootOrder: 0000,000D,000E,000F,0001,0002,0003,0004
Boot0000* opensuse-secureboot    HD(1,800,4e000,ab21765c-4409-4fdd-9fd7-a9b143923480)File(\EFI\OPENSUSE\SHIM.EFI)
Boot0001* Hard Drive     BIOS(2,0,00)..GO..NO........O.S.a.m.s.u.n.g. .S.S.D. .8.5.0. .P.R.O. .2.5.6.G.B................>..Gd-.;.A..MQ..L.1.S.U.S.S.N.F.A.0.A.6.5.0.7. .K. . . . .......BO..NO........W.K.i.n.g.s.t.o.n.D.a.t.a.T.r.a.v.e.l.e.r. .G.3................F..Gd-.;.A..MQ..L.0.0.1.3.7.2.7.7.6.5.7.F.B.A.7.1.6.5.C.D.1.4.6.B.......BO..NO........O.S.a.n.D.i.s.k. .S.D.S.S.D.X.P.S.4.8.0.G................>..Gd-.;.A..MQ..L.4.1.0.4.7.4.0.4.0.1.9.6. . . . . . . . .......BO..NO........O.W.D.C. .W.D.1.0.E.Z.E.X.-.2.1.M.2.N.A.0................>..Gd-.;.A..MQ..L. . . . . . . . .C.W.3.C.0.F.H.H.9.D.Z.H.......BO
Boot0002* UEFI:CD/DVD Drive    BIOS(81,0,00)
Boot0003* UEFI:Removable Device    BIOS(82,0,00)
Boot0004* UEFI:Network Device    BIOS(83,0,00)
Boot000D* UEFI: (FAT) KingstonDataTraveler G3    ACPI(a0341d0,0)PCI(14,0)USB(2,0)HD(1,e00,1f80,10ce3e4f)..BO
Boot000E* opensuse    HD(1,800,4e000,ab21765c-4409-4fdd-9fd7-a9b143923480)File(\EFI\OPENSUSE\GRUBX64.EFI)..BO
Boot000F* UEFI OS    HD(1,800,4e000,ab21765c-4409-4fdd-9fd7-a9b143923480)File(\EFI\BOOT\BOOTX64.EFI)..BO

Just a few questions for learning purposes:
What in the output tells you that the windows is using the legacy booter?
What is the downside to booting openSUSE in legacy?
Why is it that both OS’s need to be reinstalled? Is it because the 2 OS’s need to be on the same drive?

For clarification if I am going to reinstall both would these be the steps?

  1. Set up UEFI Win8.1 boot drive on USB
  2. Install on the first drive.
  3. Turn on secure boot, turn on GPT
  4. Install openSUSE (on second drive? or does it have to be on the same drive as Win8.1?) but during installation delete the /boot/efi, and create another /boot/efi on the same place as Window’s esp??

Hi

  1. Your SSD (sda) has a disk label msdos and the bootflag set and no /boot/efi partiton… futher confimed with the efi entry 0001.

  2. Nothing, aside from your system security with both OS’s potential vulnerable to boot sector viruses (more the windows os).

  3. Because for windows 8 it needs a /boot/efi plus using BIOS signed keys for the secure boot.

Not really, for the windows/openSUSE drives you would need to obviously backup all your data, then boot from say the openSUSE live USB to configure the drive sda


fdisk /dev/sda

Then in fdisk delete the partitions, then


gdisk /dev/sda
w
Y

Setup sda for gpt, then lets clean it including mbr


gdisk /dev/sda
x
z
Y
Y
gdisk /dev/sda

Now in gdisk create;

sda1 - 260M - type EF00 [EFI]
sda2 - 128M - type 0C01 [MS Reserved]
sda3 - rest - type 0700 [Windows 8]

Then clean up the efi entries by deleting them all;


efibootmgr -b 000F -B 000F
efibootmgr -b 000E -B 000E
efibootmgr -b 0000 -B 0000

Set your BIOS to UEFI and secure boot enabled and fast boot disabled. Install windows 8 and test all is ok, update to win 8.1, test all ok. Then disable hybrid/fast boot or create a shortcut with;


shutdown /s /t 5

Reinstall openSUSE, configure the drive ( you can do this when setting up the windows disk) so use gdisk (don;t need fdisk as already gpt), but run through and delete all the partitions and use the x and z options to zap it and confirm mbr is cleared, then create new partitions;

sdc1 - 40G / -type 8300
sdc2 - ??GB /home - type 8300
sdc3 - ??GB swap - type 8200

We will use sda1 for booting, now during the openSUSE install you select expert partitioner and press the ‘rescan disk’ button. Then select;

sda1 for /boot/efi and NO FORMAT

Then;
sdc1 - 40G / btrfs
sdc2 - ??GB /home xfs
sdc3 - ??GB swap swap

Then you should be good to go… How much system RAM? I would look at setting the elevator to noop and also winding down the swappiness.

PS, saw the IRC chatter on #suse for the nvidia issue… :wink:

A step by step wiki page on this would be really amazing. I’m currently not home yet to start but to clarify once more:

The new steps would be

  1. openSUSE liveUSB to configure drive sda

fdisk /dev/sda

and delete partitions
3.


gdisk /dev/sda
w              (what does w mean?)
Y               (what does Y mean?)

  1. By setup for gpt do you mean (from google search)
**To verify that system and utility partitions exist**




  - Click Start, right-click Computer, and then click Manage. The Computer Management window opens.

  - Click Disk Management. ...
  - In the list of drives and partitions, confirm that the system and utility partitions are present and are not assigned a drive letter





gdisk /dev/sda
x         (what do these letters mean?)
z         (what do these letters mean?)
Y         (what do these letters mean?)
Y         (what do these letters mean?)
gdisk /dev/sda

  1. In gdisk create
sda1 - 260M - type EF00 [EFI]
sda2 - 128M - type 0C01 [MS Reserved]
sda3 - rest - type 0700 [Windows 8]
  1. Clean up the efi entries by deleting them all

efibootmgr -b 000F -B 000F
efibootmgr -b 000E -B 000E
efibootmgr -b 0000 -B 0000

  1. Go into the motherboard settings (BIOS) to set UEFI and secure boot and fast boot disabled.
  2. Install windows 8 and test, update to win 8.1 and test. Disable Hybrid/fastboot. What does this do?

shutdown /s /t 5

  1. Reinstall openSUSE, by configure the drive you mean set up the partitions? Do you mean you can create the partitions openSUSE will use, while setting up the partitions for windows disk during step 1 or 2 when fdisk or gdisk was used?
  2. Use gdisk to delete all the partitions of what exactly? (the windows or openSUSE partitions)? What does use x and z options to zap it mean? Sorry getting a bit lost from my inexperience.
  3. Finally create new partitions for openSUSE, go to expert partitioner and press ‘rescan disk’ and select
    sda1 for /boot/efi and NO FORMAT, other partitions can be created normally

(I am starting to get the general idea now though as I’m reading through the second time, we want to create a /boot/efi on sda1 and the rest is for the windows installation)

I have 16GB RAM, I was thinking of not having a swap partition since i don’t want to write as much to my SSD. What does setting the elevator to noop mean?

About the Nvidia drivers, I hope my troubles will be able to help another person down the road heheh. Besides this though, I have to also resolve my tty (ctrl+alt+fbuttons) gives me a black screen with nothing on it (I think my keyboard also shuts off), also booting into init 3 or something 3, blacks my screen too. Going to start another thread for that after I get this done.

Fast boot is not a BIOS option it is an option in Windows. Essentially fast boot is a kind of hibernation that leaves the Windows partition in a dirty state thus unusable to anything else. It is a pain if you dual boot.

If I recall you have Windows MBR installed You will should not mix modes it just makes life more difficult. If it were me I’d reinstall Windows EFI and then do the same to openSUSE. If you install Windows in EFI mode it will make a EFI boot partition. It is how EFI boots. You will need to boot the openSUSE install disk/USB/whatever in EFI mode not legacy or any other wording the silly BIOS might offer. This will make sure that the install is started in EFI mode. Since you are installing openSUSE to the second drive you will need to tie it to the boot in some fashion. You can just install it all to the second drive creating a new EFI boot on that drive which will mean you have to chose which OS in the BIOS boot screen. Or you can put a separate EXT2/4 formatted partition on the first drive. and swap home and root on the second or you can put all on the second and simply tell the installer to use the existing boot EFE to be mounted as /boot/efi. This should work but admit I have never tried it. You should be able to boot to Windows from the grub menu. If not don’t panic it can be fixed. Also on some systems the BIOS insists on making Windows the default boot it can be fixed also.

Note some times it is easier to deal with secure boot off. It is really uncertain how much this protects you. In any case check the box secure boot on the install does no harm even if secure boot is off.
Note also you have chosen a complex installation scheme so take your time and don’t just accept the defaults in the Install read and understand each step. You will have to take charge. The installer can not guess your intentions. If uncertain ask here

Hi
In gdisk;
w - write/create a gpt partition setup
Y - umm that means Y(es) :wink:
x - expert mode
z - Zap (destroy) the GPT data structures and exit.

The shutdown command as gogalthorp explained. There is an option somewhere in windows (power options) to do this, easier to create a shortcut…
http://www.howtogeek.com/129021/how-to-do-a-full-shutdown-in-windows-8-without-disabling-hybrid-boot/

For 3 and 4 you use openSUSE live system and gdisk, or if want to use a GUI, gparted (just make sure you select correct drive in dropdown at top right) for what your working on.

I suggest, go through and get your windows system setup and updated. Then can work on openSUSE on sdc, but yes while setting up your windows partitions on sda, no reason not to do the work for openSUSE going on sdc, then when windows is complete you can just start installing openSUSE.

Just a tip that you might find handy in the future:

When you have a question like this, you can usually type the command, such as this (using fdisk as an example):

fdisk -h

or in some command line commands:

fdisk -help

or in some (this one does not really apply in fdisk, although it still gives the help list with an error complaint):

fdisk --help

You can also get the answers with:

man fdisk

With gdisk, unfortunately it does not print the help file without first being launched, so you would have to launch it with something like:

gdisk /dev/sda

then type

?

If you do that, though, make certain you follow with:

q

so gdisk does not make any unexpected changes to the device.

But, for more verbosity, you can run:

man gdisk

NOT telling you “RTFM”, so please do not take it that way. Just providing a tip you might find very usefull, as I do.:slight_smile:

I finished

fdisk /dev/sda
deleted the partitions
gdisk /dev/sda
w
y
gdisk /dev/sda
x
z
y
y
gdisk /dev/sda

I am in gdisk /dev/sda at the moment and just wanted to double check how to do this part

Now in gdisk create;

sda1 - 260M - type EF00 [EFI]
sda2 - 128M - type 0C01 [MS Reserved]
sda3 - rest - type 0700 [Windows 8]

so I did

gdisk /dev/sda
n (new partition)
pressed the enter button (it asked me for First sector and default was 2048)
typed [260M enterbutton], (it asked me for Last sector, does typing 260M for last sector give it 260M?

Is that correct or is anything entered in the wrong format? (I’m worried 260M got put in as hex or something)

Side note: upon entering gdisk /dev/sda I get


MBR: not present
BSD: not present
APM: not present
GPT: not present

Creating new GPT entries so so far that looks good.

Hi
For the ‘first’ sector question, just press enter to accept the default, so the last sector is the amount, in sda1 it would be +260M.

Would you also happen to know why my windows 8.1 pro installed with msdos in the first place? I don’t remember the options I chose or if there were any but would it install automatically to efi if the gpt table I created is there?

EDIT: also when I am done do I hit ‘w’ for write table to disk and exit? and how can I double check my work?

it did not install with msdos it used the msdos hard disk format also known as MBR because it uses the MBR as the boot record to start the startup chain rolling. It could be that you booted the DVD in legacy mode. That would do it.

I used their media creation tool to burn the disk onto my usb. Would you know if the booting method for my USB is in the motherboard settings then? I’d really hate to make the same mistake

EDIT: and just to clarify, just because the GPT table is there now does not mean installing with msdos is gone? (So the same mistake can still be made again?)

On Sun 14 Dec 2014 12:36:01 AM CST, workisfun wrote:

gogalthorp;2682758 Wrote:
> it did not install with msdos it used the msdos hard disk format also
> known as MBR because it uses the MBR as the boot record to start the
> startup chain rolling. It could be that you booted the DVD in legacy
> mode. That would do it.

I used their media creation tool to burn the disk onto my usb. Would you
know if the booting method for my USB is in the motherboard settings
then? I’d really hate to make the same mistake

EDIT: and just to clarify, just because the GPT table is there now does
not mean installing with msdos gone? (So the same mistake can still be
made again?)

Hi
Use ‘rufus’ from a windows system to create a GPT/UEFI windows install
usb device. It will create the necessary efi partition etc for you to
correctly boot in uefi mode and complete the secure boot install.


Cheers Malcolm °¿° LFCS, SUSE Knowledge Partner (Linux Counter #276890)
SUSE Linux Enterprise Desktop 12 GNOME 3.10.1 Kernel 3.12.28-4-default
If you find this post helpful and are logged into the web interface,
please show your appreciation and click on the star below… Thanks!

Everything is going well so far, windows 8.1 is up and running and booting in UEFI, I’m installing openSUSE right now.

I set my sdc drive to


sdc1 - 40G / btrfs
sdc2 - 407.13 GB /home xfs
no swap (because of 16 GB RAM)

I go to hit Accept but get the warning

warning: some subvolumes of the root filesystem are shadowed by mount points of other filesystem

I suspect it has something to do with what I see when I go to edit the 40G / btrfs partition, there is a Subvolume Handling button. I see many Existing Subvolumes there


boot/grub2/i386-pc
boot/grub2/x86_64-efi
home
opt
srv
tmp
usr/local
var/carsh
var/lib/mailman
var/lib/named
var/lib/pgsql
var/log
var/opt
var/spool
var/tmp

Should I just ignore the warning and leave what is there by default when that partition was created?

Hi
Yes, safe to ignore as your booting with a /boot/efi partition, same warning occurs with mbr and if you have a separate /boot…

Sounds like it’s all going well :slight_smile: