Low Orbit Flux Logo 2 F

Recover a Non-Booting Linux System Due to a Corrupted Kernel or GRUB

Prep for recovery, mount FS, chroot:



lsblk



sudo mount /dev/sda3 /mnt                  # mount root
sudo mount /dev/sda1 /mnt/boot             # mout /boot ( if separate )
sudo mount /dev/sda1 /mnt/boot/efi         # mount EFI partition if UEFI system


Mount system directories and chroot:


sudo mount --bind /dev /mnt/dev
sudo mount --bind /proc /mnt/proc
sudo mount --bind /sys /mnt/sys
sudo mount --bind /run /mnt/run

sudo chroot /mnt

Fix Kernel

Debian / Ubuntu:



apt update
apt reinstall linux-image-generic     # re-install kernel
apt install linux-image-xxxx          # install specific version

Arch:



pacman -S linux            # install kernel
pacman -S linux-lts        # install long term support version of kernel

RHEL / Fedora



dnf reinstall kernel     # re-install kernel

Fix Bootloader

Fix Grub:



grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=GRUB
grub-mkconfig -o /boot/grub/grub.cfg

Fix systemd-boot:



bootctl install

Fix initramfs



update-initramfs -u    # Ubuntu/Debian
mkinitcpio -P          # Arch Linux

RHEL / Fedora:



sudo dracut --force                                             # for current kernel, force to overwrite existing image
sudo dracut --force /boot/initramfs-$(uname -r).img $(uname -r) # also for current kernel
sudo dracut --force --hostonly --add systemd                    # for systemd-boot