My Arch Linux won’t start anymore!

From time to time I have the unpleasant surprise of seeing my system no longer boot as expected (return to BIOS before reaching GRUB or an initram error after GRUB). These errors are often caused by a shutdown of the system during an update, but rest assured it is fixable!

Material required

To repair your startup you will need a USB key with a live iso of Arch Linux. This live iso will allow us to boot to a system so that we can initialize the repair process. You will therefore need to boot from this USB key from your BIOS before starting the repair steps.

Startup Repair

The first step is to find the partition that contains your Linux system and the EFI boot partition. For this we will use fdisk.

fdisk -l

We will look for the name of the “Linux system information” and “EFI” partitions, in my case these 2 partitions are on the same disk but you will have to adapt according to your system.

fdisk -l return example

The next step is to mount the partitions on our temporary system

mount /dev/PARTITION_LINUX /mnt
mount /dev/PARTITION_EFI /mnt/boot/efi

We can then define /mnt as the root of our system using arch-chroot which is available with the LiveCD.

arch-chroot /mnt

Your shell should change to telling you that you are “root”. From there, we can start the repair, starting by rebuilding the ramdisk with mkinitcpio

mkinitcpio -p linux

Next, we will rebuild the configuration for GRUB via grub-mkconfig.

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

And we re-install the GRUB on the EFI partition.

grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=Archlinux

Finally, we can unmount the partitions

exit
umount -a

All you have to do is reboot and your system should reboot again!