How to Dual Boot Windows 10 and Arch Linux Safely (2025 Updated Guide)
If you love Windows 10 but also want the power and flexibility of Arch Linux, dual-booting is the best of both worlds. You can switch between Windows for work or gaming and Arch Linux for coding, customization, and learning Linux deeply.
In this blog, I’ll walk you through — step-by-step — how to safely install Arch Linux alongside Windows 10, covering BIOS/UEFI setup, partitioning, GRUB bootloader installation, and recovery tips. Let’s make sure you don’t lose your data in the process!
⚙️ What You’ll Need
Before we start, here’s what you’ll need ready:
- 💽 A USB drive (at least 4GB)
- 🪟 Windows 10 already installed
- 🌐 Internet connection
- 🧠 Basic command-line knowledge
- 📀 Arch Linux ISO — Download from official site
- 🧰 A tool like Rufus or Balena Etcher (to make a bootable USB)
🪟 Step 1: Prepare Windows for Dual Boot
- Backup your data — Always first.
- Disable Fast Startup & Hibernation:
Go to:powercfg /h off
Control Panel
→Power Options
→Choose what power buttons do
→ Uncheck “Turn on fast startup” - Shrink Windows Partition to make space for Arch:
- Press
Win + X
→ Disk Management - Right-click your main drive (C:)
- Select Shrink Volume
- Leave at least 40GB free for Arch Linux You’ll now have unallocated space — don’t format it! Arch installer will handle it.
- Press
🧭 Step 2: Create a Bootable Arch Linux USB
Use Rufus (on Windows):
- Select your USB drive
- Choose the Arch ISO file
- Set:
- Partition scheme →
GPT
(for UEFI) orMBR
(for BIOS) - File System →
FAT32
- Partition scheme →
- Click Start
🧰 Step 3: Boot Into Arch Linux Installer
- Restart your PC
- Enter BIOS/UEFI (press
F2
,Del
, orEsc
depending on your system) - Disable Secure Boot
- Set your USB as the first boot device
- Boot — you’ll see the Arch Linux live menu. Choose:
Boot Arch Linux (x86_64)
💽 Step 4: Check Internet Connection
For Ethernet (wired):
ping archlinux.org
If you see replies, you’re good.
For Wi-Fi:
iwctl
device list
station wlan0 scan
station wlan0 get-networks
station wlan0 connect YourWiFiName
exit
ping archlinux.org
🧱 Step 5: Partition the Disk
Run:
lsblk
Find your drive (e.g., /dev/sda
or /dev/nvme0n1
).
We’ll use cfdisk
— it’s easy and safe.
cfdisk /dev/sda
Choose:
GPT
(if UEFI)- or
DOS/MBR
(if BIOS)
Now create:
- EFI partition (if UEFI):
- Size:
512MB
- Type:
EFI System
- Size:
- Root partition (Linux):
- Use the unallocated space you created earlier
- Type:
Linux filesystem
- (Optional) Swap:
- Size:
2–4GB
- Type:
Linux swap
- Size:
Write changes → confirm → quit.
💾 Step 6: Format Partitions
For UEFI systems:
mkfs.fat -F32 /dev/sda1
For the root partition:
mkfs.ext4 /dev/sda2
If you made a swap partition:
mkswap /dev/sda3
swapon /dev/sda3
📦 Step 7: Mount the Partitions
mount /dev/sda2 /mnt
mkdir /mnt/boot
mount /dev/sda1 /mnt/boot
⚙️ Step 8: Install Base System
pacstrap /mnt base linux linux-firmware vim networkmanager
Then generate fstab:
genfstab -U /mnt >> /mnt/etc/fstab
🧭 Step 9: Chroot Into the System
arch-chroot /mnt
Set timezone:
ln -sf /usr/share/zoneinfo/Asia/Karachi /etc/localtime
hwclock --systohc
Set locale:
echo "en_US.UTF-8 UTF-8" >> /etc/locale.gen
locale-gen
echo "LANG=en_US.UTF-8" > /etc/locale.conf
Set hostname:
echo "archpc" > /etc/hostname
Set root password:
passwd
🚀 Step 10: Install GRUB Bootloader
For UEFI systems:
pacman -S grub efibootmgr os-prober
grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=Arch
os-prober
grub-mkconfig -o /boot/grub/grub.cfg
For Legacy BIOS systems:
pacman -S grub os-prober
grub-install /dev/sda
os-prober
grub-mkconfig -o /boot/grub/grub.cfg
✅ You’ll see that GRUB detects your Windows Boot Manager automatically!
🌐 Step 11: Enable Network and Exit
systemctl enable NetworkManager
exit
umount -R /mnt
reboot
Remove the USB when prompted.
🪟 Step 12: Boot Menu (Choose OS)
On reboot, you’ll see the GRUB menu:
- Arch Linux
- Windows Boot Manager
You can switch easily between both OSes whenever you boot.
🩺 Troubleshooting Tips
- If GRUB doesn’t show Windows:
sudo os-prober sudo grub-mkconfig -o /boot/grub/grub.cfg
- If booting directly into Windows: Go into BIOS and ensure Arch/GRUB is first in the boot order.
- If Arch doesn’t boot:
Boot into live USB again
Mount root partition:
mount /dev/sda2 /mnt arch-chroot /mnt grub-install /dev/sda grub-mkconfig -o /boot/grub/grub.cfg reboot
🧠 Bonus Tip: Keep Both OSes Clean
- Don’t touch Windows partitions from Linux unless you know what you’re doing.
- Keep Windows updates enabled.
- Use
Timeshift
in Linux for snapshots — it can save you during a failed update.
🧾 Final Thoughts
Dual-booting Windows 10 and Arch Linux gives you the power to enjoy both ecosystems — productivity in Windows, and full control in Linux. If you follow this guide carefully, you’ll have a smooth dual-boot setup with zero data loss.
Written by Huzi 🧑💻 💻 Explore more Linux and web development tutorials on huzi.pk — your home for open-source guides, performance tips, and real tech fixes!