How to Install Arch Linux: Beginner’s Step-by-Step Guide

Arch is easy to install. This guide shows you how to install Arch Linux with GNOME Desktop, paving the way for a successful setup.

Arch is easy to install. This guide shows you how to install Arch Linux with GNOME Desktop, paving the way for a successful setup.

Many Linux users want to try Arch Linux, but the general notion that Arch is difficult to install and learn stops them. When people say, it is “hard,” they mean it takes effort. And they’re right – you have to put a little more effort into installing your system, setting everything up, and reading about how to do what you want.

However, as a reward for your efforts, you’ll end up with a system you understand well and set up just how you want it. Once installed, Arch Linux is as easy to run as any other distro, if not easier.

You can install Arch Linux directly to your computer by following this guide, but you can also install it on a virtual machine by using VirtualBox or other virtualization software.

Preinstallation Notes to Virtualbox and KVM Users

IMPORTANT! Before starting the installation, VirtualBox and KVM users must enable EFI in the virtual machine settings. Otherwise, an error will occur when attempting to install the GRUB bootloader.

Arch Linux VirtualBox Install: Enable EFI

However, if you have decided to install Arch on KVM using Virtual Machine Manager to enable UEFI support, the steps are as follows.

In the last step, do not rush to press the “Finish” button when creating the virtual machine. Ensure you have checked the “Customize configuration before install” option, then press “Finish.”

A new window will open. In it, select “UEFI” from the “Firmware” drop-down menu, then confirm with “Apply” and finally hit “Begin Installation.”

Arch Linux Virtual Machine Manager (KVM) Install: Enable EFI

This Arch Linux how-to installation guide shows the whole process in easy-to-follow steps. So, without further ado, let’s get started.

1. Download the Arch Linux Installation Image

The first thing that we need to do is to obtain an image of Arch Linux. To do so, visit the Arch Linux download page to download the ISO image file. Then, grab the latest CD image. Both direct download and torrent links are available.

Download Arch Linux Installation Image

2. Prepare Live Bootable USB

Once your Arch Linux ISO file finishes downloading, you must create a live USB from it. There are many ways to prepare a live USB; one is by using the dd command.

Alternatively, you can use applications such as Etcher or Ventoy, which are good options for creating a bootable USB drive.

3. Boot Arch Linux from the Live USB

Once you have created a live USB for Arch Linux, shut down your computer, plug the USB into it, and boot your system.

Please remember that you can sometimes not boot from a live USB with secure boot enabled. If that’s the case with you, access the BIOS and turn off the secure boot first.

Arch provides you with two installation options – Legacy and UEFI mode. The UEFI (Unified Extensible Firmware Interface) mode is more up-to-date, and most modern hardware only supports the UEFI installation. Therefore, this Arch Linux how-to installation guide will use the UEFI mode.

Once properly booted into the Arch’s ISO, you should see something similar to the image below.

Boot from the Arch Linux Installation ISO File

Choose the “Arch Linux install medium (x86_64, UEFI)” option and hit “Enter.”

After the installer decompresses and loads the Linux kernel, you will be automatically thrown to a terminal with root privileges.

Start Installing Arch Linux

4. Verify Connectivity to the Internet

First of all, check the internet connection. To check it, ping a website, as shown in the example below.

ping -c 3 archlinux.org
PING archlinux.org (95.217.163.246) 56(84) bytes of data.
64 bytes from archlinux.org (95.217.163.246): icmp_seq=1 ttl=52 time=57.4 ms
64 bytes from archlinux.org (95.217.163.246): icmp_seq=2 ttl=52 time=57.4 ms
64 bytes from archlinux.org (95.217.163.246): icmp_seq=3 ttl=52 time=58.4 ms

--- archlinux.org ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2003ms
rtt min/avg/max/mdev = 57.394/57.739/58.376/0.450 ms

If you use a wired connection, it is usually picked up automatically. However, if you receive an error message, please check your internet connection or router.

Related: How To Set Static IP Address And Modifying Routing Table On Linux

After completing connectivity checks, we can move ahead to our Arch Linux installation.

5. Partition the Disk

The next step in our Arch Linux installation guide is partitioning the hard drive. Here is where you will likely find the most trouble if you are unfamiliar with partitioning tools such as fdisk or cfdisk. But don’t worry, it is easy, as you’ll see.

First, list your disks:

fdisk -l
Disk /dev/sda: 20GiB, 21474836480 bytes, 41943040 sectors
Disk model: QEMU HARDDISK
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk /dev/loop0: 662.69 MiB, 694882304 bytes, 1357192 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes

For this guide, a virtual machine has been created with a blank 20 GB hard disk identified by “/dev/sda.” Change “/dev/sda” with your device name.

For a basic partition, we need to create the following partition layout:

  • /dev/sda1: EFI System partition with 512 MB size, FAT32 formatted. This provides space for storing bootloaders and other files required for booting.
  • /dev/sda2: Swap partition, 4GB size. Swap space is used to extend the virtual memory beyond the installed physical memory (RAM) or for suspend-to-disk support.
  • /dev/sda3: Linux partition, with the remaining free disk space size, EXT4 formatted. This is the root (/) partition on which our Arch Linux operating system, files, and other information will be stored.

5.1 Create EFI System Partition

Now let’s start creating a disk layout partition table by running the cfdisk command against the machine’s hard drive.

cfdisk /dev/sda
Arch Linux Install: Start Partitioning

Select the “GPT” label type and hit “Enter.”

Then select “Free Space” and hit “New” from the bottom menu. You can navigate the menu options using the “Tab” or arrow keys.

Arch Linux Install: Create Boot Partition

Type the partition size in MB (“512M“) and press the “Enter” key.

Set Boot Partition Size

With the “/dev/sda1” partition still selected, select “Type” from the bottom menu and choose “EFI System” partition type.

Set Boot Partition Type
Set Boot Partition Type

You’ve finished configuring the EFI System partition.

Boot Partition Successfully Created

5.2 Create Swap Partition

Now let’s create the Swap partition using the same procedure. Select “Free space” again and hit “New.”

Arch Linux Install: Create Swap Partition

Type the partition size in GB (“4G“) and press the “Enter” key.

Set Swap Partition Size

With the “/dev/sda2” partition still selected, select “Type” from the bottom menu and choose “Linux swap” partition type.

Set Swap Partition Type
Set Swap Partition Type

You’ve finished configuring the Swap partition.

Swap Partition Successfully Created

5.3 Create Root Partition

Finally, you must create the root (/) partition. Once again, select the remaining “Free space” and hit on “New.”

Arch Linux Install: Create Root Partition

For size, leave the default size value. This means all the remaining free space. Next, press the “Enter” key.

Set Root Partition Size

With the “/dev/sda3” partition still selected, select “Type” from the bottom menu and choose “Linux filesystem” partition type.

Root Partition Type
Set Root Partition Type

You’ve finished configuring the root partition.

Root Partition Successfully Created

5.3 Write Changes to Disk

Next, you need to save the changes made. Choose “Write” from the bottom menu and hit “Enter.”

Write Changes to Disk

Type “yes” and press the “Enter” key.

Confirm Writing Changes to Disk

We’re done here. Select “Quit” and press “Enter” to do so.

Exit cfdisk Partitioning Tool

6. Create File System

Now that your disk partitions are ready, it’s time to create the file system. But let’s first review the partition table summary by running the following:

fdisk -l
Disk /dev/sda: 20GiB, 21474836480 bytes, 41943040 sectors
Disk model: QEMU HARDDISK
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: 8F633EFF-376D-3C46-8540-4C1BB8EBD4B1

Device       Start      End  Sectors  Size  Type
/dev/sda1     2048  1050623  1048576  512M  EFI System
/dev/sda2  1050624  9439231  8388608    4G  Linux swap
/dev/sda3  9439232 41943006 32503775 15.5G  Linux filesystem

Disk /dev/loop0: 662.69 MiB, 694882304 bytes, 1357192 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes

The “/dev/sda” disk should have three partitions (“/dev/sda1,” “dev/sda2,” and “/dev/sda3“) similar to those shown above.

The creation of the partitions in the previous steps drew boundaries on the storage space offered by the hard drive and specified the type of space between each boundary line.

It is time to format the partitions with the required file systems. We must create three file systems here, so let’s begin.

For the EFI partition type, create a FAT32 file system.

mkfs.fat -F32 /dev/sda1

Prepare the swap partition:

mkswap /dev/sda2
swapon /dev/sda2

For the root partition, create an EXT4 file system:

mkfs.ext4 /dev/sda3

7. Install Arch Linux

First, sync the Pacman repository so that you can download and install any software:

pacman -Syy

We must mount the root partition (“/dev/sda3“) to the “/mnt” directory before we can perform any installation.

mount /dev/sda3 /mnt

With root mounted, it’s time to install all the necessary packages. Use the pacstrap command to install Arch Linux required packages.

pacstrap -K /mnt base linux linux-firmware sudo nano

It will take some time to download and install these packages. But now we can start configuring our system.

8. Configure the Installed Arch System

After the installation completes, generate a “/etc/fstab” file for your new Arch Linux system by issuing the following command:

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

Now that we have installed Arch Linux, we need to switch to the physically installed root partition using the arch-chroot command.

arch-chroot /mnt

Next, let’s configure the timezone. To find your timezone, you can list (ls -l) the contents of the “/usr/share/zoneinfo/” directory.

Find your preferred timezone (“/usr/share/zoneinfo/Zone/SubZone“) where “Zone/SubZone” is your selection, such as “America/New_York,” “Europe/Paris,” “Asia/Bangkok,” and so on. You got the idea.

Create a symbolic link to set the timezone (replace “America/New_York” with your timezone).

ln -sf /usr/share/zoneinfo/America/New_York /etc/localtime

Now we need to set up the locale. The file “/etc/locale.gen” contains locale settings and system languages and is commented on by default. We must open this file using a text editor and uncomment the line which contains the desired locale.

nano /etc/locale.gen

Uncomnent “en_US.UTF-8 UTF-8” and “en_US ISO-8859-1” (by removing the “#” sign), and any other needed locales in “/etc/locale.gen.” Then, press “Ctrl+O” followed by “Enter” to save, and finally, “Ctrl+X” to exit the editor.

Arch Linux Install: Setting Up Locales

Now generate the locale config file using the below commands one by one:

locale-gen

Run the command below to synchronize the hardware clock, automatically creating a “/etc/adjtime” file containing descriptive information about the hardware mode clock setting and clock drift factor.

hwclock --systohc

Create and set the “LANG” variable.

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

Now we will move ahead and set the hostname. A hostname is the computer’s name. So let’s name it, for example, “arch-pc.” Use the following command:

echo arch-pc > /etc/hostname

Add this name to the “/etc/hosts” file also. Edit the file with Nano editor and add the following lines (replace “arch-pc” with the hostname you chose earlier).

nano /etc/hosts
127.0.0.1      localhost
::1            localhost
127.0.1.1      arch-pc

Remember to set the password for the root account using the passwd command:

passwd

Type your password twice. Be attentive, as you will see nothing while typing.

9. Install GRUB Bootloader on Arch Linux

Now we install the boot loader for Arch to boot up after restart. The default boot loader for Linux distributions and Arch Linux also is represented by the GRUB package.

Install the GRUB bootloader and EFI boot manager packages:

pacman -S grub efibootmgr os-prober mtools

Then create the mount point for “/dev/sda1” and mount it.

mkdir /boot/efi
mount /dev/sda1 /boot/efi

Now let’s install our boot loader.

grub-install --target=x86_64-efi --bootloader-id=grub_uefi
Installing for x86_64-efi platform.
Installation finished. No error reported.

Finally, generate the “/boot/grub/grub.cfg” file.

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

10. Install a Desktop Environment on Arch Linux

Our Arch Linux currently contains only the essential software packages needed to manage the system from the command line, with no GUI (Graphical User Interface).

Arch Linux supports a wide range of desktop environments. I will install GNOME as a desktop environment example.

The first step is to install the X environment. Type the below command to install the Xorg as a display server.

pacman -S xorg-server xorg-apps

Then install an appropriate video driver.

Nvidia users:

pacman -S nvidia nvidia-utils

AMD / ATI users:

pacman -S xf86-video-ati

Intel users:

pacman -S xf86-video-intel

Now, you can install the GNOME desktop environment on Arch Linux using:

pacman -S gnome gnome-extra networkmanager

GNOME offers a choice of providers for the download. Select the appropriate provider for each prompt and press “Enter” to proceed. If you are unsure, press “Enter” to accept defaults.

Finally, enable the GDM display manager and Network Manager.

systemctl enable gdm
systemctl enable NetworkManager

11. Create a Regular User Account

The creation method for the user account will also automatically create the home directory for the user. In addition, we can give this account sudo privileges. Write your name instead of “linuxiac.”

useradd -m -G wheel linuxiac

Be sure to set a password for the new user:

passwd linuxiac

Next, enable sudo privileges for a newly created user:

EDITOR=nano visudo

Scroll down the screen and find the line:

# %wheel ALL=(ALL) ALL

Uncomment it by removing the # sign.

12. Arch Linux Installation is Done

Congratulations! We are done with our Arch Linux installation, so we will exit from the terminal, unmount the root partition mounted under “/mnt,” and reboot to our newly installed Arch Linux system.

exit
umount -R /mnt
reboot

The GRUB boot manager will greet you. Wait a few seconds or press “Enter” to start booting the operating system.

GRUB boot manager.

Then, you will be welcomed by GNOME’s GDM login manager. Click on the user you created earlier and enter its password to log in and enjoy your newly installed Arch Linux system.

Arch Linux Successfully Installed
Arch Linux running GNOME 44 desktop environment.

From this point, you can install what you want and configure your Arch Linux according to your needs and preferences. However, if you don’t feel confident about how to do it, don’t worry.

Our comprehensive “The Beginner’s Guide to Using Pacman on Arch Linux” guide will teach you everything you need to know.

Do not feel confident on the command line and prefer graphical applications? No problem – we’ve got you covered. Check out our “3 Best GUI Pacman Frontends for Arch Linux-Based Distributions” article.

Conclusion

So, this step-by-step Arch Linux how-to installation guide is over. I know it was long, but I have tried to cover all steps in brief and other additional things from scratch. You can accomplish it patiently and tell the world, “BTW, I use Arch.”

So, is Arch Linux hard to install? Not at all. It just looks lengthy for a new Linux user to install.

At the same time, it provides a great deal of learning. As you probably know, Arch Linux is a rolling-release distribution. This means you shouldn’t have to install it more than once for any system.

In addition, as an Arch user, the Arch Wiki will be a precious resource to you. It is so well-composed and maintained that even non-Arch users glean knowledge and solutions daily.

If you want to share your experience with the Arch installation process, please leave your comment below.

I have tried to make this tutorial as simple as possible. Thanks for using it!

Bobby Borisov

Bobby Borisov

Bobby, an editor-in-chief at Linuxiac, is a Linux professional with over 20 years of experience. With a strong focus on Linux and open-source software, he has worked as a Senior Linux System Administrator, Software Developer, and DevOps Engineer for small and large multinational companies.

Think You're an Ubuntu Expert? Let's Find Out!

Put your knowledge to the test in our lightning-fast Ubuntu quiz!
Ten questions to challenge yourself to see if you're a Linux legend or just a penguin in the making.

1 / 10

Ubuntu is an ancient African word that means:

2 / 10

Who is the Ubuntu's founder?

3 / 10

What year was the first official Ubuntu release?

4 / 10

What does the Ubuntu logo symbolize?

5 / 10

What package format does Ubuntu use for installing software?

6 / 10

When are Ubuntu's LTS versions released?

7 / 10

What is Unity?

8 / 10

What are Ubuntu versions named after?

9 / 10

What's Ubuntu Core?

10 / 10

Which Ubuntu version is Snap introduced?

The average score is 68%

49 Comments

      • Hi, thanks for your excelent tutorial! I have a question, when I run point 8 (genfstab -U /mnt >> /mnt/etc/fstab) , the fstab file does not included or added the /boot/efi partition, only swap and root partition. When I rebooted, it works perfectly but does not mount /boot/efi. It’s that ok or I needed to mount manually this partition to fstab file? Thanks

        • Hi Roberto,

          It’s OK and you should have no worries.
          If you mounted your EFI partition during installation, and set it to /boot/efi, it’s not going to be an issue.

        • The problem is that in this guide the efi partition is mounted after the creation of fstab file. We need to mount efi at the begining when mounting other partitions.

  1. A good beginners’ tutorial! You could probably have mentioned *how* to find your timezone, which in my case I knew was Europe/Berlin – but maybe others don’t know that?

    For dual boot (with Windows): I stopped after creating the EFI partition. If you install Windows first, it will install a 100MB EFI partition which would be usable (worked for me in a dual boot scenario for many years), but could be a bit small for more advanced stuff. After leaving the Arch installer, install Windows first, then make it smaller, then install Arch using the already created EFI partition (rest as you wrote).

    For triple boot (which is what I did): do the dual boot steps like above, but leave /make room and more partitions. The Arch installer will not automatically detect other installed Linux distributions, so I would:

    1. create that EFI partion like above
    2. install indows, then make it smaller with its own tools (disk manager)
    3. create more partitions with the Arch installer (I used separate swap and root for each)
    4. install Arch as described in this nice guide
    5. install your second Linux (in my case, Debian Bullseye) which will detect the already installed Arch and won’t touch it

    Cheers,
    Wolfgang

    • Hi Wolfgang,

      Thank you very much for your remarks. An explanation has been added especially for the time zones.

      You can use the os-prober command that lists other operating systems. It is used during installation and reconfiguration to create a GRUB boot menu that shows other installed OSes.

      Then just regenerate GRUB with:
      grub-mkconfig -o /boot/grub/grub.cfg

      Тhank you again for your valuable explanations!

      Best,
      Bobby

  2. Why this difficult way. Every newby will be shocked. Better use the live system and start the installation with GUI from there?

    • Hi Marcel,

      Arch doesn’t come with its own native GUI installer. Generally speaking, there is no such thing in Arch.

      Of course, Arch-based distros such as Manjaro or EndeavorOS, offer exactly what you’re talking about.

      Best,
      Bobby

  3. That was excellent, thank you. I’m a longtime Ubuntu and Linux Mint user and have always feared installing Arch. The only thing that would keep me from trying the steps in this tutorial is worrying how to keep my /home directory intact, which I have set up on a separate partition.

  4. I know that most people who in stall Arch want a minimal system or to control what is installed. However, Arch needs an install script or graphical installer that takes you through the install, and at the end of it you should have a working system where you have at least one user set up, and ALL of the system hardware is functional. Part of the install script or installer should let you install a GUI desktop of your choice and install it if you choose to.

    • I’m going to give you the benefit of the doubt here and assume this isn’t baiting the bear that is the Arch userbase, at least not deliberately.

      Arch does have an install script shipped with it nowadays; you can start it with ‘archinstall’. There are dozens of guides that can walk you through that script. There are, however, a lot of people who want to install it the hard way like this, to understand what is involved in an installation process and have full control over it. You absolutely can use the archinstall script and I wouldn’t hold it against you (though there are many who will). This guide is for the traditional, manual method and I’ve found it’s very useful for that.

  5. What a garbage and mystification of installation. This returns us to stone age…
    The best and simplest way is to download and run calam-arch-installer (from Surceforge) with all of this described in text above but with GUI way.
    Enjoy!

  6. Installing arch is not hard, just time consuming.

    Follow the wiki.
    Hit a problem.
    Follow the wiki.
    Hit a problem.
    Follow the wiki.

    Repeat until you can boot arch and your networking works.

    Then you can keep incrementally fixing it every time anything goes wrong by… following the wiki.

  7. I was thrilled to see a concise and short Arch Linux install; however, after installing (virtualbox) there’s no internet connection. Even though ping -c 3 did work during the initial setup, it’s lost when you chroot into the system. No network tools are installed! Bummer.

    • Hi Michael,

      Please make sure that you do not forget to execute the command mentioned in point 10:
      systemctl enable NetworkManager

      You can run the following commands after restarting the system to make the network connectivity automatically available:
      sudo systemctl start NetworkManager
      sudo systemctl enable NetworkManager

      To install the network tools so that they are available immediately after installation, you can perform during installation (while you are in a chroot environment):
      pacman -S net-tools

      Regards

      • Thank you! I cannot believe I missed network manager. Installation is now complete with internet. I’m not a big fan of Gnome. So, I chose xfce. Only problem is I cannot get a display manager to work. I tried Slim and it errors. I guess I need to configure a conf file. Thanks again!

    • Hi Dorian,

      In order to install KDE Plasma instead of GNOME, please use the command shown below:
      pacman -S plasma-meta plasma-wayland-session

      Once installed, enable SDDM (Simple Desktop Display Manager):
      systemctl enable sddm.service

      Best,
      Bobby

  8. Pretty good guide for installing Arch. Of course you could make your partitions with gparted from a live distro to make it a little easier.
    Beats me why folk are using the modern UEFI installation method and then installing old tech GRUB. The way to go is to use rEFind or EFISTUB or systemd-boot. Really folks this is 2021 not 1999 😉

  9. Hi,
    Thank you so much for your instruction. I think Archlinux is installed but I have a problem with archlinux login. I don’t know what are my username and password. I didn’t change them while installing and creating the account, I mean I used the same username and pass as you used here (linuxiac) but it doesn’t work. Would you please let me know what should I do now?
    Best,

    • Hi Zahra,

      Thank you for using this guide!

      Look again at the things described in step 11. With the line below you create the user account.
      useradd -m -G wheel linuxiac

      In this guide I’ve used ‘linuxiac’ for the username, but of course you can choose anything else you want, for example ‘john’.
      Next you need to set a password for the newly created user account:
      passwd john

      However, if you forgot to set a password during the installation process, but you created one for the user root (step 8), you can boot your newly installed Arch Linux system, switch to terminal mode ‘Ctrl+Alt+F3’, ‘Ctrl+Alt+F4’ etc, login as user root and set a password for your user:
      passwd linuxiac

      Replace ‘linuxiac’ with the username you chose to create during installation.

      Best,
      Bobby

      • Hi Bobby,
        Thank you so much for your response. It works. I have another question, I have found that I have made some mistakes during the installation process. Now I want to uninstall everything. Is there any command for uninstalling and deleting everything?
        Best,
        Zahra

        • Hi Zahra,

          Glad to help! 🙂 My best advice is just to delete the whole installation and do it again. It’s best to do it a few times on a virtual machine so you can gain the experience and confidence you need. From there on, you’ll do it with ease.

          Best,
          Bobby

          • Yes, I agree with you but how can I uninstall it completely? When I turn on the system, it asks me about my login information, and then there is nothing except [root@archlinux ~]# which is waiting for entering something. Is there any command line that can do the installation?

            Best,
            Zahra

  10. Hi Bobby,
    Of course arch linux is very deferent distu.
    but i had viewed a lot of tutorials for it even videos and i can say here is a very simple and pointed tutorial.
    anyway thank you bro and really i appreciate your efforts.
    have a good time.

  11. Hi Bobby!
    Hi everyone!

    Great tutorial, thanks for this effort.
    I have been following but I’m stuck in point 9:

    # grub-install –target=x86_64-efi –bootloader-id=grub_uefi

    The expected output is not showing up, instead I get this:

    Installing for x86_64-efi platform.
    EFI variables are not supported on this system.
    EFI variables are not supported on this system.
    grub-install: error: efibootmgr failed to register the boot entry: No Such file or directory.

    ** I’m installing the system natively on a macbook pro 13″ mid 2012
    ** The only different thing I did from this tutorial was the installation of the linux kernel in point 7:

    # pacstrap /mnt base linux linux-firmware sudo nano

    for linux-lts kernel:
    # pacstrap /mnt base linux-lts linux-firmware sudo nano

    I need some help to solve this.
    Thanks in advance.

    • Hi,

      Looks like the efivarfs kernel module was not loaded.
      If you are chrooted in to your new install, exit out, and then try to enable efivarfs:
      modprobe efivarfs
      and then chroot back in:
      arch-chroot /mnt

      Once you back in, test again:
      efivar-tester

      This will no longer report an error, and you can install grub the same way you did before:
      grub-install –target=x86_64-efi –bootloader-id=grub_uefi

      • Hi!
        I finally solved it.
        Like I said before, I was installing ArchLinux natively via usb drive.
        The instruction I needed was the next one:

        grub-install –target=x86_64-efi –bootloader-id=GRUB –efi-directory=/boot/efi –no-nvram –removable

        That was all. The last part of configurations occurred normally.

        Thanks!

  12. Hi again.
    I have installed successfully archlinux following this tutorial before.

    I am installing it again in other pc but now the process is not going well this time, actually I repeated the full process twice.

    In the point 8 (genfstab) is not genereting the expected output… I have created the partitions exactly like this guide suggest and when the /mnt/etc/fstab is generated it only shows /dev/sda3 (ext4) and /dev/sda2 (root and swap respectivly) but not /dev/sda1 (-F32, for boot)…

    the fstab file shows the UUID of those partitions. When I run the command blkidI can see that /dev/sda2 and /dev/sda3 have normal UUID tags but /dev/sda1 has a short one (/dev/sda1 UUID=”61D6-B9f7″) while the other two UUID are a larger UUID… Could this be the problem?

    Did I missing something?
    What can be causing this?
    Thanks.

  13. I was successful creating a proxmox archlinux vm with uefi following these instructions. Set bios to OVMF (UEFI) and create a EFI disk in the VM settings. Once you are done following these instructions issue “poweroff” instead of “reboot” and remove the iso installation media and start the VM. It should boot from newly created grub efi partition.

  14. The enabling EFI in VM is very important step. I tried to install Arch several times and each time I used to get stuck at the GRUB install menu. Since I was using and KVM in Gnome called Boxes ( which does not have and advanced mode) I was not able to enable that feature. Thus I would always get stuck. Finally I tried install arch linux in Virtual Box and it worked. If you must use Boxes or if you don’ want to enable efi then you can use some other bootloader like LILO to boot your system which woks fine.

  15. Hi Bobby, Thanks for the excellent explanation very detailed and nicely done with pictures. I wonder if you have faced this is issue where after installing gnome when I finally rebooted everything was fine except one thing. I could not open any programs. I kept trying to open “terminal” and it didn’t work.

    Secondly, if I say install XFCE or KDE instead of Gnome should i install a login manager, separately ? I did no see you installing any, login manager with GNOME

  16. Just wondering if there’s a printer friendly arc Linux how to with just text so I can print it ahead of time and install

  17. “EFI variables are not supported on this system.
    EFI variables are not supported on this system.
    grub-install: error: efibootmgr failed to register the boot entry: No Such file or directory.”

    if you have this error and you are installing Arch on vmware workstation you need to this:
    – first shutdown the VM
    – then open .vmx file and add this to file: firmware=”efi” .

  18. Thanks for the great article, Bobby.

    I tried using it to install Arch Linux in a virtual machine. It worked perfectly until the end when I realized my virtual machine was not set up to do UEFI boots. Have you (or could you) publish any similar instructions for installing Arch Linux to start from a non-UEFI boot?

  19. Your set-by-step guide was flawless. I appreciate the work that went into it.
    You would not believe how many instruction posts end with disaster after spending 30 minutes following it.
    Yours work like a charm, and that deserves this comment. Thanks !
    Paul

    • Hey Paul,

      Your comment made my day! 🙂
      Thank you very much for sharing your opinion. I’m glad you found the guide helpful.

      Best,
      Bobby

  20. Just did the full install per your instructions. Took about 1 1/2 hours I would say (that is with a few breaks.) Had no real issues and I am now logged in and downloading neovim to it. Thank you!

Leave a Reply

Your email address will not be published. Required fields are marked *