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.
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.
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.
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.
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.
sudo efibootmgr to see the current entries and their numberssudo efibootmgr -o 0001,0000 — using your real numbers, ubuntu first, Windows secondWrite 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.
The same list can be edited without Ubuntu at all, straight in the firmware setup — useful if you prefer not to touch the terminal.
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.
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.
sudo nano /etc/default/grubGRUB_TIMEOUT_STYLE=menu so the menu always showsGRUB_TIMEOUT=10 for a ten second countdownsudo update-grub and restartUntil that is done, tapping Esc (UEFI) or holding Shift (legacy BIOS) during the first seconds of boot calls the hidden menu up on demand.
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.
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.
Boot priority is part of the full dual boot setup — watch the complete installation and menu configuration in the video.
▶️ Watch Full VideoBecause 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.
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 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.