Mounting which partition on Win 10 drive so Grub2 can offer boot option?

-I have a new PC build. I need to dual boot Linux (main computer) and Win 10, which I have installed on a separate SSD.

-I want KDE Plasma, so I initially installed Kubuntu on the first SSD, Win 10 on the other. Dual boot worked fine, Grub menu offered option of windows.

-I’m kind of a noob, and don’t have a lot of energy to put into a bunch of different distributions. I Decided to try OpenSuse, and installed it yesterday. Seems fine.

-But it’s not seeing / offering option of booting to the Win 10 SSD.

-This article seems to offer solutions, but it’s for a single disk partitioned into 2 OS’s: https://tweakhound.com/2015/11/04/dual-boot-opensuse-leap-and-windows-10-uefi/

-I can follow some of it, but don’t get the theory. I also don’t get many of the options in Yast that the article gets. Maybe I have to mount it first to unlock options? I’m very nervous about making changes to the Windows drive.

-In Yast / partitioner I can see three options for the Win 10 drive. dev/sdc, sdc1, and sdc2. Is the small one the Master boot record partition? Is that what I need to mount?

No mounting has nothing to do with it.

First off are you sure you installed openSUSE in EFI mode? if installed in legacy mode you can not boot an EFI mode OS via chaining

Show us

efibootmgr

as root

Can you boot Windows from EFI boot menu in the BIOS/UEFI

I don’t think I can boot Win 10 from UEFI manager. I tried to select UEFI OS but it was overridden (I think. The command line actions only flashed for a second).

efibootmgr:
BootCurrent: 0006
Timeout: 1 seconds
BootOrder: 0001,0006,0000,0005,0002,0003
Boot0000* opensuse-secureboot
Boot0001* opensuse-secureboot
Boot0002* CD/DVD Drive
Boot0003* Hard Drive
Boot0005* opensuse
Boot0006* UEFI OS

-I have two spare drives in the PC, both of which I believe I formated as NTFS in the mac before putting them into the new PC build. One I might have blanked. I’m guessing #6 is the Win 10 SSD.
-As well, I think I ran a successful update in Leap, as the boot options in grub offer an older version. Would that have included creating new secure boot partitions? I’d like to delete anything that’s not necessary anymore.

No Windows to be seen.

let’s look at fsdisk -l

There must be at least one EFI boot fat format partition. But there may be one on each drive but the UEFI should pick that up. The controlling EFI boot will be mount as /boot/efi. Is there a Windows directory there?

Look for a EFI boot on the Windows drive see what is there

****: fsdisk: command not found

As I said, noob. teach me how to install the command?

*edit. tried to search for fsdisk in Yast, no results. Then tried gdisk on /dev/sdc which should be the Windows SSD.

Partition table scan:
MBR: MBR only
BSD: not present
APM: not present
GPT: Not present

exited without converting MBR to GPT format

In Yast / Partitioner, it shows
-a FAT /boot/efi on the Linux SSD (/dev/sda1). BUT, it’s not labelled as EFI
-One of the standard drives I formated on mac (/dev/sdd1) is also showing as an EFI boot under the ‘Type’ column, and it’s the only one showing ‘EFI’ under the ‘label’ column
-The Windows SSD (/dev/sdc1) is simply labelled ‘System Reserved.’

So it appears that Windows is installed in legacy BIOS mode and apparently openSUSE is installed in EFI mode. Unfortunately it is not possible to load Windows from openSUSE bootloader in this case. You would need to install legacy bootloader in openSUSE and set your BIOS to boot in legacy mode. If you know how to do the latter, I can explain how to do the former :slight_smile:

I am afraid thatt was a typo. Try

fdisk -l

instead

-Allright. It’s beyond reason to wonder why the Windows 10 install disk, first installed on a brand new build chose legacy over UEFI, but from the install disc I wiped the SSD with Windows, formatted it as GPT, and re-installed windows. (this post was a big help: https://www.reddit.com/r/buildapc/comments/40b1c5/troubleshooting_trying_and_failing_to_reinstall/)

-fdisk also seems to working in OpenSuse, which is strange but welcome. Here’s the output of fdisk -l:


Disk /dev/sda: 477 GiB, 512110190592 bytes, 1000215216 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: AB6F2783-A2B0-4DB3-8910-8DBFC0B50447

Device Start End Sectors Size Type
/dev/sda1 2048 321535 319488 156M EFI System
/dev/sda2 321536 4530175 4208640 2G Microsoft basic data
/dev/sda3 4530176 88422399 83892224 40G Microsoft basic data
/dev/sda4 88422400 1000214527 911792128 434.8G Microsoft basic data

Disk /dev/sdb: 698.7 GiB, 750156374016 bytes, 1465149168 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: 0xb275bdcd

Device Boot Start End Sectors Size Id Type
/dev/sdb1 * 2 1465149167 1465149166 698.7G 7 HPFS/NTFS/exFAT

Disk /dev/sdc: 477 GiB, 512110190592 bytes, 1000215216 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: 0x90755cfe

Device Boot Start End Sectors Size Id Type
/dev/sdc2 1026048 920195071 919169024 438.3G 7 HPFS/NTFS/exFAT

Disk /dev/sdd: 465.8 GiB, 500107862016 bytes, 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
Disklabel type: gpt
Disk identifier: 26E02776-EC54-4957-B80C-321F185B9050

Device Start End Sectors Size Type
/dev/sdd1 2048 923647 921600 450M Windows recovery environment
/dev/sdd2 923648 1128447 204800 100M EFI System
/dev/sdd3 1128448 1161215 32768 16M Microsoft reserved
/dev/sdd4 1161216 976773119 975611904 465.2G Microsoft basic data


*I"m pretty confused by the drive listings. sda should be the OpenSuse drive, but has three partitions of Windows data on it according to fdisk (But Yast partitioner sees them as ‘Type Linux native.’ sdc should be the Windows 10 drive, and is labelled as gpt by fdisk, but gdisk says GPT not present.

-I probably shouldn’t be playing with gdisk but I tried it when fdisk wouldn’t originally load. Notice how it says “GPT: not present” ? And gives an option to convert MBR to GPT? Is that an option to consider?

-I’m grateful for the help.


linux-hk2f:~ # gdisk
GPT fdisk (gdisk) version 0.8.8

Type device filename, or press <Enter> to exit: /dev/sdc
Partition table scan:
MBR: MBR only
BSD: not present
APM: not present
GPT: not present


Found invalid GPT and valid MBR; converting MBR to GPT format
in memory. THIS OPERATION IS POTENTIALLY DESTRUCTIVE! Exit by
typing ‘q’ if you don’t want to convert your MBR partitions
to GPT format!


Your Windows disk is most likely /dev/sdd. It is GPT, so your Windows is installed in EFI mode. And please, spend 5 minutes learning how to put code tags around your command output examples, to make your posts readable.

fdisk does not really fully support GPT partitioned drives so it miss interrupts the type numbers gdisk does show things correctly but does not have a -l option and you have to specify each drive. But fdisk is handy to see all drives with one command.

Okay, but I still have a $2200 brand new black brick that’s not good for anything. At this point I will do ANYTHING to feel like I’m crawling an inch ahead. Brand new dual SSDs, brand new (UEFI) motherboard, etc. I have wiped a few weeks worth of setting up Windows 10, but have no idea whether I’ve successfully re-installed it as UEFI. I have no idea how to get Yast Bootloader (about which I’ve read good things) to actually function. In fact, Leap will now logout but stops from shutting down the computer.

I’m willing to wipe everything and start from scratch but haven’t had confidence that anyone has written a simple page on how to get OpenSuse and Win 10 to dual boot successfully. This seems staggeringly inefficient.

I suppose as I’ve got one flavor of linux semi-working I should download a fresh iso file and verify it (which I wasn’t able to do while only on windows), but I doubt that’s my problem.

My priorities are a functioning grub2 dual boot (I don’t want to do it in legacy), and a linux distro that gives me Plasma 5. Again, my information:

Disk /dev/sda: 477 GiB, 512110190592 bytes, 1000215216 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: AB6F2783-A2B0-4DB3-8910-8DBFC0B50447

Device        Start        End   Sectors   Size Type
/dev/sda1      2048     321535    319488   156M EFI System
/dev/sda2    321536    4530175   4208640     2G Microsoft basic data
/dev/sda3   4530176   88422399  83892224    40G Microsoft basic data
/dev/sda4  88422400 1000214527 911792128 434.8G Microsoft basic data

Disk /dev/sdb: 698.7 GiB, 750156374016 bytes, 1465149168 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: 0xb275bdcd

Device     Boot Start        End    Sectors   Size Id Type
/dev/sdb1  *        2 1465149167 1465149166 698.7G  7 HPFS/NTFS/exFAT

Disk /dev/sdc: 477 GiB, 512110190592 bytes, 1000215216 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: 0x90755cfe

Device     Boot   Start       End   Sectors   Size Id Type
/dev/sdc2       1026048 920195071 919169024 438.3G  7 HPFS/NTFS/exFAT

Disk /dev/sdd: 465.8 GiB, 500107862016 bytes, 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
Disklabel type: gpt
Disk identifier: 26E02776-EC54-4957-B80C-321F185B9050

Device       Start       End   Sectors   Size Type
/dev/sdd1     2048    923647    921600   450M Windows recovery environment
/dev/sdd2   923648   1128447    204800   100M EFI System
/dev/sdd3  1128448   1161215     32768    16M Microsoft reserved
/dev/sdd4  1161216 976773119 975611904 465.2G Microsoft basic data


----------------------------

linux-hk2f:~ # gdisk
GPT fdisk (gdisk) version 0.8.8

Type device filename, or press <Enter> to exit: /dev/sdc
Partition table scan:
  MBR: MBR only
  BSD: not present
  APM: not present
  GPT: not present


***************************************************************
Found invalid GPT and valid MBR; converting MBR to GPT format
in memory. THIS OPERATION IS POTENTIALLY DESTRUCTIVE! Exit by
typing 'q' if you don't want to convert your MBR partitions
to GPT format!
***************************************************************

Please show content of /dev/sda1 and /dev/sdd2, like

mount -r /dev/sda1 /mnt
ls -lR /mnt
linux-hk2f:~ # efibootmgr
BootCurrent: 0000
Timeout: 1 seconds
BootOrder: 0000,0005,0004,0006,0002,0003
Boot0000* opensuse-secureboot
Boot0002  CD/DVD Drive 
Boot0003  Hard Drive 
Boot0004* opensuse
Boot0005* UEFI OS
Boot0006* Windows Boot Manager

I’ve completely re-installed Windows 10 and it’s now UEFI. I’ve disconnected the spare two drives, so it’s just the dual SSDs, one for Linux, one for Win 10. I’m getting the impression that the OpenSuse boot manager doesn’t rescan each time. Drive / partition identification is all over the place.

It’s actually fairly annoying that in Leap superuser bash Konsole fsdisk is so tempermental: one minute working, one minute ‘command not found.’ I would love to know how to fix that.

I’m afraid to use your mount commands until fdisk works and I can verify which disk / partition is which (I’ve been unplugging drives and replugging them, etc).

*couldn’t edit previous post due to timelimit. Please disregard previous post

Okay, I’ve completely re-installed Windows 10 and it’s now UEFI. I’ve disconnected the spare two drives, so it’s just the dual SSDs, one for Linux, one for Win 10. I’m getting the impression that the OpenSuse boot manager doesn’t rescan each time. Drive / partition identification is all over the place (I’ve been unplugging various drives, etc).

-Aaand it looks like Microsoft has invaded the Leap SSD, which I don’t know how as that SSD was unplugged during Win install…

-Currently booting into Leap however, and boot screen offers a Windows boot manager, but then says there’s nothing there.

-The motherboard BIOS menu is confusing. I set ‘UEFI OS’ to boot first. Is that a mistake?

linux-hk2f:~ # efibootmgr
BootCurrent: 0000
Timeout: 1 seconds
BootOrder: 0000,0005,0004,0006,0002,0003
Boot0000* opensuse-secureboot
Boot0002  CD/DVD Drive 
Boot0003  Hard Drive 
Boot0004* opensuse
Boot0005* UEFI OS
Boot0006* Windows Boot Manager

linux-hk2f:~ # fdisk -l

Disk /dev/sda: 477 GiB, 512110190592 bytes, 1000215216 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: AB6F2783-A2B0-4DB3-8910-8DBFC0B50447                                        
                                                                                             
Device        Start        End   Sectors   Size Type                                         
/dev/sda1      2048     321535    319488   156M EFI System                                   
/dev/sda2    321536    4530175   4208640     2G Microsoft basic data                         
/dev/sda3   4530176   88422399  83892224    40G Microsoft basic data                         
/dev/sda4  88422400 1000214527 911792128 434.8G Microsoft basic data                         
                                                                                             
Disk /dev/sdb: 477 GiB, 512110190592 bytes, 1000215216 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: 8868F9C4-D7A6-4364-AF0E-0ACB37EE80A3

Device       Start        End   Sectors   Size Type
/dev/sdb1     2048     923647    921600   450M Windows recovery environment
/dev/sdb2   923648    1128447    204800   100M EFI System
/dev/sdb3  1128448    1161215     32768    16M Microsoft reserved
/dev/sdb4  1161216 1000214527 999053312 476.4G Microsoft basic data


linux-hk2f:~ # mount -r /dev/sda1 /mnt
mount: /dev/sda1 is already mounted or /mnt busy
       /dev/sda1 is already mounted on /boot/efi
linux-hk2f:~ # ls -lR /mnt
/mnt:
total 0

Could you verify which partitions you want me to use those mount commands on? Thank you. *I didn’t get much on the first one:

Please show /boot/grub2/grub.cfg (upload to http://susepaste.org) unless you are going to reinstall again before anyone has chance to look at it.

The motherboard BIOS menu is confusing. I set ‘UEFI OS’ to boot first. Is that a mistake?

I have no idea what your vendor means under “UEFI OS” and you should always use “efibootmgr -v” which may allows to at least guess it.

linux-hk2f:~ # mount -r /dev/sda1 /mnt
mount: /dev/sda1 is already mounted or /mnt busy
       /dev/sda1 is already mounted on /boot/efi
linux-hk2f:~ # ls -lR /mnt
/mnt:
total 0

I didn’t get much on the first one:

If it is already mounted, of course there is no need to mount it second time. This is just common sense.

Just installing Windows properly is not enough now you need to tell openSUSE to scan for it. Can be done in Yast -bootloader. Be sure that scan for foreign OS is checked make a small change somewhere then change it back (to make yast think a mode has happened). Accept and Windows should be in the menu next boot

You should boot openSUSE as default in EFI boot menu 0000

Thank you, Gogalthorp, I think that did it.