Perbaikan Otomatis GRUB Bootloader

Menghidupkan kembali sistem Linux yang mati suri hanya dengan satu skrip ajaib, tanpa pusing mengetik ulang perintah chroot yang rumit.

Pernahkah kamu menyalakan laptop dengan penuh semangat, namun alih-alih disuguhi logo sistem operasi yang familiar, kamu justru diadang oleh layar hitam dengan tulisan peringatan "grub rescue>"? Rasanya umumnya seperti ditinggal pas lagi sayang-sayangnya, jengkel dan membuat panik. Hasil dapat berbeda tergantung perangkat, versi paket, dan konfigurasi sistem. Ini adalah gejala klasik dari GRUB Bootloader yang rusak, sebuah masalah yang sering kali menimpa pengguna sistem operasi Debian, Ubuntu, maupun para penggiat sistem operasi dual boot.

Tangkapan layar terminal Linux yang sedang menjalankan proses eksekusi skrip perbaikan GRUB secara otomatis

Proses terminal saat skrip perbaikan GRUB otomatis sedang mengambil alih sistem untuk melakukan perbaikan.

Akar masalah ini bisa bermacam-macam. Kadang-kadang pembaruan sistem operasi raksasa di sebelah yang secara tidak sopan menimpa partisi EFI, atau mungkin ada pembaruan kernel Linux yang gagal tuntas. Apa pun alasannya, ketika bootloader mogok kerja, sistem Debian kesayanganmu tidak akan pernah bisa booting memasuki layar desktop.

Bagi teknisi atau pengguna Linux berpengalaman, solusi standarnya adalah masuk melalui Live USB*, melakukan rentetan proses *mount*, lalu masuk ke dalam sistem dengan mode *chroot*, dan akhirnya menjalankan *reinstall GRUB. Kedengarannya heroik, namun mengetikkan sepuluh hingga lima belas baris perintah secara manual itu sungguh melelahkan dan sangat rentan terjadi typo. Oleh karena itu, kita akan menyederhanakannya menjadi satu langkah praktis dengan skrip otomatis.

Skrip Otomatis (fix-grub.sh)

Di bawah ini adalah sebuah mahakarya kecil—skrip Bash yang akan merangkum semua penderitaan proses mount → chroot → reinstall GRUB menjadi eksekusi dalam sekali napas. Skrip ini secara otomatis memetakan partisi virtual (seperti /proc, /sys, dan /dev) ke dalam partisi root sistemmu yang rusak, lalu memerintahkan GRUB untuk menanamkan dirinya kembali.

⚠️ Peringatan Penting: Sebelum mengeksekusi skrip ini, pastikan kamu benar-benar tahu posisi disk target utama kamu (misalnya /dev/sda atau /dev/nvme0n1). Memilih disk yang salah bisa membuat partisi lain ikut bermasalah.
#!/bin/bash
# fix-grub.sh - Skrip perbaikan GRUB otomatis
# Peringatan: Pastikan disk target sudah benar!
DISK="$1"
if [ -z "$DISK" ]; then
 echo "Penggunaan: sudo $0 /dev/sdX"
 exit 1
fi
# Melakukan mount pada partisi utama
mount "${DISK}1" /mnt
# Melakukan binding pada direktori sistem virtual
for i in /dev /proc /sys; do mount --bind "$i" "/mnt$i"; done
# Masuk ke environment chroot dan menginstal ulang GRUB
chroot /mnt grub-install "$DISK"
chroot /mnt update-grub
# Melakukan unmount setelah proses selesai untuk keamanan data
for i in /sys /proc /dev; do umount "/mnt$i"; done
umount /mnt
echo "✅ GRUB berhasil diperbaiki. Silakan reboot komputer Anda."

Cara Menggunakan Skrip

Sekarang kamu mungkin bertanya, bagaimana cara mengeksekusi skrip ini saat komputermu sendiri sedang pingsan? Tenang, siapkan sebuah flashdisk berisi Live USB Debian atau Ubuntu. Kita akan menggunakan sistem operasi sementara tersebut sebagai "ruang operasi". Berikut langkah-langkah detailnya:

  1. Nyalakan komputer dan lakukan booting masuk menggunakan Live USB Debian/Ubuntu pilihanmu. Buka aplikasi terminal.
  2. Buka text editor favoritmu (misal: nano fix-grub.sh) lalu salin dan simpan skrip di atas dengan nama fix-grub.sh.
  3. Agar file tersebut bisa dieksekusi sebagai sebuah program, beri izin eksekusi dengan perintah: chmod +x fix-grub.sh
  4. Identifikasi nama disk utama Linux kamu menggunakan perintah lsblk atau sudo fdisk -l. Jika sistem Linux kamu ada di /dev/sda1, maka nama disk induknya adalah /dev/sda.
  5. Terakhir, jalankan skripnya dengan memasukkan nama disk kamu sebagai argumen: sudo ./fix-grub.sh /dev/sda

Biarkan skrip bekerja selama beberapa detik. Jika terminal menampilkan pesan "GRUB berhasil diperbaiki", kamu boleh bernapas lega. Lepaskan Live USB, lalu lakukan reboot*. Sambut kembali layar GRUB yang akan mengantarkanmu ke *desktop tercinta!