DualBoot does not work on my machine

Hi Guys

I just installed Fedora alongside Windows on my new desktop computer. Everything worked fine and Fedora is great so far!

But since I wanted to keep the ability to use Windows, I want to use dualboot.

I’ve got the following setup:
1 TB SSD with the following partitions:

/dev/nvme0n1p1 2048 534527 532480 260M EFI-System
/dev/nvme0n1p2 534528 567295 32768 16M Microsoft reserviert
/dev/nvme0n1p3 567296 360959999 360392704 171.9G Microsoft Basisdaten
/dev/nvme0n1p4 1999360000 2000396287 1036288 506M Windows-Wiederherstellung
/dev/nvme0n1p5 360960000 402903039 41943040 20G Linux-Filesystem
/dev/nvme0n1p6 402903040 1975767039 1572864000 750G Linux-Filesystem
/dev/nvme0n1p7 1975767040 1999359999 23592960 11.3G Linux Swap

The idea would be to have the choice which system to boot on every start in the GRUB Menu. Since the GRUB-Menu is hidden in Fedora by default, I tried to activate it as described in other posts.

My /etc/default/grub looks like this:
GRUB_TIMEOUT=25
GRUB_TIMEOUT_STYLE=menu
GRUB_DISTRIBUTOR="(sed 's, release .*,g’ /etc/system-release)"
GRUB_DEFAULT=saved
#GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL_OUTPUT=“console”
GRUB_CMDLINE_LINUX=“resume=UUID=40cb92bc-b4f8-[REDACTED] rd.luks.uuid=luks-28b8e50c-6e04-4644-[REDACTED] rhgb quiet”
GRUB_DISABLE_RECOVERY=“true”
GRUB_ENABLE_BLSCFG=false

I made the changes permanent by using sudo grub2-mkconfig -o /etc/grub2.cfg. However if I start the system up, I never see the GRUB-Menu and can only access the LUKS password field (and further only Fedora). Pressing esc or shift during boot does not help either.

Where is my mistake?

Hi, @mrharrison and welcome to Ask Fedora!

  1. Have you installed Fedora in UEFI mode or in Legacy/BIOS mode? You can check with this command from your Fedora system:

    test -d /sys/firmware/efi && echo EFI || echo Legacy
    
  2. In my opinion, GRUB_ENABLE_BLSCFG=false is a bad idea, I wouldn’t do it. It doesn’t affect dual-boot or hidden grub menu in any way too.

  3. Fedora will hide grub menu by default only if it’s the only OS on your machine (i.e. if it can’t find any other OS). To properly unhide it even in this case you should use this command:

    sudo grub2-editenv - unset menu_auto_hide
    

    It’s documented here: https://fedoraproject.org/wiki/Changes/HiddenGrubMenu

And the most easy and obvious reason for Fedora/Grub not seeing Windows installation is installing Fedora in BIOS/Legacy mode when Windows is installed in UEFI mode (as BIOS version of grub can’t start systems installed in UEFI mode and vice versa).

1 Like

Thank you for your answer, @nightromantic

1.) Yes, I installed it in UEFI Mode (your command returns EFI)
2.) I tried it with the value on true and it did not work either. I later saw it in a help post so gave it a try. I’m gonna change it back.
3.) I’ve tried that as well. Did not work sadly

And on sudo grub2-mkconfig -o /etc/grub2.cfg it says
Found Windows Boot Manager on /dev/nvme0n1p1@/EFI/Microsoft/Boot/bootmgfw.efi so I don’t think that the problem is that GRUB does not find Windows.

In this case I suggest:

  1. Change GRUB_ENABLE_BLSCFG to true. This is a description what is it about (and I think it’s a good feature):

    https://fedoraproject.org/wiki/Changes/BootLoaderSpecByDefault

  2. If your Fedora is installed in UEFI mode, then command to regenerate grub menu should be:

    sudo grub2-mkconfig -o /boot/efi/EFI/fedora/grub.cfg
    

    This is a path where real grub.cfg lives on UEFI systems.

A bit of trivia. /etc/grub2.cfg is a symlink pointing to BIOS/Legacy grub.cfg location (which is /boot/grub2/grub.cfg). There’s also /etc/grub2-efi.cfg – which is a symlink to UEFI grub.cfg location. You can use -o /etc/grub2-efi.cfg – but I usually just use real location as I’ve written above. And as far I saw most people do the same.

It should have unhide the grub menu for you – even with just Fedora in it. If it didn’t – then maybe we some other issue to resolve as well. If it’s the case then please post output of

sudo grub2-editenv list

One more minor tweak is you don’t need GRUB_TIMEOUT_STYLE=menu line. Menu should be shown even without it.

I removed the GRUB_TIMEOUT_STYLE=menu line, changed BLSCFG back to true and save it with /boot/efi/EFI/fedora/grub.cfg

It still doesn’t work.

Here’s the demanded output:
saved_entry=a8a2d80aaae8452ca7253d2f5a7ac1db-5.3.8-300.fc31.x86_64
boot_success=0
kernelopts=root=UUID=6c29f5b8-3967-[REDACTED] ro resume=UUID=40cb92bc-[REDACTED] rd.luks.uuid=luks-28b8e50c-6e04-[REDACTED] rhgb quiet
boot_indeterminate=0

May it be a problem that I’m using luks?

It shouldn’t from my experience.

  1. Have you installed Fedora with default partitioning or manual partitioning?

    Is your /boot inside a LUKS container too? Can you provide an output of

    lsblk -o +UUID
    
  2. You still don’t see any boot menu, right?

  3. Let’s see at the output of

    sudo efibootmgr -v
    

    just in case.

1 Like

I used manual partition via the GUI in the installation setup. I have previously freed about 750GB in Windows and then splitted it. Encrypted is only the main partition, so swap and boot should not be affected.

lsblk -o +UUID:
nvme0n1 259:0 0 953.9G 0 disk
├─nvme0n1p1 259:1 0 260M 0 part /boot/efi 1E19-[REDACTED]
├─nvme0n1p2 259:2 0 16M 0 part
├─nvme0n1p3 259:3 0 171.9G 0 part DCD64FD0[REDACTED]
├─nvme0n1p4 259:4 0 506M 0 part 0CAE1592AE[REDACTED]
├─nvme0n1p5 259:5 0 20G 0 part /boot 6c38d4ba-c[REDACTED]
├─nvme0n1p6 259:6 0 750G 0 part 28b8e50c-[REDACTED
│ └─luks-28b8e50c-[REDACTED] 253:0 0 750G 0 crypt / 6c29f5b8-3967-[REDACTED]
└─nvme0n1p7 259:7 0 11.3G 0 part [SWAP] 40cb92bc-[REDACTED]

nvme0n1p3 is the normal windows partition, 2 and 4 are recovery and boot partitions from windows afair.
p1, p3 and p4 do not have UUIDs, if that’s for any relevance.

  1. No, I don’t see any boot menu. First I see is the input field for luks

sudo efibootmgr -v:
BootCurrent: 0003
Timeout: 0 seconds
BootOrder: 0003,0000,0004,0001,0002,0005,0006
Boot0000* Windows Boot Manager HD(1,GPT,070e21de-[REDACTED],0x800,0x82000)/File(\EFI\MICROSOFT\BOOT\BOOTMGFW.EFI)WINDOWS…x…B.C.D.O.B.J.E.C.T.=.{.9.d.e.a.8.6.2.c.-.5.c.d.d.-.4.e.7.0.-.a.c.c.1.-.f.3.2.b.3.4.4.d.4.7.9.5.}…
Boot0001* UEFI: SanDisk PciRoot(0x0)/Pci(0x14,0x0)/USB(21,0)/CDROM(1,0xac,0x15350)…BO
Boot0002 UEFI:CD/DVD Drive BBS(129,0x0)
Boot0003* Fedora HD(1,GPT,070e21de-[REDACTED],0x800,0x82000)/File(\EFI\FEDORA\SHIMX64.EFI)
Boot0004* Fedora HD(1,GPT,070e21de-[REDACTED],0x800,0x82000)/File(\EFI\FEDORA\SHIM.EFI)
Boot0005 UEFI:Removable Device BBS(130,0x0)
Boot0006 UEFI:Network Device BBS(131,0x0)

In this case LUKS shouldn’t affect it from my experience, as system accesses LUKS after grub plays its part.

20G is way to big for /boot (1G should be enough, 2 is plenty) – but that’s not the problem here.

efibootmgr output seems ok too, although Boot0003 and 0004 are sort of doubled up.

I’m out of ideas at this point, two more wild guesses (with low chances of success).

  1. Please run sudo grub2-editenv create and reboot.

  2. In your UEFI boot menu (accessed though BIOS/UEFI settings, or [F8] on ASUS motherboards, or some other hotkey on other ones) you should see two entries named Fedora (corresponding to Boot0003 and Boot0004 from output above). Can you please manually boot each of these to see if by chance it’ll make any difference? It shouldn’t but still… )


Also can you please paste contents of your /boot/efi/EFI/fedora/grub.cfg file either here or on https://paste.fedoraproject.org/? It doesn’t contain any sensitive data. I don’t think UUIDs are sensitive – they are in this file.

One way to do it would be

sudo cat /boot/efi/EFI/fedora/grub.cfg | fpaste

and post the link provided here.

Into the forum found this topic with a similar issue (which get solved) maybe it help:

Regards

1 Like

BIOS (UEFI) generally has a key you can press to choose which EFI file you want to boot (which OS), I know Solus OS (another distro) doesn’t use GRUB and relies on this method entirely for EFI installs. Your BIOS should detect all valid EFI files and show a tidy GRUB alternative. What make and model is your computer?

Thank you all for your responses

@nightromantic you can find the content of /boot/efi/EFI/fedora/grub.cfghere: https://paste.centos.org/view/acae81d4

Did not help

I somewhat wasn’t able to figure out how to actually enter it, although I followed the tutorial in the manual. It would only show something on screen when the Windows Login appeared. (I accessed the fedora installation stick through Settings -> Update -> Recovery -> Advanced -> Boot from removable)

@xtym The solution provided in the linked thread did not help me either

I have a HP Omen Obelisk 875-1877nz

@mrharrison, I’ve checked grub.cfg contents you’ve posted, and as far as I can tell it’s correct. It shows timeout set to 25 seconds (as you’ve set through grub.cfg), it shows menu entry for your windows partition correctly.

It looks like some problem with grub we’ve had here on Ask Fedora some time ago, I’ll try to find a link to share with you. That one was some kind of misunderstanding between grub and some BIOSes.

If that’s the issue here as well (can’t be sure, but it looks like it), then updating your BIOS has some small chance of helping you. You can do it from HP Support Assistant program from your Windows system.

EDIT: This is the thread I was thinking of, but it actually doesn’t look like your case. I’ll post it here just in case we have something alike (if not exactly similar):

Do you actually have access to your Windows, can you boot into it?


Regarding boot menu I was talking about (and @andrewnet did too). I couldn’t find instructions specific to your model, but all the HP notebook I’ve seen (seversal, not that many) and one monoblock PC all have this configuration. You can access HP’s boot menu by pressing [ESC] right after power on, when you see an HP logo on the screen. I just press it rapidly several times until I see the menu usually. It should display the menu alike to detailed here:

Also you can press [F10] instead of ESC to access you BIOS/UEFI setup screen, or [F9] for boot device selection.

This would require me to enter Windows, which, at this point, I am unable to.

No

I never see the HP logo. First I saw was the windows setup/login screen later on. May this be an issue with my monitor (Samsung LC34J791)?

This should be the correct manual: http://h10032.www1.hp.com/ctg/Manual/c06366166

Turn on or restart the computer or tablet, quickly press esc, and then press f9 for boot options

There are 2 ways trough Bios and trough Fedora, lets try Fedoras way first:

1- Check that your boot order didn’t change:

efibootmgr

If you still have boot order 0000 how windows boot loader lets put this in first place.

sudo efibootmgr - o 0000,0003,0004,0001,0002,0005,0006

Note -->0000 = windows boot loader if it did change the code, change it, place in first position the boot order than ddo reference to the windows boot loader, check what your windows boot loader is active, (it is active if you see the symbol * in them like this one:

[jorge@fedora31 ~]$ efibootmgr
BootCurrent: 0000
Timeout: 1 seconds
BootOrder: 0000,0005,0006,0004,0001,0002,0003

Boot0000* Fedora
Boot0001* UEFI:CD/DVD Drive
Boot0002* UEFI:Removable Device
Boot0003* UEFI:Network Device
Boot0004* UEFI: Built-in EFI Shell 
Boot0005* UEFI: Samsung SSD 860 EVO 250GB
Boot0006* UEFI OS

2- Then Reboot (you should start with windows this time)

reboot

But before you do run windows 10 try reinstall the Grub2 maybe this solve the issue.

sudo dnf reinstall grub2-efi shim && sudo grub2-mkconfig -o /boot/efi/EFI/fedora/grub.cfg

If reinstall didn’t the trick, you can start windows 10 like indicate before and try a clean reinstall of fedora with default partition table in place of personal configuration to check if there was some step than get wrong.

check also this about Grub2

https://fedoraproject.org/wiki/GRUB_2

Regards.

So, I’m back with a freshly installed fedora with auto-generated partitions.

As described here I made sure that GRUB_TIMEOUT is not 0 and also installed shim, os-prober, efibootmgr, grub2 and grub2-efi.

I then restarted and executed
sudo grub2-editenv - unset menu_auto_hide, as described here.
After waiting for several minutes as asked, I rebooted. It did not work, sadly.

So I then set GRUB_ENABLE_BLSCFG to false as advised in the first link. This did not change anything either.

Interestingly I’ve got more problems in even entering fedora now. But what I’ve observed from rebooting several times is that the luks-screen only appears after I’ve pressed enter.

My thought now is that I actually entered the GRUB-Menu, but that it is not shown on screen.

Can you try just avoiding Grub and pressing ‘esc’ or ‘f9’ right after you first boot. Like I said it’s a bit of a misconception that Grub is needed for EFI multi booting, I’ve always seen options in the BIOS/UEFI it’s self in regards to selecting which EFI to boot.

1 Like

What are the outputs for this command?

sudo parted /dev/sda print

I’m afraid you have bios_grub(hybride mbr)

One of the disadvantages of Anaconda installer is that without warning it relies on the hybride mbr in case you boot from usb/legacy_bios but you have gpt/partitions_talbe ,This sometimes causes problems(at least I personally caused some problems previously).

This was previously I do not know now if this behavior is still adopted.

(google translate)

1 Like

Well, first of all, you should be able to enter BIOS regardless of what’s installed on your computer. And I think it can help us understand/resolve your issue with dualboot and grub menu.

Is there a chance your monitor just doesn’t power-up / show image fast enough for you to see HP logo and/or grub menu – before booting actually starts??

Can you please try to enter BIOS like this:

  1. Powerdown you computer.

  2. Press Power button on the computer’s case to power it up – and right after that –

  3. Rapidly press [Esc] on the keyboard without stopping until you see something on the screen.

  4. Tell us here what do you see ))) Ideally you should see HP’s start menu I’ve described above.

If you don’t see HP’s menu, then please try the same sequence after reboot, not power-down, and with keys [F10] and [F9] each.

Also if you have some kind of wireless keyboard, there’s a small chance it doesn’t reconnect fast enough after reboot/power up for BIOS to register keypresses. In such a case it would be good to try any wired keyboard – at least temporarely, until we understand what’s going on.


Two more things you can try (again, with very small chance of working) – you can set them in one go they wouldn’t conflict – are:

  1. in /etc/default/grub set

    GRUB_TIMEOUT=-1
    

    – this should tell grub to wait indefinitely until you make a decision (by pressing enter on one of the entries). Also if you see black screen after reboot – please try pressing [up] and [down] arrows on a keyboard regardless – before pressing Enter.

  2. and also comment this line (by setting # character before it)

    #GRUB_TERMINAL_OUTPUT="console"
    

    – this should make grub show you graphical menu instead of text console one. This is to check if your computer for some reason has trouble with displaying console text grub menu.

After it regenerate the grub menu once again:

grub2-mkconfig -o /boot/efi/EFI/fedora/grub.cfg

Then reboot and report if you see any difference.

1 Like

I did so also before the Fedora installation, but nothing happened.

@youssefmsourani the outputs of sudo parted /dev/sda print are:
File or Directory not found

I tried with a second monitor and nothing appears. And I don’t think that my Monitor is not fast enough. I am actually able to enter Windows and Fedora respectively by choosing with the arrow-keys and then pressing enter. But it still doesn’t show anything on screen - no matter how long I wait. So I don’t think this is the issue.

That’s the problem - nothing appears, no matter how long I wait. Neither works with F10 nor F9

This did not help either.

@nightromantic I tried the GRUB settings as well, nothing helped.

To exclude a monitor problem I tried with an older one, a different HDMI-Cable and even through USB-C. None of that resulted in actually showing anything. Neither the BIOS nor the GRUB menu.

Is the GPU somewhat only activated after BIOS/GRUB?

Anyway: thank you all very much for your help so far!

This looks like grub menu does work as it should – it just doesn’t show you anything on the screen for some reason.

So you see just black screen with nothing on it? Don’t your monitor report “No signal”?

Well, no. First of all, as I’ve said earlier, regardless off bootloader (grub) and OS (Windows, Fedora, etc.) you have – and even without an OS – after powering up your computer you should be able to see BIOS/UEFI startup sequence (often replaced by colorful manufacturer’s logo) and be able to enter BIOS/UEFI settings.

While this doesn’t use fancy 3D capabilities of your GPU – it still does activate and use GPU in basic text/graphics mode.

And this is exactly what you can’t see for some reason. Once more, it doesn’t look like grub or Fedora issue, more like a hardware one. Maybe for some reason your computer tries to output initial BIOS/UEFI image to another video output, not the one you have you monitor connected to (though it’s a bit strange). And after the OS starts (Fedora or Windows) – it correctly detect your monitor and outputs video to it.

This is an official guide for 875-0000 series Omens (for some reason there’s no such guide for 875-1000 ones) about accessing UEFI/BIOS settings:

https://support.hp.com/us-en/drivers/selfservice/swdetails/omen-by-hp-875-1000-obelisk-desktop-pc-series/25644598/swItemId/cp-230283-1

By the way, there’s an update for the BIOS available here (please triple check, if this update is actually for your model and not something else!)

https://support.hp.com/us-en/drivers/selfservice/omen-by-hp-875-1000-obelisk-desktop-pc-series/25644598

and one of the issues it fixes is:

  • Fixes issue where HDMI monitor not be detected and cause system to hang in POST.

Although your system doesn’t hang in POST (i.e. right after startup), it looks like it actually can’t detect your HDMI monitor.

So I think you can try these things:

  1. Connect – at least temporarely – a monitor (it can be a second one) to some other video output you have available (DVI one, for example). Of course, you need to have cable and monitor input available to do so. Ideally would be to try all the video outputs available (there can also be multiple HDMI outputs on your computer).

  2. As you can now access Windows – you can use HP Support Assistant program to check if BIOS update is available for your computer. I’d apply it if it is.

1 Like