How to Configure Dual-Boot Order Between Windows 11 and Linux
🔍 WiseChecker

How to Configure Dual-Boot Order Between Windows 11 and Linux

Quick fix: To make Windows 11 default in GRUB bootloader: boot into Linux, edit /etc/default/grub, set GRUB_DEFAULT to the Windows entry index (often 2). Run sudo update-grub. To make Linux default from Windows side: open System Properties → Startup and Recovery → Settings, change Default operating system. But Windows boot manager and GRUB are separate — usually GRUB controls dual-boot order.

Most dual-boot setups put GRUB (Linux’s bootloader) in charge of the boot menu. After installing Linux beside Windows, GRUB displays its menu at boot, with Linux as default. To swap so Windows boots by default, edit GRUB config from Linux. If Windows is in charge instead, use Windows’s bcdedit or System Properties.

Symptom: Dual-boot Windows 11 + Linux machine boots to wrong OS by default; want to change order.
Affects: Windows 11 + Linux distros (Ubuntu, Fedora, Mint, Arch) dual-boot.
Fix time: ~10 minutes.

ADVERTISEMENT

What causes this

When you install Linux after Windows 11, Linux usually installs GRUB to the EFI partition and makes itself the default boot target. The boot menu lists both Windows and Linux, but the cursor sits on Linux. To change: edit GRUB’s config (if Linux controls) or Windows’s BCD (if you reinstalled Windows boot manager).

Method 1: Change GRUB default to Windows

The standard route — for GRUB-managed dual-boot.

  1. Boot into Linux. Open terminal.
  2. List boot entries:
    grep -E "^menuentry|^submenu" /boot/grub/grub.cfg | head -20

    This shows entries with their indexes (0-based). Find “Windows Boot Manager” line.

  3. Count its position. Example: 0=Ubuntu, 1=Advanced options, 2=Memtest, 3=Windows Boot Manager.
  4. Edit GRUB config:
    sudo nano /etc/default/grub
  5. Find GRUB_DEFAULT=0. Change to the Windows entry index, e.g., GRUB_DEFAULT=3. Or use string name: GRUB_DEFAULT="Windows Boot Manager (on /dev/sda1)".
  6. Optional: adjust GRUB_TIMEOUT=10 for menu wait time (default 5 or 10 seconds).
  7. Save (Ctrl+O, Enter, Ctrl+X).
  8. Regenerate GRUB:
    sudo update-grub

    On Fedora/RHEL: sudo grub2-mkconfig -o /boot/grub2/grub.cfg.

  9. Reboot. GRUB highlights Windows by default. Pressing Enter (or waiting for timeout) boots Windows.

This is the standard fix.

ADVERTISEMENT

Method 2: Make Windows boot manager primary (skip GRUB)

For removing GRUB entirely.

  1. To completely bypass GRUB and boot directly to Windows by default: set Windows Boot Manager as the primary EFI entry.
  2. Open Windows. Run Command Prompt (Admin).
  3. List EFI entries:
    bcdedit /enum firmware

    Shows all firmware boot entries.

  4. Set Windows Boot Manager as default:
    bcdedit /set "{fwbootmgr}" displayorder "{bootmgr}" /addfirst
  5. Or use BIOS/UEFI: boot to firmware (Del or F2 during boot). Boot Order tab. Move Windows Boot Manager to top.
  6. Save and exit BIOS. PC now boots directly to Windows without GRUB menu.
  7. To get to Linux: change boot order in BIOS, or hold Shift while clicking Restart in Windows to pick a different OS.
  8. Caveat: this is one-sided. Windows updates may reset this if Windows reinstalls its boot manager.

This is the no-GRUB route.

Method 3: Use rEFInd as an attractive dual-boot manager

For better UI and reliability.

  1. rEFInd is an alternative bootloader with graphical icons, auto-detects OSes.
  2. From Linux: install via sudo apt install refind (Ubuntu) or download from rEFInd site.
  3. Install: sudo refind-install. Adds rEFInd to EFI partition.
  4. Reboot. rEFInd menu appears with icons for Windows, Linux, USB, etc.
  5. Configure default: edit /boot/efi/EFI/refind/refind.conf. Set default_selection "Windows" (use partial match of entry label).
  6. Adjust timeout: timeout 5.
  7. Use arrow keys at boot to pick OS. F10 to save selection as default.
  8. For multiple Linux distros + Windows: rEFInd makes the menu cleaner than GRUB.

This is the right path for multi-OS setups.

How to verify the fix worked

  • Reboot. Boot menu shows desired OS pre-selected.
  • Wait timeout or press Enter — preferred OS boots.
  • Other OS still accessible via boot menu.

If none of these work

If GRUB doesn’t show at all: Fast Startup in Windows: disable. Control Panel → Power Options → Choose what the power buttons do → untick Turn on fast startup. For BitLocker / Device Encryption: changing boot order triggers recovery key prompt. Have key ready. For UEFI Secure Boot issues: some Linux distros need Secure Boot disabled. For GRUB rescue prompt: GRUB is broken. Boot Linux Live USB → boot-repair tool fixes. For Windows reinstalling its boot manager: Windows feature updates may overwrite GRUB. Re-run grub-install from Linux Live USB. For two physical disks: each disk can have its own boot manager. Use BIOS to pick which disk to boot from.

Bottom line: Edit /etc/default/grub in Linux, set GRUB_DEFAULT to Windows entry index, run sudo update-grub. Alternative: bcdedit fwbootmgr from Windows, or replace GRUB with rEFInd for nicer menu.

ADVERTISEMENT