Quick Links
Are you a dual-booter running a Linux-Windows or even a Linux-Linux dual-boot system? Have you ever lost booting access to one of your OSes or want to be prepared for if and when that happens? If yes, you need to master GRUB and its capabilities to get more control over the boot process.
When talking about GRUB, I’m talking about GRUB2, which is the current version of GRUB that almost all Linux distros use.

Why the GRUB is Important for Linux Dual-Booters
GRUB, short for GRand Unified Bootloader, is the standard bootloader used by mostpopular Linux distros. It’s a program that loads and transfers control to the operating system’s kernel during the system startup. GRUB usually appears as a boot selection menu, letting you choose which OS you want to boot into (among other things we’ll discuss later) when you power on a dual-boot PC. Even on single-OS setups, GRUB is present—it’s just usually hidden from you, or set with a very short timeout, so you might not notice it.
Let’s say you’re dual-booting Windows 11 with a Linux distro. Here you’re dealing with two bootloaders—GRUB for Linux and the Windows Boot Manager for Windows 11. The Windows Boot Manager is meant to boot Windows and won’t detect your Linux distro by default. You’d need to go into the BIOS/UEFI to change the boot order or tweak around withBCDEditto boot into your Linux system—which can be a real headache!

Fortunately, GRUB can automatically detect Windows 11 and will allow you to choose either OS to boot into. This enhanced compatibility is what makes GRUB so powerful, popular, and something you should know as a Linux dual-booter. For example, in my Linux-Windows dual-boot PC, the Windows Boot Manager doesn’t detect my Garuda Linux partition, but GRUB recognizes both OSes.
Now, I should mention that GRUB isn’t the only Linux bootloader—other options also exist. For example, Pop!_OS, a reasonably popular Linux distro, ditches GRUB in favor ofsystemd-boot, which is faster and simpler. However, it can’t reliably detect other operating systems without manual intervention, making it a bad choice for dual-boot PCs.

This is exactly why GRUB is popular and the standard Linux bootloader. Not only does it support automatic OS detection, but it also seamlessly loads other bootloaders (viachain-loading), and offers a solid fallback system if something breaks—more on that later!
Order of OS Installation and How It Affects the GRUB
On a dual-boot PC, the order in which you install your OSes, is important. Whichever OS you install last will almost always set its own bootloader as the default. As such, if you’re setting up a Windows-Linux dual-boot PC, always install Windows first and Linux last to get GRUB as your default bootloader.
If you accidentally install Windows last, not only will the Windows Boot Manager control the boot process, but it can also delete GRUB from the EFI partition—a special partition that stores bootloaders and other boot files for UEFI-based systems. In the next section, I’ve discussed how to fix this problem!

Why You’re Not Encountering the GRUB Menu, and How to Fix It
Sometimes, even in a dual-boot system, you might not encounter the GRUB menu and boot straight into one of the installed OSes. This happens primarily for two reasons.
First, if you’re dual-booting two Linux systems, one Linux system’s GRUB must be controlling the boot process—likely the Linux system you’re booting into. Now, if it’s configured to stay hidden, you won’t get the OS selection menu. To fix this, while on your Linux system, open the terminal and enter this command:

Look for the line that says GRUB_TIMEOUT_STYLE. It’s likely set to “hidden”. Change it tomenu. Next, look for the line that says GRUB_TIMEOUT and set its value to5or10—which indicates how many seconds the GRUB menu will be visible before booting into the default OS. After making the changes, press Ctrl+o and Enter to save your changes and Ctrl+x to exit the file editor.
After saving the file, run this command in your terminal:
Now reboot your system, and you should see the GRUB menu, which allows you to choose between your Linux installations.
Alternatively, if you’re dual-booting Windows with Linux, and can only boot into Windows, it might be because fast boot is enabled. Follow our guide ondisabling fast boot for Windows 10(it should work on Windows 11 as well) and that should solve your problem.

However, if you still don’t see GRUB, Windows might’ve deleted it from the EFI partition. To fix this, graba live Linux USB stick, ideally with the same distro as the one you’re trying to recover. Now the GRUB recovery process will be different based on the specific distro, so I’ll point you to useful guides that you can follow:
Once done, I’d encourage you to visit your BIOS/UEFI settings and check the boot order. Ensure that your preferred Linux distro—where you fixed GRUB—is selected as the first option.

How GRUB Helps with OS Recovery and Troubleshooting
One of the reasons we want to have GRUB enabled during the boot process is because if the system fails to load, we can potentially troubleshoot it from here. Simply use the arrow keys to select the Linux entry you want to troubleshoot and presse. This will open the GRUB boot entry editor for that particular OS. It will show you the default GRUB config script, but you may edit it with additional parameters to troubleshoot the problem.
For example, let’s say yourgraphics driver is brokenand Linux boots into a black screen. In that case, you can addnomodesetat the end of theLinuxline. This will force the system to load using basic display settings until you can install or fix your graphics drivers. Similarly, you can addsingleas a boot parameter. This boots the system into recovery mode where only a single user: therootis active, and networking services are disabled. You’d ideally use this for system repairs and password resets.

For more advanced troubleshooting options, you have theGRUB CLI or the GRUB rescue shell. It’s a powerful terminal interface with support for many useful commands that can help you troubleshoot what’s wrong and potentially fix it so you can boot into your Linux system.
How to Customize GRUB and Make It Yours
you may potentially tweak your GRUB file to add custom entries, set a default OS, and even theme it to look nice. For example, sometimes GRUB won’t automatically detect a particular OS installed on your system, so you want to manually add it. Alternatively, you might want to add a rescue ISO image or memtest—a useful tool that tests your computer’s RAM for errors to troubleshoot random crashes and freezes. GRUB lets you add these options manually by editing the/etc/grub.d/40_customfile.
To do this, simply type:
Now, let’s say you want to add Memtest86+ as a menu entry. For that, you’re able to simply add this line of code:
Next, runupdate-gruband memtest86+ will appear in your boot menu.
Alternatively, let’s say you want to change the default OS. To do that, you will need to edit the/etc/default/grubfile. Similar to before, enter this command:
Now, simply set theGRUB_DEFAULTvariable to your desired value. By default, it’s set to the number0, corresponding with the first entry in the GRUB menu. Let’s say you want to set the default OS to Windows, which is in the 2nd position of the GRUB menu. In that case, you can setGRUB_DEFAULTto1.
Finally, you can also change the look of your GRUB menu by using GRUB themes. You can find GRUB themes onGNOME-Looks. Each theme might follow a specific installation process, but that should be detailed on the theme information page and the corresponding GitHub page, if any. After installing the theme, it should automatically change how your GRUB looks. However, if the theme doesn’t take effect, you can manually set it by visiting the/etc/default/grubfile and tweaking theGRUB_THEMEvariable to the theme path—where the theme file is located.
Always remember to save your changes in nano by hitting Ctrl+o and Enter before exiting (Ctrl+x), or all your edits will be lost.
GRUB is more than just a menu—it’s the most important tool backing your dual-boot experience and a reliable way to troubleshoot common PC headaches. Whether you’re recovering a lost Linux installation, customizing your boot order, or just making things look the way you want, learning these GRUB basics will serve you well down the line.