How to Dual Boot Windows 10 and Arch Linux Safely (2025 Updated Guide)
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:
powercfg /h off
Go to: 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.
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, or Esc 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