Pendahuluan singkat
GRUB (GRand Unified Bootloader) adalah bootloader yang umum dipakai di Debian, Ubuntu, Mint, dan turunannya. GRUB bisa rusak/hilang setelah update kernel yang gagal, mengubah partisi, instal ulang Windows, atau kesalahan pada konfigurasi disk. Panduan ini menunjukkan cara memperbaikinya dengan aman.
Perhatian: Sebelum mengubah bootloader, pastikan kamu memahami partisi disk dan punya backup data penting. Salah memilih device saat menjalankan grub-install dapat menyebabkan sistem tidak boot.
Alur umum perbaikan (ringkas)
- Cek apakah sistem masih bisa boot.
- Jika ya → lakukan perbaikan langsung di sistem (metode A).
- Jika tidak bisa boot → pakai Live USB/Live CD dan chroot ke sistem terpasang (metode B).
- Tentukan apakah sistem memakai BIOS (Legacy) atau UEFI/GPT.
- Jalankan
grub-installlalu perbarui konfigurasi GRUB (update-grub). - Reboot dan periksa hasilnya.
Metode A — Jika sistem masih bisa boot (perbaikan langsung)
Jika kamu bisa masuk ke Debian/Ubuntu, jalankan perintah ini sesuai jenis firmware:
1) Cek apakah sistem menggunakan UEFI atau BIOS
# jika ada folder /sys/firmware/efi maka sistem boot via UEFI
[ -d /sys/firmware/efi ] && echo "UEFI" || echo "BIOS (legacy)"2) Perbaiki untuk BIOS (Legacy)
Ganti /dev/sdX dengan device disk (bukan partisi), contoh /dev/sda atau /dev/nvme0n1:
sudo grub-install --recheck /dev/sdX
sudo update-grub3) Perbaiki untuk UEFI
Pastikan ESP (EFI System Partition) sudah ter-mount di /boot/efi:
# contoh mount (ubah /dev/sdXY sesuai partisi EFI)
sudo mount /dev/sdXY /boot/efi
# lalu instal GRUB untuk UEFI
sudo grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=debian --recheck
sudo update-grubJika distro kamu adalah Ubuntu, gunakan --bootloader-id=ubuntu agar nama di firmware muncul sesuai distro.
Metode B — Jika sistem tidak bisa boot (gunakan Live USB + chroot)
Gunakan Live USB Debian/Ubuntu (pilih arsitektur yang sama: amd64/arm64...). Boot ke "Try" atau "Live" mode lalu buka terminal. Berikut langkah lengkapnya.
1) Identifikasi partisi
# lihat layout partisi
lsblk -f
# atau
sudo fdisk -lCatat partisi root (mis. /dev/sda2 atau /dev/nvme0n1p2) dan partisi EFI (jika UEFI) biasanya bertipe vfat (~100-500MB).
2) Mount root dan partisi penting
# ganti /dev/sdXN dengan partisi rootmu
sudo mount /dev/sdXN /mnt
# jika ada /boot terpisah:
sudo mount /dev/sdXY /mnt/boot
# jika UEFI: mount EFI partition
sudo mount /dev/sdXZ /mnt/boot/efi3) Mount virtual filesystems
sudo mount --bind /dev /mnt/dev
sudo mount --bind /dev/pts /mnt/dev/pts
sudo mount -t proc /proc /mnt/proc
sudo mount -t sysfs /sys /mnt/sys
sudo mount --bind /run /mnt/run || true
# Copy resolv.conf agar jaringan tersedia (jika perlu)
sudo cp /etc/resolv.conf /mnt/etc/4) Masuk chroot
sudo chroot /mnt /bin/bash
# sekarang prompt adalah root di sistem yang terpasang5) Di dalam chroot: instal ulang GRUB
Di dalam chroot, jalankan langkah sesuai firmware:
# Cek UEFI?
[ -d /sys/firmware/efi ] && echo "UEFI" || echo "BIOS"
# Jika BIOS:
grub-install --recheck /dev/sdX
update-grub
# Jika UEFI (pastikan /boot/efi ter-mount):
grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=debian --recheck
update-grub6) Keluar chroot dan unmount
exit
sudo umount /mnt/dev/pts
sudo umount /mnt/dev
sudo umount /mnt/proc
sudo umount /mnt/sys
sudo umount /mnt/run || true
sudo umount /mnt/boot/efi || true
sudo umount /mnt/boot || true
sudo umount /mntSetelah itu, reboot dan coba boot dari disk.
Kasus cepat di grub rescue (sementara)
Jika kamu berada di prompt grub rescue> dan perlu boot sementara, langkah berikut kadang membantu (contoh sederhana):
# contoh, asumsi /boot/grub ada di (hd0,msdos1)
grub rescue> set root=(hd0,msdos1)
grub rescue> set prefix=(hd0,msdos1)/boot/grub
grub rescue> insmod normal
grub rescue> normalIni hanya cara sementara untuk boot. Setelah masuk sistem, jalankan metode A untuk memperbaiki GRUB secara permanen.
Masalah umum & solusi singkat
- GRUB masih tidak muncul / error: Periksa apakah partisi yang dipilih untuk
grub-installbenar (disk, bukan partisi). - UEFI: firmware tidak menampilkan boot entry: periksa dengan
efibootmgr -vdan sesuaikan BootOrder. - Root LUKS / LVM: jika terenkripsi, unlock LUKS dan mount LVM sebelum chroot. Contoh:
sudo cryptsetup luksOpen /dev/sdX cryptrootlalu mount/dev/mapper/cryptroot. - Error update-grub: pastikan paket
grub-pc(BIOS) ataugrub-efi-amd64(UEFI) terpasang. - Filesystem corrupt: jalankan
fsckpada partisi sebelum reinstall GRUB.
Ringkasan tindakan cepat
- Coba boot; kalau bisa, jalankan
grub-installdanupdate-grubdi sistem (Metode A). - Kalau tidak bisa boot, gunakan Live USB → chroot → reinstall GRUB (Metode B).
- Untuk UEFI pastikan EFI partition ter-mount di
/boot/efi. - Jika masih gagal, periksa partisi, LVM/LUKS, dan gunakan
efibootmgruntuk boot order.
Butuh bantuan lebih lanjut? Simpan output perintah penting (lsblk -f, efibootmgr -v, dan error dari grub-install) — itu membantu diagnosa.
Contoh perintah (ringkas untuk copy)
# contoh (UEFI):
sudo mount /dev/sdXZ /boot/efi
sudo grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=debian --recheck
sudo update-grub
# contoh (BIOS):
sudo grub-install --recheck /dev/sdX
sudo update-grub