Fix Grub Not Showing for Windows and Linux Dual Boot System

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.
Warp Terminal

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 the Windows boot manager has priority in the boot order.

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

The keys differ from manufacturer to manufacturer. You can cycle through themes 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 possible 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

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

You should see the option to access boot settings. Access it. Here, identify the Linux boot option. Select it and move it up the order using the 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

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

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 the 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. 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.

📋
Adding a new boot option could be tricky in Acer and perhaps some other systems. 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 the 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)

🚧
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 the familiar Grub screen will welcome you. 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. 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 the 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

Did it work?

If you still cannot 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.

Fix “No Bootable Device Found” Error After Installing Ubuntu Linux
Did you install Linux afresh or perhaps dual booted it? And now your system shows ‘no bootable device’ error while booting? Here’s what you could do to fix the issue. Usually, I dual boot Ubuntu and Windows but this time I decided to go for a clean Ubuntu installation

Frustrating, isn’t it? It seemed like there was no way to access Linux at all. It seemed like the 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.

About the author
Abhishek Prakash

Abhishek Prakash

Created It's FOSS 11 years ago to share my Linux adventures. Have a Master's degree in Engineering and years of IT industry experience. Huge fan of Agatha Christie detective mysteries 🕵️‍♂️

Become a Better Linux User

With the FOSS Weekly Newsletter, you learn useful Linux tips, discover applications, explore new distros and stay updated with the latest from Linux world

itsfoss happy penguin

Great! You’ve successfully signed up.

Welcome back! You've successfully signed in.

You've successfully subscribed to It's FOSS.

Success! Check your email for magic link to sign-in.

Success! Your billing info has been updated.

Your billing was not updated.