Skip to content

Dual Boot Installation

Matthew Stiles edited this page Jan 16, 2019 · 1 revision

Windows 10 + Arch Linux - Dual Boot Installation

Setting up a system to dual-boot Windows 10 and Arch Linux is not much different from setting up a standard Arch Linux system.

Windows Installation

It is much simpler to install Windows 10 first, leaving unpartitoned space on the drive, then installing Arch Linux to that unpartitioned space once Windows 10 setup has been completed.

A Windows 10 ISO can be obtained by using the Windows 10 Media Creation Tool, or downloaded directly from Microsoft's ISO Download Page.

Preparing the boot media

Use Rufus to create a bootable USB flash drive with GPT partition scheme, for a UEFI target system. If prompted, choose to write the image in ISO mode.

Note: When reinstalling Windows 10 on a machine that came with Windows 10 preinstalled from the manufacturer, it will typically activate the new installation automatically, using the original edition of Windows 10 that came with the machine. To bypass this and show a prompt for selecting the edition to install during setup, create a file on the installation media at \sources\ei.cfg with the following contents:

[Channel]
Retail

Proceed to install Windows 10 as usual, but remember to leave unpartitioned space on the boot drive for Arch Linux to be installed to later.

Post-install setup

Once installed and booted into Windows 10, install system drivers and Windows Updates.

Disable fast boot before proceeding, to prevent disk corruption when switching to Arch later on. Right-click on the battery/power tray icon and select 'Power Settings'. Select 'Choose what the power buttons do' in the sidebar, click 'Change settings that are currently unavailable', and uncheck 'Turn on fast startup (recommended)'.

Since Linux sets the hardware clock in UTC time, Windows needs to be configured to do the same. Using regedit, create a new DWORD entry at HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation\RealTimeIsUniversal with a hexadecimal value of 1.

Arch Linux Installation

Once Windows 10 has been installed, Arch Linux will then be installed on the remaining unpartitioned space on the drive. Most of the steps will remain the same as the the process outlined in Arch Linux Installation, so this section will only cover the differences.

Partitioning the remaining space on the disk

Display detected drives using fdisk -l.

Windows creates four partitions when installed on a UEFI system. Assuming the drive is identified as /dev/sda, you should see the following partitions:

/dev/sda1   Windows recovery environment
/dev/sda2   EFI System
/dev/sda3   Microsoft reserved
/dev/sda4   Microsoft basic data

The EFI System partition will be shared between the Windows 10 and Arch Linux installations, so there is no need to create another EFI partition at this point. Follow the same steps in the standard installation to create the root and home (and optionally swap) partitions only. Once finished, the drive should have seven partitions with the following layout:

/dev/sda1   Windows recovery environment
/dev/sda2   EFI System
/dev/sda3   Microsoft reserved
/dev/sda4   Microsoft basic data
/dev/sda5   Linux root (x86-64)             25 GiB
/dev/sda6   Linux home                      Remaining space
/dev/sda7   Linux swap                      Optional

Format the partitions

Important: Do not format the existing EFI System partition, as that will wipe out the Windows boot loader.

mkfs.ext4 /dev/sda5
mkfs.ext4 /dev/sda6
mkswap /dev/sda7

Mount the partitions

Note: The EFI System partition created by Windows will be mounted as the /boot partition.

mount /dev/sda5 /mnt
mkdir /mnt/boot
mount /dev/sda2 /mnt/boot
mkdir /mnt/home
mount /dev/sda6 /mnt/home
swapon /dev/sda7

Continue with normal Arch installation

When setting up the boot manager, it would be beneficial to configure the /boot/loader/loader.conf file with a slightly longer timeout, so you have a chance to choose between Windows 10 and Arch Linux upon boot.

Otherwise, the remaining steps should be exactly the same as the standard Arch Linux Installation.