Recovering an Unbootable Arch Linux System with arch‑chroot from a Live ISO
Learn how to repair an unbootable Arch Linux system by using a live ISO and arch‑chroot. Follow a step‑by‑step guide that covers mounting, chrooting, updating the kernel, fixing the bootloader, and verifying a successful boot.
13 Aug 2025, 21:28 UTC

Desired Outcome
Restore a bootable Arch Linux installation that has become unbootable due to a corrupted bootloader, missing initramfs, or mis‑configured /etc/fstab. The goal is to enter the installed system from a live environment, perform targeted repairs, and return to a working boot state.
Prerequisites
- Bootable Arch Linux live ISO (matching the installed system’s architecture, e.g.,
x86_64) on USB or CD. - Physical access to the machine and a keyboard/mouse/monitor.
- Knowledge of the disk layout: root,
/boot, and EFI System Partition (ESP) if UEFI is used. - Network connectivity from the live environment if package updates are required.
- Root privileges in the live session.
Focused Procedure
- Boot the Live Environment
# Boot from the USB/CD and choose "Boot Arch Linux (x86_64)". # Once the live shell appears, you should be root. - Identify the Partitions
# List all block devices with filesystem info lsblk -f # Or use fdisk for a more detailed view fdisk -lNote the device names for the root partition (e.g.,
/dev/sda2), the ESP (e.g.,/dev/sda1), and any separate/bootpartition (e.g.,/dev/sda3). If LUKS or LVM is in use, unlock or activate them first. - Unlock Encrypted Volumes (if applicable)
# For LUKS cryptsetup luksOpen /dev/sda2 cryptroot # For LVM vgchange -ay - Mount the Filesystems
# Mount the root filesystem mount /dev/sda2 /mnt # If you have a separate /boot mount /dev/sda3 /mnt/boot # If UEFI, mount the ESP mount /dev/sda1 /mnt/boot/efiConfirm the mounts with
ls /mntandls /mnt/boot. - Bind Mount System Directories
arch-chroot handles this automatically, but you can do it manually for clarity:
for dir in /dev /proc /sys /run; do mount --bind $dir /mnt$dir; done - Enter the Installed System
arch-chroot /mnt /bin/bash # You are now in the installed system’s environment.Verify that you can run
pacman -Qewithout errors and that/etc/fstabis readable. - Perform Targeted Repairs
- Update the System
pacman -Syu - Reinstall the Kernel and Initramfs
# Replacelinuxwith the kernel you use (linux, linux-lts, linux-zen, etc.) pacman -S linux linux-firmware mkinitcpio -P - Reinstall or Update the Bootloader
# For systemd-boot (UEFI) bootctl update # For GRUB (BIOS or UEFI) grub-install /dev/sda grub-mkconfig -o /boot/grub/grub.cfg - Check and Fix
/etc/fstabEnsure UUIDs match the current partitions. Use
blkidto confirm and edit if needed.
- Update the System
- Exit the Chroot and Unmount
exit for dir in /run /sys /proc /dev; do umount /mnt$dir; done umount /mnt/boot/efi umount /mnt/boot umount /mnt - Reboot
rebootObserve the boot sequence. If it reaches a login prompt or display manager, the repair succeeded.
Expected Checks
- After reboot, run
journalctl -b | grep -i errorto confirm no critical boot failures. - Confirm that the kernel version matches the installed packages:
uname -r. - Verify that
systemctl status systemd-boot(orgrub) reports active. - Check that all filesystems listed in
/etc/fstabmount correctly:mount -ainside the system.
Recovery Options If the First Attempt Fails
- Re‑run the live environment, double‑check partition UUIDs, and ensure no hidden LVM or RAID layers were missed.
- Reinstall the bootloader from scratch: remove
systemd-bootorgrubpackages and reinstall them. - Restore
/etc/fstaband/bootfrom a recent backup or from the installer’s/etc/fstabtemplate. - If the root filesystem is severely corrupted, consider reinstalling the
baseandlinuxpackages while preserving/homeand other data partitions.
Limitations and Practical Checks
- All commands assume the live ISO architecture matches the installed system. Using a mismatched ISO (e.g.,
arminstead ofx86_64) will fail. - Mounting the wrong partition can overwrite data. Always verify device names with
lsblkbefore mounting. - Network access is required only if
pacmanneeds to fetch new packages. If the system is offline, skip the update step. - After each major change, test the boot by rebooting before proceeding to the next step.
Concrete Example
Assume a UEFI system with the following layout:
| Mount Point | Device |
|---|---|
| root (/) | /dev/sda2 |
| /boot | /dev/sda3 |
| /boot/efi | /dev/sda1 |
Following the procedure above, the commands would be:
# Mount root
mount /dev/sda2 /mnt
# Mount boot and ESP
mount /dev/sda3 /mnt/boot
mount /dev/sda1 /mnt/boot/efi
# Enter chroot
arch-chroot /mnt /bin/bash
# Reinstall kernel
pacman -S linux linux-firmware
mkinitcpio -P
# Update systemd-boot
bootctl update
# Exit and reboot
exit
umount -R /mnt
reboot
After reboot, the system should boot normally.
0 replies
A thoughtful contribution can make all the difference. Be the first to share one.