How to create bootable USB drive for Arch Linux

We will create a bootable installation media of Arch Linux that will be used for installing Arch on our machines. We need a working machine running macOS, Linux or Windows to create the bootable USB drive of Arch Linux.

First, download the latest ISO of Arch Linux.

Then insert the USB drive that you want to use as installation media into your system. Depending on the operating system, there are different ways to create the bootable USB drive of Linux.

Create Arch Linux bootable USB drive using Linux

If you are running Linux based distribution on your system, then we will do it command line way.

Find the block device name of the USB drive with the ‘lsblk’ command.


[Tip: In the output you can easily identify the USB drive by looking at the storage capacity. If you still can’t figure out which one is it, unplug the drive and run the ‘lsblk’ command. Now plug the drive and run the command again. Compare the output of the commands, with and without USB drive plugged in, the new device that popped up after plugging in the USB drive is your device ;-)]

Now we will write the Arch Linux iso image to the USB drive using the DD command:

sudo dd if=/arch_.iso of=/usb_drive bs=1M

Replace ‘arch_.iso’ with the actual path of the downloaded Arch Linux iso file and ‘usb_drive’ with the block device name.


sudo dd if=/home/swapnil/Download/archlinux-2016.12.01-dual.iso of=/dev/sde bs=1M

Create Arch Linux bootable USB drive using macOS

macOS is pure UNIX, so you can use the Terminal to create the bootable drive of Arch Linux. Plug in the USB drive, open the Terminal app and use ‘diskutil’ command to find the USB drive:

diskutil list

As I explained earlier, you can easily identify the the USB drive by looking at the storage capacity in the output of the above command. If you still can’t figure out which one is it, unplug the drive and run the ‘diskutil list’ command. Now plug the drive and run the command again. Compare the output of the commands, with and without USB drive plugged in, the new device that popped up after plugging in the USB drive is your device 😉

On macOS, a 4GB USB Flash drive will look like this:

/dev/disk3 (external, physical):
0: Apple_partition_scheme *4.0 GB disk3
1: Apple_partition_map 4.1 KB disk3s1
2: Apple_HFS 2.5 MB disk3s2

Now unmount the drive:

diskutil umountDisk /dev/disk3

Then use the ‘dd’ command to write the Arch Linux iso to the drive:
sudo dd if=/arch-dual.iso of=USB_drive bs=1m


sudo dd if=/Users/swapnil/Downloads/arch-dual.iso of=/dev/disk3 bs=1m

[Note: If you are running Windows 10, you can use Win32 Disk Imager or any such tool to create the bootble drive of Arch Linux.]

Once the ISO has been successfully written to the USB Flash drive, edit the BIOS settings of the target computer (where you will be installing Arch Linux) and configure it to boot from the removable drive. If your system has secure boot, please disable it. Arch Linux supports for UEFI and legacy BIOS mode. In this tutorial I will cover booting from both UEFI and legacy BIOS.

Plug your bootable Arch Linux USB Flash drive into the target PC and boot it. If everything does well, you should boot into Arch Linux boot screen. Choose ‘Boot Arch Linux (x86_64)’ from the list. It will open a command line interface.

We will be downloading all packages from the Internet to install our system. We need working network so we can connect to the Internet. If you have Ethernet cable, I will recommend using it to eliminate the complexity of setting up the wireless network. If you don’t have a wired connection, read up. Just one caveat: I am assuming that your system has well supported wireless card; otherwise you will have to install drivers manually and covering all of those is beyond the scope of this article.

Let’s run ‘ifconfig’ or ‘ip link’ command that will list all network devices.
# ip link

Note down the name of the device you want to use. Wired devices will start with something like ‘en’ whereas wireless devices will start with ‘wl’. In my case wired device was ‘enp0s3’ and wireless devices was ‘wlp2s0’.

Run the following command to set-up the wireless device (replace wlp2s0 with the name of your wireless devices)

# wifi-menu -o wlp2s0

Use arrow keys on your keyboard to select the wireless network you want to connect to and click OK (tip: mouse won’t work in the command line, hit enter or use the ‘Tab’ key to highlight the ‘Ok’ button and hit enter).

The next window will give you the option to change the name, leave it as it is. Enter the wireless password in the third window. You should be connected. Let’s ping Google to see if we are connected:

# ping  -c 3

If you get output, congrats you are connected. It’s time to proceed.

  • Mark Hewitt

    Is the line “arch-chroot /mnt/bin/bash” meant to have a space? i.e. “arch-chroot /mnt /bin/bash”

    • Swapnil Bhartiya

      arch-chroot /mnt

      Thanks. Corrected.

  • Mark

    Once chroot-ed, the system does not find nano – says bash: nano: command not found

    • Swapnil Bhartiya

      How did you chroot?

      • Mark

        As you have it on the web page, but with the error (below) corrected, so “arch-chroot /mnt /bin/bash” grateful for any help. thanks,

        • Swapnil Bhartiya


          arch-chroot /mnt

  • Ken Golden

    Thanks for a great guide!

  • Robert Fairbairn

    The instruction “pacman -S iw wpa_supplicant dialog” fails because I an offline, not having configured a wireless network after booting into the new installation. Wifi-menu won’t run without dialog. Would plug in wired but no port on this computer so any suggestions? Other than rebuild install profile adding dialog and start over?

    • bhartiyarules2017

      Thanks. I have edited the article and added the command to install it before they reboot. However, you can plug in the arch USB, chroot again and install from it. You don’t have to reinstall Arch. If you need help, ping me on Google+ or Twitter and I will assist.

  • ptrkjaneg

    Hi @arnieswap:disqus I followed your GREAT guide and I had only a small problem. systemd network manager service was disabled (or not enabled). Not a big problem (for an almost advanced user), but maybe you can add a line in the guide in order to active it for beginners users. I don’t know if is only a problema occurred on my pc, but it has happend.

    • Swapnil Bhartiya

      I will do a revision and add it there. Thanks.

  • Adam Jarosz

    “mkpart part-type fs-type start end” === “fs-type invalid token”

    • Swapnil Bhartiya

      That’s just example: replace it with actual values.

  • fintara

    Could you put clickable table of contents, would be helpful 🙂 Thanks for the article!

  • netdesk

    Hi Swapnil! Your article is always a starting point for my Arch installations. Thanks for the great work! I stuffed things together some time ago in a couple of scripts on github, just wanted to let you know about them:


  • Guy Abeho

    Thank you for the amount of effort you put into this article. After 2 days struggling to get it work, i finally got arch to install thanks to this article

  • Scott

    I followed all your directions exactly and am having an issue. Once I finish everything and reboot, the ssd on which I installed arch is not recognized as bootable and I go right to BIOS. Know why that would be and how to solve that? Thanks!

    • Swapnil Bhartiya

      Ok. Use the bootable USB drive that you used to install Arch and Chroot into the new installation and then check with parted if you marked the device as bootable.

      • Swapnil Bhartiya

        Also is it a legacy BIOS or UEFI system?

        • Scott

          UEFI. i checked and motherboard is UEFI. It’s MSI H110 Gaming. How do I check if it’s bootable? I remember seeing “boot” flag during the process if that’s what you’re talking about

  • Why did you only include Gnome when talking about desktop managers? Also, maybe you could include a window manager or 2 as well?

    • Swapnil Bhartiya

      I will add.

  • Sunny B

    After shutting down the system as mentioned on page 9, I cannot login after removing the USB stick.

  • Dustojnik Hummer

    My installation says “group additional_groups” does not exist. This is my first time installing Arch,what am I doing wrong?

    —Nevermind,Im dumb.

  • great article! 😀

  • xargsgrep

    Can you also add steps for setting up xfce & lightdm and any other things that might be needed like network manager, alsa, pulseaudio, etc?

    Also, if I want to be able to use both wireless and ethernet should I keep dhcpcd enabled?

  • Dallin Hunter

    Mr Bhartiya, thank you very much for making this guide. I’ve been looking for a good tutorial to get into Arch, and you’ve done a great job here.

  • Tutorial is fantastic mate. Thanks for adding the extra information for wifi installs too, they got me stuck the last time I tried to install.

  • Ankur Dubey

    Great Guide ! Could you please add instructions to setup bumblebee for laptops with two graphics processors ? It’s always been a pain to setup my NVIDIA card in Ubuntu/Mint(always end up messing XServer) so I thought setting up from the ground using Arch could maybe solve the issue.

  • Pingback: Always updated Arch Linux tutorial – Bhartiya… – DevOps Infographics Resource Center – Programming and IT()

  • Konstantin Lyovin

    Hi Swapnil,
    I have to say I’ve used your Linuxveda manual several times and it hasn’t failed me, but this one might need a correction.
    There could be a mistake in the EFI partition mountpoint. Shouldn’t it be /boot/efi as seen e.g. in the latest Fedora 25?

    P.S. I totally love ArchLinux and it’s been on my SSD for a couple years, but now the SSD is starting to die and I’ve installed Manjaro to an HDD from a live CD. What a mess of unnecessary software. 🙁

  • HenryV

    I came here because I am looking for a 32-bit distro for a much loved faithful but now resting Samsung NC10. I never thought now is my opportunity to try an Arch build of my own. Thanks.

    • Argih

      The 32 bit version of the distro is not supported anymore by the devs

      • HenryV

        Oh. 🙁

        Thanks for replying. I will find something I am sure.

  • Argih

    Thanks for the article, only one thing

    I’m doing a probe in a virtual machine with EFI capabilities, i can find the directory as is recomended in the Arch wiki

    I done every step folowing your instructions but after rebooting for the first time i always got this screen

    I actually tried 2 times but i can not advance after instaling grub

  • MarcoGB

    It’s a nice guide but you should also link the Arch wiki guide so people can follow both during install.

    And you also need to update it to replace xf86-input-synaptics with libinput. xf86-input-synaptics is no longer updated.

  • Jon

    xorg-server-utils is down, replace with xorg-apps

  • NewToArch

    I appreciate this tutorial, but it only got me 99% there. I couldn’t get GDM to load, would just freeze at a black screen.

    Took me hours to figure out the issue 🙁

    For anyone else stuck at starting Gnome/GDM – are you using a virtualbox?? If so, you need to install virtual box drivers for video rather than your graphics card drivers.

    Below is what you need to do install gnome. Note the different xorg packages I installed as well. xorg-server-utils no longer exists either, i replace with -common

    pacman -S xorg-server xorg-xinit xorg-server-common

    pacman -S linux-headers
    pacman -S virtualbox-guest-utils

    nano /etc/modules-load.d/virtualbox.conf
    “In Nano add the 3 lines below and save and close”

    systemctl enable vboxservice.service

    pacman -S gnome gnome-extra
    systemctl enable gdm.service

    Swapnil, thanks for the tutorial you put together. Hope this comment helps some people that are stuck.