Hi, I’m dual booting Win 10 and openSUSE tumbleweed plasma on a HP laptop HDD.
I previously had dual booting working with linux Mint 17 for over a year, so I know it’s possible, but after distro hopping to debian and then openSUSE, some errors occurred with GRUB.
First it would no longer boot to the GRUB2 graphical menu to select linux or windows 10 boot manager, only to the GRUB command line.
Now it no longer even loads GRUB, instead I receive a HP error 3F0 telling me no boot device was detected.
I’ve been able to boot opensuse and windows 10 using a opensuse install USB and a Super Grub2 bootcd separately and they both still work great.
I’ve confirmed I don’t have secure or legacy boot enabled and have tried putting the hdd to the top of the boot order without success.
When I open the “YaST2 - Boot Loader” menu, it has "GRUB2 for EFI enabled, and in the “Default Boot section” it can actually see opensuse Tumbleweed and windows 10 as valid options to be selected.
From the openSUSE bootUSB, if I select “Boot from HDD” it gives the error code “error no such device: /efi/boot/fallback.efi” but when I go “more options”->“boot linux” it happily boots into tumbleweed after selecting the default kernel options.
Disk /dev/sda: 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: gpt
Disk identifier: 94766E73-4511-4585-B296-9445BA6F508B
Device Start End Sectors Size Type
/dev/sda1 2048 534527 532480 260M EFI System
/dev/sda2 534528 796671 262144 128M Microsoft reserved
/dev/sda3 796672 210511871 209715200 100G Microsoft basic data
/dev/sda4 210511872 781658111 571146240 272.4G Microsoft basic data
/dev/sda5 986458112 1865363455 878905344 419.1G Microsoft basic data
/dev/sda6 1910016000 1911513087 1497088 731M Windows recovery environment
/dev/sda7 1911513088 1953523711 42010624 20G Windows recovery environment
/dev/sda8 781658112 785866751 4208640 2G Linux swap
/dev/sda9 785866752 859959295 74092544 35.3G Linux filesystem
/dev/sda10 859959296 986458111 126498816 60.3G Linux filesystem
Partition table entries are not in disk order.
Disk /dev/loop0: 83.8 MiB, 87896064 bytes, 171672 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
Any advice on how to actually be able to choose tumbleweed or win10 at boot would be useful please. Thought I’d ask for advice before making any drastic changes.
As far as i can tell by your post you can skip step 8. to 13. and in case you can’t setup a working network connection you can omit step 14. and 15. as well.
/dev/sda1 seems to be your “EFI system partition” and either “/dev/sda9” or “/dev/sda10” your Tumbleweed root partition.
I’ve tried the steps in your linked thread Susejunky, both form my Tumbleweed install and a rescue terminal form the bootUSB, without success.
An interesting result was that “blkid | grep EFI” did not list anything. When i listed my partitions using another command (can’t remember/find it right now) I saw that my EFI partition (sda1) had the “Partlabel = EF” property, where the other partitions had the names I was familiar with (example: SDA4 had “Label = Programs” which was the label that partition had under windows. Could this not being labeled as EFI be a problem?
I’ve done steps 18-19 2ish times twice now (testing with reboots once finished without sucess). I’ve reinstalled Tumbleweed again and see that the “openSUSE” entry has been removed again. I’d really prefer for my HDD to even detect there’re OS’s or GRUB before i go through that entire process again.
I’m at my wit’s end, thanks for any help you can give.
It is not unknown for some model computers to force a Windows boot. Even to the extent of removing Windows from the UEFI boot table. However since you have run other Linux OS on the hardware I doubt that is the problem but also you may have reached the limit of the UEFI flash boot table so be sure you clean out both the flash (see man efibootmgr for details) and the EFI boot partition of all references to prior OS installs.
Hey, I just wanted to post this here as I just posted it to reddit. Hope this helps you, I just got a HP Envy laptop and was struggling with dual boot. It would just go straight into Windows. However, it sounds like your issue may be a little different. Broken boot loaders all together maybe?
I just wanted to share what I did to fix my “new” HP Envy laptop not booting into grub with my dual boot configuration as all information I found researching was rather confusing and included more steps than necessary.
So first thing, the HP Envy laptop bios only seems to allow you to reorder between USB and OS Boot Manager boot priority, and not actually choose between boot partitions. You can spam F9 when the laptop starts and it will bring up the Boot Partition Chooser. There you can choose fedora/opensuse/ubuntu, and OS Boot Manager (bootmgrfw.efi). From the information I found, HP has started creating their bios firmware to only look for and boot Windows’ bootmgrfw.efi. Pretty shady imo.
First thing, I booted into opensuse and used efibootmgr to check my boot order. Windows Boot Manager was listed as the default first boot. The odd thing, I could use efibootmgr -n 000X to set next boot to opensuse and after rebooting it would go straight to grub. When using efibootmgr -o X, X, X to change the boot order it accepted the changes but on reboot it still went directly into Windows. After returning back into opensuse and checking efibootmgr, the order had reset to Windows as the default.
The actual fix then comes down to making edits to the Windows Boot Manager since HP will only search for bootmgrfw.efi. First time I discovered this was with a Fedora/Windows dual boot system. The only step that was necessary was as such:[INDENT]• Open an elevated (Administrator) command prompt.
• Type: bcdedit /set {bootmgr} path \EFI\fedora\shimx64.efi
The above changes the Windows Boot Manager to use fedora’s secure boot (shimx64.efi) boot loader instead of Windows default \EFI\Microsoft\Boot\bootmgrfw.efi]
bcdedit /enum firmware will show you other boot operators found.
Now it seems that with Fedora it added the shimx64.efi to Windows boot partition and was able to find it. I never checked this when I had Fedora installed as it worked fine with just the path change. For me, sda2 was my Windows boot partition. Fedora’s boot partition was sda5.
With opensuse, only grubx64.efi copied to Windows boot partition. So the above fix using opensuse instead still resulted in the laptop booting directly to Windows. When you run bcdedit, you notice a line under bootmgr showing [device] which was set to [partition=HarddiskVolume2]. So for opensuse, you also had to make this change:• bcdedit /set {bootmgr} device partition=HarddiskVolumeX
X being whatever partition your opensuse /boot/efi partition is, 5 in my case.
So to summarize:• Log into Windows, open an elevated cmd prompt
• Type: bcdedit /set {bootmgr} path \EFI\opensuse\shim.efi (or grubx64.efi if not using secure boot)
• Type: bcdedit /set {bootmgr} device partition=HarddiskVolumeX (X being your /boot/efi partition for opensuse)
@mil1i Thanks for the response here as well, but I don’t think our problems are the same. When I first got this laptop ~3 years ago I had to diasble secureboot and a few other things in BIOS but got it to load in to Grub eventually. My problem is nothing boots on startup, I just receive a “Boot device not found” error.
BootOrder: 0001,2001,2002,2004
Boot0000* USB Hard Drive (UEFI) - SanDisk
Boot2001* EFI USB Device
Boot2002* EFI DVD/CDROM
Boot0001* openSUSE
If this is the “flash boot table” you mentioned, there don’t seem to be any superfluous entries that I can see, no leftovers from previous installations. Worringly there doens’t seem to be on for “Windows” like I can see in Susjunky’s, is this a concern? I’ll check back in with how it goes after a reboot.