Windows Install & setup

Dual-boot Windows and Linux safely

Practical Windows guide: dual-boot Windows and Linux safely without the usual guesswork.

18 min read Advanced Updated 9 Jun 2026

Step-by-step guide

Work through each section in order. Stop when your issue is resolved — you do not need every step for every situation.

Warning

Dual-booting can break BitLocker, Secure Boot policies, or Fast Startup hibernation. Disable Fast Startup and back up the EFI partition before resizing disks.

What you will achieve

Shrink Windows safely, create Linux partitions, and install a Linux bootloader alongside Windows without overwriting Windows Boot Manager.

1) Prepare Windows

  1. Open Control Panel → Power Options → Choose what the power buttons do and turn off Turn on fast startup.
  2. In Admin PowerShell, disable hibernation: powercfg /h off.
  3. Create a full system image or backup — partition edits can fail mid-operation.

2) Shrink the Windows partition

  1. Open Disk Management (diskmgmt.msc).
  2. Right-click the Windows (C:) volume → Shrink Volume. Enter space for Linux in MB (e.g. 102400 for ~100 GB).
  3. Leave the result as Unallocated — do not format it in Windows.

3) Install Linux alongside Windows

  1. Boot the Linux installer USB in UEFI mode (pick the UEFI USB entry in the boot menu).
  2. Choose Install alongside Windows if offered, or manual partitioning: use unallocated space for ext4 (/) and swap as needed.
  3. Let the installer add its bootloader to the EFI System Partition — most distros add GRUB or systemd-boot without removing Windows Boot Manager.

4) Recover Windows boot if needed

Boot Windows install USB → Repair your computer → Troubleshoot → Command Prompt:

bootrec /fixmbr
bootrec /fixboot
bootrec /scanos
bootrec /rebuildbcd

5) Set firmware boot order

  1. In UEFI setup, confirm both Windows Boot Manager and the Linux entry appear in the boot list.
  2. Use the one-time boot menu (F12 on many PCs) to pick an OS until both chain-load correctly.

6) Manage boot order from Windows

bcdedit /enum firmware
bcdedit /set {fwbootmgr} displayorder {bootmgr} {GUID} /addfirst

Use firmware GUIDs from bcdedit /enum firmware — incorrect GUIDs can hide boot entries.

7) Remove Linux cleanly later

  1. Delete Linux partitions in Disk Management, then extend Windows into freed space.
  2. Run bootrec /rebuildbcd or use bcdedit to remove stale GRUB entries from EFI.

8) Back up EFI partition before edits

mountvol S: /S
xcopy S:\EFI C:\EFIBackup\ /E /H /I

Unmount after: mountvol S: /D. Restore if bootloader edits go wrong.

9) Time and dual boot

Windows and Linux interpret hardware clock differently (local vs UTC). If clock jumps after switching OS, set Windows to UTC for dual boot:

reg add HKLM\System\CurrentControlSet\Control\TimeZoneInformation /v RealTimeIsUniversal /t REG_DWORD /d 1 /f
  1. Linux side: set hwclock to UTC in distro time settings if needed.
  2. BitLocker with dual boot requires recovery key when firmware or boot order changes — keep keys offline.

Related guides

boot dual linux windows