Linux Notice App

Repairing GRUB via Live CD



 

Repairing GRUB via Live CD (Universal Guide)

Whether you are using openSUSE, Arch Linux, Debian, or Ubuntu, a broken GRUB or a small EFI partition can prevent your system from booting. The most reliable fix is to reinstall the bootloader from a Live CD environment.

1. Identify Partitions

Boot into your Live ISO (Arch/EndeavourOS recommended for arch-chroot) and identify your disks:

  • EFI Partition: /dev/nvme0n1p1 (Example)
  • Root Partition: /dev/nvme0n1p3 (Example)

2. Mount the System

Mount the partitions in the correct order:

# 1. Mount Root
mount /dev/nvme0n1p3 /mnt

# 2. Mount EFI
mkdir -p /mnt/boot/efi
mount /dev/nvme0n1p1 /mnt/boot/efi

3. Prepare for Chroot

Copy DNS settings and mount firmware variables:

cp /etc/resolv.conf /mnt/etc/resolv.conf
mount -t efivarfs efivarfs /sys/firmware/efi/efivars

4. Enter the System

arch-chroot /mnt
Note: If you are not using an Arch-based ISO, you must manually mount /dev, /proc, and /sys before chrooting.

5. Reinstall GRUB (Select Your Distro)

Commands differ slightly between distributions. Select yours below:

Step 1: Clean EFI (Optional but recommended for small partitions)

rm -rf /boot/efi/EFI/opensuse

Step 2: Install GRUB

grub2-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=opensuse --recheck

Step 3: Generate Config

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

Step 4: Fix Zypp Config (Prevent Overflow)
Edit /etc/zypp/zypp.conf and ensure:

multiversion.kernels = latest,latest-1

Step 1: Install Packages (if missing)

pacman -S grub efibootmgr

Step 2: Install GRUB

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

Step 3: Generate Config

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

Step 1: Update & Install

apt update
apt install grub-efi efibootmgr

Step 2: Install GRUB

# Change 'ubuntu' to 'debian' if needed
grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=ubuntu --recheck

Step 3: Update Config

update-grub

6. Finish

exit
reboot

Live CD ile GRUB Onarımı (Tüm Dağıtımlar)

İster openSUSE, ister Arch Linux, ister Ubuntu kullanıyor olun; bozuk bir GRUB veya dolmuş bir EFI bölümü sistemin açılmasını engelleyebilir. En güvenilir çözüm, canlı bir CD (Live ISO) ortamından önyükleyiciyi yeniden kurmaktır.

1. Disklerin Tespiti

Canlı ISO (arch-chroot kolaylığı için Arch/EndeavourOS önerilir) ile sisteminizi açın ve disklerinizi belirleyin:

  • EFI Bölümü: /dev/nvme0n1p1 (Örnek)
  • Kök Bölümü: /dev/nvme0n1p3 (Örnek)

2. Bölümleri Bağlama

Bölümleri doğru sırayla bağlamak kritiktir:

# 1. Kök Dizini Bağla
mount /dev/nvme0n1p3 /mnt

# 2. EFI Bölümünü Bağla
mkdir -p /mnt/boot/efi
mount /dev/nvme0n1p1 /mnt/boot/efi

3. Hazırlık

İnternet ve firmware ayarlarını içeri aktarın:

cp /etc/resolv.conf /mnt/etc/resolv.conf
mount -t efivarfs efivarfs /sys/firmware/efi/efivars

4. Sisteme Giriş

arch-chroot /mnt
Not: Eğer Arch tabanlı olmayan standart bir Ubuntu/Debian CD'si kullanıyorsanız, chroot yapmadan önce /dev, /proc ve /sys dizinlerini manuel bağlamanız gerekir.

5. GRUB Kurulumu (Dağıtımınızı Seçin)

Komutlar dağıtıma göre değişir. Aşağıdan kullandığınız sistemi seçin:

Adım 1: EFI Temizliği (Küçük bölümler için önerilir)

rm -rf /boot/efi/EFI/opensuse

Adım 2: GRUB Kurulumu

grub2-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=opensuse --recheck

Adım 3: Ayarları İşleme

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

Adım 4: Zypp Ayarı (EFI Dolmasını Önle)
/etc/zypp/zypp.conf dosyasını düzenleyin:

multiversion.kernels = latest,latest-1

Adım 1: Paket Kontrolü

pacman -S grub efibootmgr

Adım 2: GRUB Kurulumu

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

Adım 3: Ayarları İşleme

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

Adım 1: Paketleri Güncelle

apt update
apt install grub-efi efibootmgr

Adım 2: GRUB Kurulumu

# Ubuntu kullanıyorsanız 'ubuntu', Debian ise 'debian' yazın
grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=ubuntu --recheck

Adım 3: Ayarları İşleme

update-grub

6. Çıkış ve Yeniden Başlatma

exit
reboot

No comments

Powered by Blogger.