How to Install Arch Linux in BIOS (Legacy) Mode
Categories:
5 minute read
Installing Arch Linux can be a rewarding experience for those who want full control over their operating system setup. Unlike most Linux distributions, Arch follows a minimalist philosophy that lets users build their system from the ground up. If you’re installing Arch on an older machine or prefer the traditional boot mechanism, you’ll likely need to install it in BIOS (Legacy) mode rather than UEFI.
This guide will walk you through the process of installing Arch Linux in BIOS mode, from preparing your installation media to booting into your new system.
Table of Contents
- Table of Contents
- Prerequisites
- Create the Installation Media
- Booting into the Arch ISO (BIOS Mode)
- Verify Internet Connection
- Update the System Clock
- Partition the Disk (MBR Scheme)
- Format and Mount the Partitions
- Install Essential Packages
- Configure the System
- Install and Configure the Bootloader (GRUB)
- Exit and Reboot
- Post-Installation Recommendations
- Conclusion
Prerequisites
Before starting, make sure you have:
- A system that supports BIOS/Legacy boot.
- A USB drive (at least 2 GB) for installation media.
- Stable internet connection (Ethernet or Wi-Fi).
- Basic knowledge of Linux command-line usage.
If you are switching from a UEFI setup, you might need to disable Secure Boot and enable Legacy/CSM Boot Mode in your BIOS/firmware settings.
Create the Installation Media
Download the Arch ISO
Get the latest Arch Linux ISO from the official website:
https://archlinux.org/download/Burn the ISO to a USB drive
Use a tool likedd
on Linux:sudo dd bs=4M if=archlinux-*.iso of=/dev/sdX status=progress oflag=sync
Replace
/dev/sdX
with your USB device (not a partition like/dev/sdX1
).On Windows, you can use Rufus and select MBR partition scheme and BIOS (or UEFI-CSM) target system.
Booting into the Arch ISO (BIOS Mode)
- Insert the USB stick and reboot the machine.
- Enter the BIOS/firmware setup (usually by pressing DEL, F2, or F10).
- Ensure Legacy Boot or CSM is enabled and UEFI is disabled.
- Choose your USB drive from the BIOS boot menu.
- At the Arch boot screen, select the first option:
Arch Linux install medium
.
You’re now inside the live Arch Linux environment.
Verify Internet Connection
Ethernet
Plug in a cable and test connectivity:
ping archlinux.org
Wi-Fi
Use iwctl
to connect:
iwctl
Inside iwctl
:
station wlan0 scan
station wlan0 get-networks
station wlan0 connect YourNetworkName
Once connected:
exit # to leave iwctl
ping archlinux.org
Update the System Clock
Make sure the system clock is accurate:
timedatectl set-ntp true
Check status:
timedatectl status
Partition the Disk (MBR Scheme)
We’ll use fdisk
to create an MBR partition layout. For BIOS mode, you do not need an EFI System Partition.
fdisk /dev/sda
Sample setup:
- Delete existing partitions (
d
) - Create a new primary partition for root (
n
,p
,1
) - (Optional) Create a second partition for swap (
n
,p
,2
) - Write changes (
w
)
Format and Mount the Partitions
Format root partition
mkfs.ext4 /dev/sda1
(Optional) Set up swap
mkswap /dev/sda2
swapon /dev/sda2
Mount root partition
mount /dev/sda1 /mnt
Install Essential Packages
Now install the base system:
pacstrap /mnt base linux linux-firmware vim nano networkmanager
base
- core systemlinux
- kernellinux-firmware
- device firmwarenetworkmanager
- easier post-install networking
Configure the System
Generate fstab
genfstab -U /mnt >> /mnt/etc/fstab
Change root into the new system
arch-chroot /mnt
Set time zone
ln -sf /usr/share/zoneinfo/Region/City /etc/localtime
hwclock --systohc
Example for Berlin:
ln -sf /usr/share/zoneinfo/Europe/Berlin /etc/localtime
Localization
Uncomment your locale in /etc/locale.gen
, e.g., en_US.UTF-8 UTF-8
nano /etc/locale.gen
locale-gen
Set locale:
echo "LANG=en_US.UTF-8" > /etc/locale.conf
Set hostname
echo "archbox" > /etc/hostname
Configure hosts
file
cat <<EOF > /etc/hosts
127.0.0.1 localhost
::1 localhost
127.0.1.1 archbox.localdomain archbox
EOF
Set root password
passwd
Install and Configure the Bootloader (GRUB)
First, install GRUB and BIOS boot support:
pacman -S grub
Install GRUB to the MBR of your disk:
grub-install --target=i386-pc /dev/sda
Generate the GRUB config:
grub-mkconfig -o /boot/grub/grub.cfg
Exit and Reboot
- Exit chroot:
exit
- Unmount partitions:
umount -R /mnt
- Reboot:
reboot
Remove the installation media when prompted.
Post-Installation Recommendations
Once the system boots into your new Arch installation, you may want to perform some additional tasks:
Enable Networking
Enable NetworkManager
so that it starts automatically:
systemctl enable NetworkManager
Reboot or start it manually:
systemctl start NetworkManager
Create a Regular User
It’s good practice not to use root as your main user.
useradd -m -G wheel -s /bin/bash alice
passwd alice
Give the user sudo privileges by uncommenting the %wheel
line in:
EDITOR=nano visudo
Install Essential Tools
pacman -S sudo git base-devel bash-completion
Graphical Interface (Optional)
If you want a desktop environment (like XFCE, GNOME, or KDE), install X and a display manager:
pacman -S xorg xorg-xinit xfce4 lightdm lightdm-gtk-greeter
systemctl enable lightdm
Conclusion
Installing Arch Linux in BIOS (Legacy) mode gives you a deep understanding of how Linux works from the inside out. By manually partitioning the disk, setting up filesystems, and configuring the bootloader, you gain precise control over every part of the OS. While Arch has a learning curve, it rewards you with speed, minimalism, and a fully customized system that’s truly yours.
If you’re ready to dive deeper, the Arch Wiki is your best companion for mastering and maintaining your installation.
Feedback
Was this page helpful?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.