How to install Arch linux with Uefi
Installation of Arch Linux is not as difficult as people have made it difficult for others to install you just have to follow few steps correctly and need to read wiki when you face any problem. In this guide I will further trim down installation process for you and make it easy for you to install without reading Arch wiki but remember arch wiki is your best friend in installation procedure if you face any problem/issue during installation if you are unable to find answers to your questions then you can ask questions on Arch Linux community. I have installed Arch Linux many times on my laptops and desktops, finally, now I can remember all step by step processes of building a perfect Arch Linux.
Requirements for Install Arch LinuxFirst, you have to make a live USB of the Arch Linux installation using a USB Flash-disk or CD /DVD. If you haven't made it then make it first using Rufus or another boot-able USB creating software. If you don't have the Iso Arch Linux file, then download latest ISO from the official website. After creating a bootable USB you have to reboot your system to prepare partitions for this installation.
Example of my partition :512 MB, /boot/efi
50 GB, /
200 GB, /home
Explanation of my partitioning scheme512 MB, /boot/efi = To save Boot file UEFI
50 GB, / = To partition root (place to store) backgrounds, fonts, icons, themes)
200 GB, /home = To partition home (place to store) video, music, downloads, pictures)
I am on SSD drive there is no need for swap and I have plenty of ram which means swap is useless for me if you are on older systems then I will recommend you to create swap half of your ram size.
If everything is complete, proceed to the installation process.
The process of installing Arch LinuxBoot from the live USB of your Arch Linux installation. Then as usual, after entering the command line type below to connect Wi-Fi
Test the connection by sending ping
if you start receiving packets it's mean you are connected to the internet
Ctrl+C to stop.
Update system clock
Run the below command to update the accuracy of time
To check the status service, use it timedatectl status.
timedatectl set-ntp true
Create PartitionPlease check the partition /dev/sdaX that you have created, to make sure you are on target, run the following command
Create partitions with example partition formats as above or if you have made the partition skip this way
/dev/sda1 to partition swap
/dev/sda2 to partition /boot/efi
/dev/sda3 to partition / (root)
/dev/sda4 to partition /home
Format partitionsFormat 4 partitions that you have specified with the commands below
format efi partition as fat32
format root partition as ext4
mkfs.fat -F 32 /dev/sda2
format root partition as ext4
mkfs.ext4 /dev/sda3 -L "ArchRoot"
mkfs.ext4 /dev/sda4 -L "ArchHome"
MountAfter formatting the 4 partitions above, then mount everything and activate the swap.
Mount root partition
make new directories home & boot on /mnt
mount /dev/sda3 /mnt
make efi folder in boot folder
mount your efi partition
mount your home partition
mount /dev/sda2 /mnt/boot/efi
mount /dev/sda4 /mnt/home
pull installation files from online serversPactrap is the command and process of installing a package base from Arch Linux.
For this guide I am downloading grub-efi-x86_64 efibootmgr as a boot loader, os-prober to automatically detect boot partitions in addition to the Arch Linux boot partition (for example the Windows partition if you apply dual boot), ntfs-3g to set the NTFS partition (Windows), bash-completion to expand the bash function. type
Wait until it's finished downloading and installing Arch Linux
pacstrap /mnt base base-devel grub-efi-x86_64 efibootmgr os-prober ntfs-3g bash-completion
Genrate FstabI want all of my partitions to be exactly mounted as they are now after completing installation so here I am generating my fstab for my mounted volumes to make the permanently as they are right now.
you can check the file generated in /mnt/etc/fstaband edit if an error occurs.
genfstab -U /mnt >> /mnt/etc/fstab
Chroot SessionNow change to root mode to set up a new system installation type.
Set Time zoneI am setting my time zone to PAKISTAN set your time zone according to your location or country.
Karachi is my timezone so i am using below command to set my time zone
to check other time zones type
ln -sf /usr/share/zoneinfo/Asia/Karachi /etc/localtime
After selecting a time zone set clock according to your timezone
hwclock --systohc --utc
Then uncomment (remove the # sign) below from you desired system language
in my case I want to use the english US as my local language I am removing the hash sign from
Press Ctrl+O to save & Ctrl+X to exit from the nano text editor.
type below command to generate your local language
HostnameMake a hostname file change manzoor from below command to your desired host name
echo Manzoor-pc > /etc/hostname
Create user name & password for your userstype below command for the root password
enter your password and confirm it & create the new user account for computer user/ secondary user with sudo or root user priveledges. enter below command and change manzoor with your user name
create password for your new user
useradd -m -g users -G sudo,power,storage manzoor
enter your password and confirm it once again for the new user.
InitramfsMake new initramfs using below command
mkinitcpio -P linux
Install grubFor Intel CPU users, you must install this intel ucode before installing grub if you are on amd you do not need intel ucode for installation type
Now install grub with this command
pacman -S intel-ucode
/dev/sdX is a disk where GRUB will be installed (for example, disk is /dev/sda and partition is /dev/sda1).
Now generate grub.cfg file
grub-mkconfig -o /boot/grub/grub.cfg
Install packages for network
dialog wpa_supplicant networkmanager network-manager-applet
install display serverI am using xorg because it is the best display manager but you can use wayland as well
pacman -S xorg xorg-server xorg-xinit mesa
Install Desktop EnvironmentI am a user of KDE plasma so for this guide, I am going to install KDE Plasma desktop environment
pacman -S plasma plasma-nm sddm kde-applications
VGADetect your VGA first by typing and entering lspci | grep VGA.
NoteI recommend not to install xf86-video-intel, because it can cause problems with Chromium and it is heavy as well.
pacman -S xf86-video-intel
pacman -S xf86-video-vesa mesa mesa-demos
pacman -S xf86-video-nouveau
Now enable few services before exit
pacman -S xf86-video-ati
systemctl enable NetworkManager.service
exit from root mode and reboot your system
systemctl enable sddm.service
Eject USB from your system and if you have followed my guide properly you do not need to read arch wiki for installation of Arch Linux on UEFI enabled system I had simplified process of installation a much as I can I hope for your success and below in comments tell me what kind of adventures you had for installation of Arch Linux.