Linux · How-To

How to Dual-Boot Windows 11 and Linux

By , Editor · · Windows 11 + Linux
The short answer

Dual-booting keeps Windows 11 exactly as it is and adds Linux next to it on the same disk. Back up your data, then in Windows shrink the C: partition in Disk Management to free space, turn off Fast Startup (and suspend BitLocker), write a Linux ISO to a USB stick, boot from it, and choose "Install alongside Windows". The installer drops Linux into your free space and installs GRUB, a small boot menu that lets you pick Windows or Linux every time the PC starts. The whole job takes an hour or two, and the only genuinely risky moment is the partitioning — which is exactly why you back up first.

Below is the full, safe procedure. Linux is not one product, so where a step differs between the big families — Ubuntu/Debian, Fedora, and Arch — this guide says so and gives the right command for each rather than pretending they are identical.

Read this before you touch a partition

Resizing partitions and installing a second operating system rewrites your disk's partition table. Done correctly it is safe and routine; interrupted by a power cut, or aimed at the wrong disk, it can destroy everything on the drive. Make a full backup you have verified you can restore before you start, and plug a laptop into mains power. Nothing below is reversible without that backup.

Step 1 — Back up Windows first

Everything else assumes a working backup exists. At minimum, copy your personal files to an external drive or the cloud; better, make a full system image so you can put Windows back exactly as it was. Our companion guide walks through every option.

  1. Follow how to back up your Windows 11 PC and complete at least a file backup, ideally a full system image too.
  2. Note down your BitLocker recovery key if the drive is encrypted — sign in at account.microsoft.com/devices/recoverykey and save it somewhere off the machine.
  3. Confirm you have a way to reinstall Windows if needed (a recovery drive, or the official Media Creation Tool download).

Step 2 — Free up space by shrinking the Windows partition

Windows can hand back unused space from your C: drive without touching your files, leaving an empty (unallocated) region for Linux. Aim for at least 30 GB for a comfortable Linux desktop; 60 GB or more if you plan to use it heavily.

  1. Right-click the Start button and choose Disk Management (or press Windows + X and pick it from the menu).
  2. Right-click your Windows partition — normally the large C: volume — and choose Shrink Volume.
  3. In Enter the amount of space to shrink in MB, type the size you want to free (for example 40000 for roughly 40 GB), then click Shrink.
  4. You will see a block of Unallocated space appear. Leave it as unallocated — do not create a new Windows partition in it. The Linux installer will use this region.
If Windows won't shrink far enough

"Immovable" system files (the page file, hibernation file, and system-protection snapshots) can pin the shrink point partway down the disk — Microsoft's Shrink a basic volume article says exactly this: the paging file and shadow copy storage area can't be relocated automatically, and you can't shrink past the point where they sit. Temporarily disabling hibernation (powercfg /h off in an admin terminal), turning off System Restore, and disabling the page file will usually let you reclaim much more space. Turn them back on afterwards if you want them.

Step 3 — Disable Fast Startup (and note BitLocker and Secure Boot)

Windows Fast Startup doesn't fully shut the PC down; it hibernates the system files. That leaves the Windows partition in a locked, "dirty" state that Linux will refuse to write to — and it can corrupt shared files. Turn it off before you install.

  1. Open Control Panel > Hardware and Sound > Power Options.
  2. Click Choose what the power buttons do in the left column.
  3. Click Change settings that are currently unavailable.
  4. Under Shutdown settings, clear the Turn on fast startup (recommended) checkbox and click Save changes.

BitLocker: if your Windows drive is encrypted (many Windows 11 PCs enable device encryption automatically), suspend BitLocker before you change the boot setup, or Windows may demand your recovery key on the next start. In an admin terminal:

manage-bde -protectors -disable C: -RebootCount 1

This suspends protection for one reboot; it resumes automatically — the manage-bde protectors reference documents -rebootcount as resuming protection after Windows has restarted that many times. Keep the recovery key handy regardless.

Secure Boot: you can usually leave it on. Mainstream distributions — Ubuntu, Fedora, Debian and their relatives — ship a Microsoft-signed shim bootloader that boots with Secure Boot enabled. You only need to disable Secure Boot in UEFI for distributions that don't sign their bootloader, or after installing unsigned third-party kernel modules (such as some NVIDIA driver setups), where you enrol a key through the MOK prompt instead.

Step 4 — Choose a distribution and create the install USB

If you are new to Linux, a beginner-friendly, well-documented distribution is the safest start — Ubuntu LTS and Fedora Workstation are the two most common choices and both handle dual-boot detection cleanly. Download the official ISO for whichever you pick, then write it to a USB stick of 8 GB or larger (its contents will be erased).

  1. Download the ISO only from the official site — ubuntu.com, fedoraproject.org, debian.org, or archlinux.org. Verify the checksum if the project publishes one.
  2. Write it to the USB drive with a trusted tool:
    • Rufus (Windows) — set the partition scheme to GPT and target to UEFI for a Windows 11 machine.
    • balenaEtcher — cross-platform and very hard to get wrong.
    • Fedora Media Writer — the official writer if you chose Fedora.
  3. On an existing Linux machine you can instead write the image directly. Confirm the target device name first with lsblk, then:
    sudo dd if=/path/to/distro.iso of=/dev/sdX bs=4M status=progress oflag=sync
Double-check the target of dd dd writes wherever you point it with no confirmation and no undo — aiming it at the wrong /dev/sdX will erase that disk instantly. Run lsblk and match the size to your USB stick before you press Enter. When in doubt, use a graphical writer like balenaEtcher instead, which only lists removable drives.

Step 5 — Boot the USB and install Linux alongside Windows

  1. Leave the USB inserted and restart. At the maker's logo, press the one-time boot menu key (commonly F12, F10, Esc, or F9 depending on the brand) and choose the USB drive, listed as a UEFI device.
  2. Choose Try or Install. It is worth booting the live session first to confirm Wi-Fi, graphics, and trackpad all work before committing.
  3. Start the installer and, at the disk step, choose the option that installs Linux alongside the existing Windows installation. Ubuntu labels this "Install Ubuntu alongside Windows Boot Manager"; Fedora and others offer to reclaim the free space automatically. This uses the unallocated space from Step 2 and leaves Windows untouched. Canonical's own Install Ubuntu Desktop tutorial covers the same choice, and warns that the installer can't access an encrypted Windows installation if BitLocker is still enabled — which is why Step 3 suspends it.
  4. If you prefer manual partitioning, create your Linux partitions only inside the free space — typically a root (/) partition and optional swap — and make sure the existing EFI System Partition is mounted at /boot/efi and left in place so both systems share it.
  5. Finish the installer, remove the USB when prompted, and reboot.

Step 6 — How GRUB lets you pick an OS at boot

When the installer set up Linux, it also installed GRUB (the GRand Unified Bootloader) to the shared EFI System Partition and made it the default boot entry. From now on, each time the PC starts you get a short menu listing your Linux distribution and Windows Boot Manager — use the arrow keys to choose, and GRUB boots whichever you pick (defaulting to Linux after a few seconds).

If Windows isn't listed, boot into Linux and regenerate the menu. The command depends on your distro family:

  • Ubuntu / Debian: sudo update-grub
  • Fedora / RHEL: sudo grub2-mkconfig -o /boot/grub2/grub.cfg
  • Arch: sudo grub-mkconfig -o /boot/grub/grub.cfg

One Fedora detail worth knowing, because a lot of older tutorials get it wrong: on Fedora 34 and later the path above is correct for UEFI machines too. Fedora unified its GRUB configuration, so /boot/efi/EFI/fedora/grub.cfg is now only a small stub that points at /boot/grub2/grub.cfg. Writing to the old EFI path — as pre-Fedora-34 guides tell you to — will appear to succeed and then change nothing.

On Fedora and a few others, OS probing is switched off by default, so Windows won't be detected until you enable it. Edit /etc/default/grub, set GRUB_DISABLE_OS_PROBER=false, then run the regenerate command above. If GRUB never appears at all and the PC goes straight to Windows, the fix is in your UEFI firmware settings: move your distribution above Windows Boot Manager in the boot order.

Tip — keep the two clocks in sync

After a while you may notice the time is wrong when you switch systems. Windows expects the hardware clock in local time; Linux expects UTC. The simplest fix is to tell Linux to match Windows by running timedatectl set-local-rtc 1 once, after which both agree.

Undoing a dual boot later

To go back to Windows only, boot into Windows, use Disk Management to delete the Linux partitions and extend C: back over the reclaimed space, then repair the Windows boot entry so the machine stops looking for GRUB — boot the Windows install/recovery USB, open a command prompt, and run bootrec /fixboot and bootrec /rebuildbcd. Because GRUB lives on the shared EFI partition, removing Linux without this step can leave you at a GRUB prompt with nothing to boot.

Frequently asked

Should I install Windows or Linux first when dual-booting?

Install Windows first, then Linux. Windows tends to overwrite the boot manager and ignore any existing Linux entries, so if you install it second it can hide your Linux menu. Linux installers, by contrast, detect an existing Windows installation and add it to the GRUB boot menu for you. If your PC already came with Windows 11, you are in the right order already — just make your free space and install Linux into it.

Will dual-booting slow down or harm my Windows installation?

No. Each operating system lives on its own partition and only one runs at a time, so Windows performs exactly as it did before. The real risks are during setup, not daily use: shrinking a partition or repartitioning a disk can lose data if it is interrupted, which is why a full backup first is non-negotiable. Once both systems are installed, you simply pick one at the boot menu and it runs on its own.

Why does my clock change after switching between Windows and Linux?

Windows and Linux disagree about the hardware clock. Windows assumes the hardware clock is set to your local time, while most Linux distributions assume it is set to UTC, so after switching the displayed time can be off by several hours. The cleanest fix is to tell Linux to use local time for the hardware clock with the command timedatectl set-local-rtc 1, after which both systems agree. You can instead configure Windows to treat the clock as UTC, but changing Linux is simpler.

My PC boots straight into Windows and never shows the GRUB menu. How do I fix it?

Usually the firmware is booting the Windows Boot Manager ahead of GRUB. Enter your UEFI firmware settings at startup and move your Linux distribution (or grub) above Windows Boot Manager in the boot order. If GRUB loads but does not list Windows, boot into Linux and regenerate the GRUB configuration; on Fedora and some other distributions you may first need to enable OS probing by setting GRUB_DISABLE_OS_PROBER=false in /etc/default/grub, then rebuild the menu so Windows is detected.

More Linux guides

This is part of the Windows Now Linux section. Browse all Linux guides, or head back to the Windows Now home page.