Arch Linux Installation with Windows 10 Dual Boot

Installing Arch Linux on a Dell Vostro laptop to dual boot alongside pre-installed Windows 10 and setting up GRUB and GNOME desktop
TECH ·

In this post, we will look at the installation of Arch Linux on a Dell Vostro laptop. The laptop comes with a pre-installed copy of Windows 10 and boots in UEFI mode.

  1. Pre-Installation
  2. Setup Wifi
  3. Partition Disk and setup LVM
  4. Install Kernel and Other Applications
  5. Install and Configure GRUB
  6. Setup Networking Wifi
  7. Install Gnome Desktop Environment
  8. Setup Sound Drivers
  9. Setup Bluetooth

Pre-Installation

Get a copy of Arch Linux, and create a bootable USB. I prefer using Rufus, but you can find many tools online that can help you create a bootable USB for installing Linux.

The next step is to update your BIOS configuration to

You can now boot using the bootable USB you created before. You can use F12 to access the Boot/BIOS menu.

Setup Wifi

After you boot, you will need a working internet connection. If you do not have a wired Ethernet connection, you can try setting up your Wifi connection.

Partition Disk and setup LVM

List available disks, and identify the disk to partition

lsblk 

Create a new partition (for example: /dev/nvme0n1p4) large enough to use with LVM using gdisk and set partition type = 8300 (Linux Filesystem)

gdisk /dev/nvme0n1

Create Physical Volume

pvcreate /dev/nvme0n1p4
pvs # list created physical volume

Create Volume Group - archvg

vgcreate archvg /dev/nvme0n1p4
vgs # list created volume group

Create Logical Volumes

lvcreate -L 10G archvg -n homevol
lvcreate -L 100G archvg -n rootvol
lvs # list created logical volumes

Mount the logical volumes

mount /dev/mapper/archvg-rootvol /mnt
mkdir /mnt/home
mount /dev/mapper/archvg-homevol /mnt/home
mkdir /mnt/efi 
mount /dev/nvme0n1p1 /mnt/efi # mount the EFI system partition, we will use it later for configuring GRUB bootloader

Generate fstab file

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

Install Kernel and Other Applications

arch-chroot /mnt
pacstrap -K /mnt base linux-lts linux-firmware lvm2 networkmanager vim man-db man-pages iproute2 sudo

Setup timezone and localization

ln -sf /usr/share/zoneinfo/YourRegion/YourCity /etc/localtime
hwclock --systohc
vi /etc/locale.gen # Uncomment en_US.UTF-8 UTF-8 or any other required locales
locale-gen
echo LANG=en_US.UTF-8 > /etc/locale.conf # or any other locale you require

Install and Configure GRUB

grub-install --target=x86_64-efi --efi-directory=/efi --bootloader-id=GRUB
grub-mkconfig -o /boot/grub/grub.cfg

Setup Networking Wifi

echo myhostname > /etc/hostname
nmcli device wifi connect SSID_or_BSSID password wifi_password

Install Gnome Desktop Environment

pacman -Syu gnome gnome-tweaks

Setup Sound Drivers

pacman -Syu sof-firmware

Setup Bluetooth

pacman -Syu bluez bluez-utils gnome-bluetooth-3.0