Skip to content
Home » Dual Boot Arch Linux and Windows, Step-By-Step Commands!

Dual Boot Arch Linux and Windows, Step-By-Step Commands!

Dual Boot Arch Linux and Windows 10/11

Arch Linux is one of the very popular Linux Distro. Especially among Linux enthusiasts as it can be highly customized according to the user’s need. We are free to add or remove additional files and programs. The installation is a little complex as we need to run a lot of commands. But once figured out the result is very worthwhile. Let’s see how we can Dual Boot Arch Linux with Windows 10/11.


We will first download the ISO file from here. You can download from your country server or from a worldwide server. Once downloaded we will make a bootable USB.

I’m using Ventoy to make a multi-bootable USB but you can use Rufus as well. Install Ventoy and select partition as GPT and then install it on your USB. Then just copy the ISO to this USB.

Read more about How To Create Bootable USB For Multiple ISO Files


Make sure you have a 20GB or above partition made for the OS. Then we will boot into our BIOS. We will select the Boot Devices option and then choose our USB from the list.

It will show the Ventoy interface with the ISO files. Select Arch Linux and hit enter. You will see some loading commands and finally a terminal interface with a blinking cursor.

Read more about Dual Boot Chrome OS New Easy Method! 2022

Commands to Dual Boot Arch Linux

Connect to Wifi or alternatively use an Ethernet cable and skip the wifi setup commands.
Now type,


to open the wifi interface

device list 

To see the name of the wifi interface which is mostly wlan0

To scan networks

station (devicename) scan 
station (devicename) get-networks
station (devicename) connect (wifiname)

Enter password

To check connection

station (devicename) show 

To exit out of iwctl


Or we can use an Ethernet cable to get connected.

Checking internet:

ping -c 3

Setting time and date

timedatectl set-ntp true

Disk partitioning:



fdisk -l 

to see device block

cfdisk /dev/(urblockno) 

mostly (/dev/sda)

so it will be

cfdisk /dev/sda

Create 512MB of the type EFI system
Select the remaining storage and create new for the whole size. Linux File system will be automatically created for the partition.


fdisk -l 

to see block numbers of created partitions
Put your own block numbers below:

-Format EFI as fat32

mkfs.fat -F32 /dev/sda (in /dev/sda put your blocknumber for efi)

-Format root as ext4

mkfs.ext4 /dev/sda

Mounting partitions:

-for root
mount /dev/(rootpartition) /mnt
-for boot
mkdir /mnt/boot
mount /dev/(efipartition) /mnt/boot

To check partition:


Install base system, Linux kernel, and other required packages:

pacstrap /mnt base linux linux-firmware util-linux grub efibootmgr os-prober intel-ucode networkmanager nano (replace intel-ucode with amd-ucode for amd cpu)

Generate fstab file:

genfstab -U /mnt >> /mnt/etc/fstab

Setting up Arch:

arch-chroot /mnt

-setting timezone and language

ln -sf /usr/share/zoneinfo/(countinent)/(city) /etc/localtime
hwclock --systohc

-Setup locale

nano /etc/locale.gen

Find & uncomment line (delete #) en_US.UTF-8 UTF8
then run


-Set language

echo LANG=EN_US.UTF-8 > /etc/locale.conf then run export LANG=en_US.UTF-8

Set hostname

echo (hostname) > /etc/hostname
nano /etc/hosts

and type: (tab key) localhost
::1 (tab key) localhost (tab key) (hostname)

set root password with:


Setting Grub:

pacman -S grub efibootmgr os-prober ntfs-3g netwrkmanager network-manager-applet wireless_tools wpa_supplicant
dialog mtools dosfstools base-devel linux-headers git bluez bluez-utils pulseaudio-bluetooth cups openssh
grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=GRUB

Setting Network:

systemctl enable NetworkManager
systemctl enable bluetooth
systemctl enable sshd

make grub config file:

grub-mkconfig -o /boot/grub/grub.cfg

If there is an OS Prober that will not be executed error then run:

nano /etc/default/grub
  • Scroll down and you should see #GRUB_DISABLE_OS_PROBER=false. Remove the # to uncomment it.
  • If there is no such line then you can add GRUB_DISABLE_OS_PROBER=false at the free space.

Create New User:

useradd -m -g users -G wheel -s /bin/bash (username)
passwd (username)

Then type,

pacman -S sudo
nano /etc/sudoers
uncomment line %wheel ALL= (ALL) ALL

install display server:

pacman -S xorg xorg-server

install audio drivers:

pacman -S pulseaudio pulseaudio-alsa

Desktop Environment:

sudo pacman -S gnome gnome-extra gnome-tweaks
systemctl enable gdm.service
systemctl start gdm.service

If the desktop does not start you can force shutdown and then restart to BIOS. Select Boot device options and choose the GRUB option. There you will see Arch Linux and then you can boot to the system from there.

1 thought on “Dual Boot Arch Linux and Windows, Step-By-Step Commands!”

  1. That is a great tip particularly to those fresh to the blogosphere. Brief but very accurate info… Appreciate your sharing this one. A must read post!

Leave a Reply

Your email address will not be published.