Install Archlinux dualboot with Windows 10

Warning
This article was last updated on 12-04-2022, the content may be out of date.

I have always found Arch Linux as a DIY (Do It Yourself) operating system. From installing to managing, Arch Linux lets you handle everything.

You decide which desktop environment to use, which components and services to install. This granular control gives you a minimal operating system to build upon with elements of your choice.

If you are a DIY enthusiast, you’ll love Arch Linux.

Let’s get started:

1
2
3
4
5
6
ip link
iwctl
device list
station device scan
station device get-networks
station device connect SSID
Tips
device is your device name which show after command “device list”
1
2
lsblk
cfdisk /dev/the_disk_to_be_partitioned
Tips
SSD usually has partition called nvme0n1, other maybe “sda”

Now in cfdisk, make sure you create new Partition in empty partition which shrinked from Windows before and write it.

Then mount the partition:

1
2
3
4
5
6
mkfs.ext4 /dev/the_disk_you_just_created_new_partion # I will call this "tdyjcnp"
mount /dev/tdyjcnp /mnt
mkdir /mnt/boot 
mount /dev/efi_windows_partition /mnt/boot # efi_windows_partition may nvme0n1p1 or nvme0n1p2 (sda1/sda2)
mkdir /mnt/windows10 
mount /dev/windows_partition /mnt/windows10 # nvme0n1p3/nvme0n1p4 (where windows10 is)
1
2
pacstrap /mnt base linux linux-firmware nano amd-ucode # or intel-ucode
genfstab -U /mnt >> /mnt/etc/fstab
1
2
3
4
5
6
arch-chroot /mnt
fallocate -l 2GB /swapfile
chmod 600 /swapfile
mkswap /swapfile
swapon /swapfile
nano /etc/fstab

In fstab, go to empty space below and type: /swapfile none swap defaults 0 0

Ctrl X and type Y to close and write the file

  • Timezone
1
2
3
4
5
6
ln -sf /usr/share/zoneinfo/your_continents/your_city /etc/localtime 
hwclock --systohc
nano /etc/locale.gen
#uncomment en_US.UTF-8 UTF8 and Ctrl X to save the file
locale-gen
echo "LANG=en_US.UTF-8" >> /etc/locale.conf
  • Hostname
1
2
3
nano /etc/hostname
# just enter the name you like and Ctrl X to save the file
nano /etc/hosts

In hosts, go to empty space and type:
127.0.0.1{tab}localhost

::1{tab}{tab}localhost

127.0.1.1{tab}your_hostname.localdomain{tab}your_hostname

  • Password for root
1
2
3
passwd
# enter new password for root
# repeat it
1
pacman -S grub efibootmgr os-prober ntfs-3g networkmanager network-manager-applet wireless_tools wpa_supplicant dialog mtools dosfstools base-devel linux-headers git bluez bluez-utils pulseaudio-bluetooth cups openssh
1
2
grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=GRUB
grub-mkconfig -o /boot/grub/grub.cfg
Warning

If you get error: warning: os-prober will not be executed to detect other bootable partitions

You need to uncomment/add GRUB_DISABLE_OS_PROBER=false to /etc/default/grub and run grub-mkconfig -o /boot/grub/grub.cfg again.

1
2
3
4
systemctl enable NetworkManager
systemctl enable bluetooth
systemctl enable cups
systemctl enable sshd
1
2
3
4
5
6
7
8
9
useradd -mG wheel your_user_name 
passwd your_user_name
# enter new password and retype
EDITOR=nano visudo
# go to the fist line you see: %wheel ALL=(ALL) ALL and uncomment this line
# Ctrl X to save the file
exit
umount -a
reboot

Now archlinux will restart.

After restart, you need enter User Name which you created before, then use nmtui to connect wifi.

1
2
3
4
sudo pacman -S xf86-video-amdgpu # (intel, nvidia-utils)
sudo pacman -S xorg
sudo pacman -S sddm # feel free to choose lightdm or gdm
sudo systemctl enable sddm

You can choose many DE like: Gnome, KDE, XFCE…

Or Window Manager (WM) like: i3, bspwm, sway…

I recommended you to use KDE, because it’s simple and have everything user need:

1
sudo pacman -S plasma kde-applications packagekit-qt5
1
2
3
git clone https://aur.archlinux.org/yay.git
cd yay
makepkg -si PKGBUILD

Now you can install google-chrome through yay using command:

1
yay -S google-chrome

Now, we done with install Archlinux, just reboot and enjoy the result ^^

That’s pretty much the whole installation of your Arch Linux system. You can customize your OS more later such as things like ricing,… The fun has just begun. Here are a screenshots of my machine.

/images/archbtw1.png
My rice with KDE

If you get any trouble, feel free to contact me.

All rights and credits reserved to Ashpex.

I just rewrite and update the tutorials.