Hi,
I am a new user to OpenSuse and this is the first time I am trying OpenSuse tumbleweed on my HP laptop. I am using Opensuse tumbleweed as I prefer rolling release distributions.
The installation went through fine without any issues. However, after the installation, I am not seeing Windows 10 as a boot option in my grub2 menu. I have the Secure boot disabled in BIOS.
I tried the command “grub2-mkconfig -o /boot/grub2/grub.cfg”. However, it did not find the windows installation. I checked the folder /boot/efi/EFI folder and I see that there is a Microsoft/boot folder under it.
I ran the command “sudo os-prober” and it did not provide any output.
I ran the YAST boot loader also. Again, no luck. Yast boot loader shows “grub2 for EFI”.
Can someone help?
Thanks,
pnb.
I don’t know why it isn’t showing up. Perhaps that has to do with how Windows was installed.
Windows 8.1 shows up in the menu here. The relevant lines from “/boot/grub2/grub.cfg” are:
menuentry 'Windows Boot Manager (on /dev/sda1)' --class windows --class os $menuentry_id_option 'osprober-efi-960A-3282' {
insmod part_gpt
insmod fat
set root='hd0,gpt1'
if x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt1 --hint-efi=hd0,gpt1 --hint-baremetal=ahci0,gpt1 960A-3282
else
search --no-floppy --fs-uuid --set=root 960A-3282
fi
chainloader /efi/Microsoft/Boot/bootmgfw.efi
}
Here, “960A-3282” is the UUID of the EFI partition.
You can perhaps experiment with something similar. And if that works, append to the end of “/etc/grub.d/40_custom” so that you don’t have to edit “grub.cfg” each time.
To show Windows: All OS must us same boot method EFI or MBR. Mixing causes problems. Fast Boot in Windows MUST BE turned off It leaves the Windows partitions in is an unclosed condition and thus not viewable/bootable from Linux. Windows must not use Dynamic disks. Again Not accessible from Linux.
I am not seeing an entry for Windows in my grub.cfg file. Please find the list of entries below.
### BEGIN /etc/grub.d/10_linux ###
menuentry 'openSUSE Tumbleweed' --class opensuse --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-9fed23c0-58b7-470c-9a0d-0b76b5a9a61c' {
load_video
set gfxpayload=keep
insmod gzio
insmod part_gpt
insmod ext2
if x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root 9fed23c0-58b7-470c-9a0d-0b76b5a9a61c
else
search --no-floppy --fs-uuid --set=root 9fed23c0-58b7-470c-9a0d-0b76b5a9a61c
fi
echo 'Loading Linux 5.12.0-2-default ...'
linuxefi /boot/vmlinuz-5.12.0-2-default root=UUID=9fed23c0-58b7-470c-9a0d-0b76b5a9a61c splash=silent quiet mitigations=auto
echo 'Loading initial ramdisk ...'
initrdefi /boot/initrd-5.12.0-2-default
}
submenu 'Advanced options for openSUSE Tumbleweed' --hotkey=1 $menuentry_id_option 'gnulinux-advanced-9fed23c0-58b7-470c-9a0d-0b76b5a9a61c' {
menuentry 'openSUSE Tumbleweed, with Linux 5.12.0-2-default' --hotkey=2 --class opensuse --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.12.0-2-default-advanced-9fed23c0-58b7-470c-9a0d-0b76b5a9a61c' {
load_video
set gfxpayload=keep
insmod gzio
insmod part_gpt
insmod ext2
if x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root 9fed23c0-58b7-470c-9a0d-0b76b5a9a61c
else
search --no-floppy --fs-uuid --set=root 9fed23c0-58b7-470c-9a0d-0b76b5a9a61c
fi
echo 'Loading Linux 5.12.0-2-default ...'
linuxefi /boot/vmlinuz-5.12.0-2-default root=UUID=9fed23c0-58b7-470c-9a0d-0b76b5a9a61c splash=silent quiet mitigations=auto
echo 'Loading initial ramdisk ...'
initrdefi /boot/initrd-5.12.0-2-default
}
menuentry 'openSUSE Tumbleweed, with Linux 5.12.0-2-default (recovery mode)' --hotkey=3 --class opensuse --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.12.0-2-default-recovery-9fed23c0-58b7-470c-9a0d-0b76b5a9a61c' {
load_video
set gfxpayload=keep
insmod gzio
insmod part_gpt
insmod ext2
if x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root 9fed23c0-58b7-470c-9a0d-0b76b5a9a61c
else
search --no-floppy --fs-uuid --set=root 9fed23c0-58b7-470c-9a0d-0b76b5a9a61c
fi
echo 'Loading Linux 5.12.0-2-default ...'
linuxefi /boot/vmlinuz-5.12.0-2-default root=UUID=9fed23c0-58b7-470c-9a0d-0b76b5a9a61c
echo 'Loading initial ramdisk ...'
initrdefi /boot/initrd-5.12.0-2-default
}
menuentry 'openSUSE Tumbleweed, with Linux 5.11.16-1-default' --class opensuse --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.11.16-1-default-advanced-9fed23c0-58b7-470c-9a0d-0b76b5a9a61c' {
load_video
set gfxpayload=keep
insmod gzio
insmod part_gpt
insmod ext2
if x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root 9fed23c0-58b7-470c-9a0d-0b76b5a9a61c
else
search --no-floppy --fs-uuid --set=root 9fed23c0-58b7-470c-9a0d-0b76b5a9a61c
fi
echo 'Loading Linux 5.11.16-1-default ...'
linuxefi /boot/vmlinuz-5.11.16-1-default root=UUID=9fed23c0-58b7-470c-9a0d-0b76b5a9a61c splash=silent quiet mitigations=auto
echo 'Loading initial ramdisk ...'
initrdefi /boot/initrd-5.11.16-1-default
}
menuentry 'openSUSE Tumbleweed, with Linux 5.11.16-1-default (recovery mode)' --hotkey=1 --class opensuse --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.11.16-1-default-recovery-9fed23c0-58b7-470c-9a0d-0b76b5a9a61c' {
load_video
set gfxpayload=keep
insmod gzio
insmod part_gpt
insmod ext2
if x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root 9fed23c0-58b7-470c-9a0d-0b76b5a9a61c
else
search --no-floppy --fs-uuid --set=root 9fed23c0-58b7-470c-9a0d-0b76b5a9a61c
fi
echo 'Loading Linux 5.11.16-1-default ...'
linuxefi /boot/vmlinuz-5.11.16-1-default root=UUID=9fed23c0-58b7-470c-9a0d-0b76b5a9a61c
echo 'Loading initial ramdisk ...'
initrdefi /boot/initrd-5.11.16-1-default
}
}
Unfortunately, the laptop came with Windows 10 and I am not sure how it was installed. I will try to boot into Windows 10 by selecting the boot option from BIOS and see if the fastboot is enabled.
What will happen if I change the option “grub2 for EFI” to “Grub2” in yast boot loader? Does it messup anything?
Could mess up things. Windows 10 is probably installed EFI not MBR unless you maybe installed it. There should be a small EFI boot partition if installed EFI boot Show **sudo fdisk -l **(small L not one)
Windows defaults to fast boot on in most cases so that is probably the problem. If it is on that turn off you will need to reinstall grub to see Windows. In openSUSE start yast go to boot loader be sure that Probe foreign OS is set on third tab. You need to make a change then change it back to trick Yast into rebuilding grub.
I have disabled “fast startup” option from Windows 10. Booted into OpenSuse, launched yast boot loader, checked the option “Probe for Foreign OS”. Still no luck.
The EFI partition is there as /dev/nvme0pn1 or something like that.
The laptop has an NVME SSD drive with 32GB Optane memory. Could that be an issue?
Please show use fdisk -l
Use code tags here (# in menu)
Since we can not look over your shoulder we like to see what you are seeing.
Can you mount the Windows directory?? If you can’t see it then you can’t boot there either.
Check Windows to see how the partition is formatted ie is it RAID or Dynamic Disk format???
Since it appears that Linux is running and you can boot Windows from the UEFI/BIOS I doubt that the drive type has any effect on booting across OS.
Sorry about that. Below is the output of “sudo fdisk -l”.
guest@tumbleweed:~> sudo fdisk -l
[sudo] password for root:
Disk /dev/nvme0n1: 476.94 GiB, 512110190592 bytes, 1000215216 sectors
Disk model: INTEL HBRPEKNX0202AH
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: E7357B32-0F7B-40EA-A00C-DD6549636018
Device Start End Sectors Size Type
/dev/nvme0n1p1 2048 534527 532480 260M BIOS boot
/dev/nvme0n1p2 534528 567295 32768 16M Microsoft reserved
/dev/nvme0n1p3 567296 734668514 734101219 350G Microsoft basic data
/dev/nvme0n1p4 734668800 755890378 21221579 10.1G Linux swap
/dev/nvme0n1p5 755892224 860907283 105015060 50.1G Linux filesystem
/dev/nvme0n1p6 860907520 999098413 138190894 65.9G Linux filesystem
/dev/nvme0n1p7 999104512 1000198143 1093632 534M Windows recovery environment
Disk /dev/nvme1n1: 27.25 GiB, 29260513280 bytes, 57149440 sectors
Disk model: INTEL HBRPEKNX0202AHO
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Here is the output of “sudo blkid”
guest@tumbleweed:~> sudo blkid
/dev/nvme0n1p1: LABEL_FATBOOT="SYSTEM" LABEL="SYSTEM" UUID="703E-EA07" BLOCK_SIZE="512" TYPE="vfat" PARTLABEL="EFI system partition" PARTUUID="ec29cc78-3215-4f03-85e4-09c5cf60bb6a"
/dev/nvme0n1p2: PARTLABEL="Microsoft reserved partition" PARTUUID="b2576a3b-5b3d-422b-9242-da0c94a78aff"
/dev/nvme0n1p3: LABEL="Windows" BLOCK_SIZE="512" UUID="1E92299B92297903" TYPE="ntfs" PARTLABEL="Basic data partition" PARTUUID="d549ca26-3b2b-45fb-a3e9-20d19a344a0f"
/dev/nvme0n1p4: UUID="3c5a21be-690d-4293-b50a-d58389c94dc7" TYPE="swap" PARTLABEL="Basic data partition" PARTUUID="30dd1996-a561-11eb-a7af-aa517519dab9"
/dev/nvme0n1p5: UUID="9fed23c0-58b7-470c-9a0d-0b76b5a9a61c" BLOCK_SIZE="4096" TYPE="ext4" PARTUUID="a8f47194-3b43-ef41-a524-fcf448f2c11f"
/dev/nvme0n1p6: UUID="5dc356be-4f8e-4cdd-8964-da056915a56e" BLOCK_SIZE="4096" TYPE="ext4" PARTUUID="e06db115-2d0b-4f41-9a6e-ee8e84b74287"
/dev/nvme0n1p7: LABEL="Windows RE tools" BLOCK_SIZE="512" UUID="D4EEC43FEEC41B9C" TYPE="ntfs" PARTLABEL="Basic data partition" PARTUUID="e919f9fa-5f97-4f61-9dd9-f0e35d777062"
/dev/nvme1n1: TYPE="isw_raid_member"
This is wrong in view of
guest@tumbleweed:~> sudo blkid
/dev/nvme0n1p1: LABEL_FATBOOT=“SYSTEM” LABEL=“SYSTEM” UUID=“703E-EA07” BLOCK_SIZE=“512” TYPE=“vfat” PARTLABEL=“EFI system partition” PARTUUID=“ec29cc78-3215-4f03-85e4-09c5cf60bb6a”
os-prober checks for partition type and so skips this filesystem. You should change partition type to EFI system partition.
@arvidjaar, thanks for your pointer.
I have checked the “esp” flag on the EFI system partition with gparted and then updated the boot loader options with Yast boot loader and now OpenSuse is showing Windows 10 as a boot option.
Again, thanks for your help.
I had a similar issue showing other Linux distros at boot. Came across two options. Hit esc during post allows you to pull up a boot menu that should give you the option to boot into windows or the hdd windows is stored on. Second, install refind. It runs before the boot process allowing you to boot just about anything. You could do away with Windows completely and just run it in a virtual machine though. That’s what I ended up doing lol.
I was getting very frustrated with my SSD/NVME setup, and having very little luck. Finally, I went to the EFI partition on the windows drive (in Dolphin, no less), and copied the “Microsoft” folder to /boot/efi/EFI.
Ran os-prober again, and it found it! grub2-mkconfig added it to the menu, and it works great.