Fix Grub Not Showing for Windows and Linux Dual Boot System

Brief: Can’t access Linux in dual boot because your system boots straight to Windows without showing the Grub menu? Here’s what you can do.

Here are some scenarios you could relate to:

You dual booted Ubuntu Linux with Windows but when you reboot, you do not see the Grub screen that allows you to choose between Windows and Linux. Instead, it boot straight into Windows.

Or perhaps you had a working dual boot system but you updated Windows and now your system boots straight into Windows. The usual grub menu is nowhere on the scene. It just kept booting into Windows 10 at each startup.

I have faced both scenarios in my long journey with Linux and computers. I have also seen people panicking over it. Some users even think that their Linux partition was deleted and they lost their data. That’s not the case, I assure you.

No need to panic here. Just calm down, take a deep breath and go into boot settings. The problem starts there and ends there.

If you too are unable to boot into Grub and you’re just rebooting Windows 10 repeatedly, here are a few steps you can take to troubleshoot and fix the issue.

Read all the text carefully otherwise you may miss something important. Also, the boot settings look different for different systems. The screenshots may look different.

Method 1: Move Grub up the order

One of the reasons why a dual boot system boots automatically into Windows is because Windows boot manager has the priority in the boot order.

You need to access the boot settings. Restart your system. When the computer is booting up and shows the logo of the manufacturer, quickly press F10/F12 or F2 keys to access the boot menu or settings.

The keys defer from manufacturer to manufacturer. You can cycle through theme one by one, quickly to avoid multiple booting.

acer predator boot
Quickly press F2, F10 or F12 keys at the screen showing your system manufacturer’s logo

Some systems will show a boot menu with the possible boot options under the boot tab. If you are lucky, it will show the boot options like this:

windows ubuntu boot order
Make sure that Ubuntu is above Windows in the boot order

If you can see both Windows and Linux boot options and Windows boot is above Linux, you have to change the boot order.

You should see the option to access boot settings. Access it. In here, identify the Linux boot option. Select it and move it up the order using F5 key. After that press F10 to save and exit. Helpful keyboard shortcuts are always displayed in the boot menu.

If you are lucky, this should fix the issue for you. If a few weeks or months down the line, the problem comes again after a Windows update, you can use this same method here.

But if there is no Ubuntu/Linux option in the boot menu?

Method 2: Add Linux boot entry in the boot settings

One other common issue that many people encounter is the absence of Linux grub entry from the boot options. This means that in the boot settings, there is only Windows, no Linux option.

If it is the same case with you, go to BIOS settings. Under the boot tab, look for the Add Boot Option.

add new boot option
Add new boot option

It should give you an option to add an EFI file.

add efi file for boot option
Browse to EFI file

I used this while installing Debian Linux. This is why you’ll see Debian in the screenshots here. For you, it should show the name of your Linux distribution like Ubuntu.

There is an EFI directory with efi files related to the operating systems on your computer i.e. Windows and Linux.

select efi file boot option
Select EFI directory

It should show a folder with your Linux distribution’s name along with some other folders. Select the Linux folder.

select debian folder for uefi
Select Debian

In this folder, you’ll find files like grubx64.efi, shimx64.efi. Select shimx64.efi.

select shim boot
Select shim.efi

You may give this file an appropriate name that is easily identifiable. The final screen may look like this.

new boot option
Adding the new boot option with efi file

Now, you should have this boot option. Since I named it Debian, it shows two Debian boot options (one of them coming from the efi file I guess). Press F10 to save and exit the BIOS settings.

new boot option added
New boot option added

When your system boots now, you should see the grub screen now.

Note: In Acer and perhaps some other systems, adding a new boot option could be tricky. You may use the steps mentioned in the fix for ‘no bootable device found’ error. There also a boot option was added but it requires changes from the security tab.

What you did here can also be done from Windows command line. Only try it when your settings are not taken into account.

Method 3: Set Linux boot for EFI from Windows (last resort)

Warning!

Playing with your boot settings can leave your system messed up. I advise having a recovery disk or Windows installation disk with you to reverse boot settings. Keeping the Linux live USB can also help in many situations.

Step 1

In Windows, go to the menu.

Access Menu in Windows 10

Step 2

Search for Command Prompt, right click on it to run it as administrator.

Command Prompt in Windows 10

Step 3

This is strictly for Ubuntu. Other distributions might have some other folder name.

In here, copy and paste the command below:

bcdedit /set {bootmgr} path \EFI\ubuntu\grubx64.efi

You don’t need to enter a password or anything like that. The command should run just fine given that your account has admin rights.

Step 4

Restart and you’ll be welcomed by the familiar Grub screen. I hope this quick tutorial helped you fix the Grub issue.

No success? Revert the changes

If the above method didn’t change anything, reverse the changes. If you are not able to boot do not panic.

Access the boot settings when your system is booting. In here, go to the boot options and move Windows boot up the order. Save and exit.

Now when you boot into Windows. you can reverse what you did using the command below with command prompt opened as admin:

bcdedit /deletevalue {bootmgr} path \EFI\ubuntu\grubx64.efi

Next, use the below command to set the boot back to Windows.

bcdedit /set {bootmgr} path \EFI\Microsoft\Boot\bootmgfw.efi

If you’re not able to boot into the Windows installation, insert the Windows installation disk and there you’ll have access to the command prompt. If you see a “no boot found” error, you can try this or this solution.

Did it work?

Frustrating, isn’t it? It seemed like there was no way to access Linux at all. Seemed like Linux partition disappeared but no – the Linux install on the other partition was safe and sound. It was just the UEFI settings that were different in the boot manager. I verified everything by accessing the UEFI firmware settings in Windows 10.

I hope the suggestions here helped you to get the Grub boot menu back and you can now use it to enjoy both Windows and Linux.

Similar Posts

  • Thanks!! Had to access the boot menu differently, but I never would have known where to look without your explanation. I’m truly grateful.

  • I have a similar issue and have tried to do the last resort and windows still boot.

    Linux doesn’t appear even in bios but the partition is there and when the Linux installation for the USB it even detects Linux as it warns me If I want to factory reset Linux so I’m confused