Technical Anshu
Tutorials Blog
🐧 Dual Boot Fix

GRUB Menu Not Showing PC Boots Straight Into Windows Fix

You installed Ubuntu, restarted — and went straight into Windows as if nothing happened. Ubuntu is almost certainly still there, fully installed. What changed is simply which bootloader the firmware runs first. Here is how to prove it in one minute and fix it permanently.

✍️ Technical Anshu🐧 Ubuntu and Windows⏱️ 7 minute read
🎥 Watch the video — the dual boot installation and boot priority setup shown live

A missing GRUB menu feels like a vanished Ubuntu, but the two systems and the menu itself are separate things. The firmware keeps a boot order list, and if Windows Boot Manager sits at the top of it, GRUB is never given a chance to appear. Windows updates, BIOS resets and even the original installation can leave the order that way. Work through this page in order — the first step alone answers most cases.

1

First Prove Ubuntu Is Still There — the One Time Boot Menu

Every PC has a one-time boot menu that ignores the saved order and lets you pick a device or bootloader for this start only. Restart and tap the boot menu key during the first seconds — commonly F12 on Dell and Lenovo, F8 or Esc on others; the startup screen usually names it.

  1. Restart and tap the boot menu key repeatedly
  2. Look for an entry called ubuntu in the list
  3. Select it — if the GRUB menu appears and Ubuntu starts, your installation is perfectly healthy

That result also names the problem precisely: not a broken GRUB, just a boot order that prefers Windows. The remaining steps make the fix permanent. If no ubuntu entry exists anywhere in the menu, skip to the update repair guide in this series — the entry itself needs rebuilding.

2

Fix the Order From Ubuntu With efibootmgr

Boot Ubuntu once using the one-time menu, open a terminal, and let Ubuntu reorder the firmware list itself. The tool for this is efibootmgr, and it talks directly to the same list your BIOS setup shows.

  1. Run sudo efibootmgr to see the current entries and their numbers
  2. Note the number on the ubuntu line and the one on Windows Boot Manager
  3. Put ubuntu first with sudo efibootmgr -o 0001,0000 — using your real numbers, ubuntu first, Windows second
  4. Restart and the GRUB menu should now appear on its own

Write your actual numbers in the command — the ones in the panel below are examples. Entry numbers differ per machine, and copying them blindly sets the wrong order.

Terminal — Ubuntu — reading and setting the boot order
$ sudo efibootmgr BootCurrent: 0000 Timeout: 1 seconds BootOrder: 0000,0001 Boot0000* Windows Boot Manager Boot0001* ubuntu $ sudo efibootmgr -o 0001,0000
What efibootmgr shows before the fix — Windows first. The numbers on your PC will differ; always copy your own ubuntu number into the -o command.
3

Fix the Order From the BIOS Setup Instead

The same list can be edited without Ubuntu at all, straight in the firmware setup — useful if you prefer not to touch the terminal.

  1. In Windows, open Settings, then Recovery, then Advanced startup — Restart now
  2. Choose Troubleshoot, Advanced options, UEFI Firmware Settings
  3. In the setup, open the Boot section and move ubuntu above Windows Boot Manager
  4. Save and exit — usually F10

Some firmware hides the individual entries behind a single hard drive priority list. The ubuntu entry may appear as the drive name itself; selecting the drive and looking for a sub-list of EFI boot entries usually reveals it.

4

Menu Appears but Vanishes Too Fast — Give It Time

A different flavour of the same complaint: GRUB does run, but the menu flashes past or never displays, and Ubuntu starts before you can choose. That is the timeout, and it is one file in Ubuntu.

  1. In Ubuntu, open the config with sudo nano /etc/default/grub
  2. Set GRUB_TIMEOUT_STYLE=menu so the menu always shows
  3. Set GRUB_TIMEOUT=10 for a ten second countdown
  4. Save, then apply with sudo update-grub and restart

Until that is done, tapping Esc (UEFI) or holding Shift (legacy BIOS) during the first seconds of boot calls the hidden menu up on demand.

5

If It Keeps Flipping Back to Windows

On some machines — certain HP and Acer models are known for it — the firmware or a vendor utility keeps restoring Windows to the top after updates or even after every few boots. Two defences usually settle it.

  1. Update the BIOS to the latest version from the manufacturer's site; boot order bugs are a known fix category
  2. Inside Windows, disable any vendor fast boot or boot optimizer utility that manages startup
  3. As a fallback, keep using the one-time boot menu key — it always wins for that start

Honest note: on a small number of firmware versions the flip-back cannot be fully cured from the Ubuntu side, because the firmware itself rewrites the list. The one-time menu remains a reliable two-second workaround on those machines.

🔴 Do not reinstall Ubuntu over a missing menu. The installation is fine in almost every case — reinstalling risks the partitions and fixes nothing, because the new install lands in the same second place in the boot order. Change the order, not the system.

🎥 Watch the Dual Boot Video

Boot priority is part of the full dual boot setup — watch the complete installation and menu configuration in the video.

▶️ Watch Full Video
❓ Frequently Asked Questions

Why did my PC start booting straight to Windows after I installed Ubuntu

Because the firmware boot order still lists Windows Boot Manager first, so GRUB is never started. Ubuntu is installed and healthy — you can prove it in one start by picking the ubuntu entry from the one time boot menu. Moving ubuntu to the top of the order with efibootmgr or the BIOS setup makes the GRUB menu appear at every start.

What are the correct numbers for the efibootmgr order command

There are none that fit everyone — the numbers belong to your machine. Run sudo efibootmgr first, read the numbers printed next to ubuntu and Windows Boot Manager on your screen, and put your ubuntu number first in the -o list. The examples on this page are only a shape to copy, not values to type.

The GRUB menu shows but disappears before I can choose Windows

The menu timeout is set too short or the style is hidden. In Ubuntu set GRUB_TIMEOUT_STYLE=menu and GRUB_TIMEOUT=10 in /etc/default/grub, run sudo update-grub, and the menu will wait a full ten seconds at every boot. Tapping Esc during startup also brings a hidden menu up for that one start.

This guide is based on the Technical Anshu video linked above • Stuck on a step? Ask in the video comments — you will get a reply 🙏