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-install
lalu 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-grub
3) 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-grub
Jika 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 -l
Catat 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/efi
3) 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 terpasang
5) 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-grub
6) 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 /mnt
Setelah 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> normal
Ini 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-install
benar (disk, bukan partisi). -
UEFI: firmware tidak menampilkan boot entry:
periksa dengan
efibootmgr -v
dan sesuaikan BootOrder. -
Root LUKS / LVM: jika terenkripsi, unlock LUKS dan
mount LVM sebelum chroot. Contoh:
sudo cryptsetup luksOpen /dev/sdX cryptroot
lalu mount/dev/mapper/cryptroot
. -
Error update-grub: pastikan paket
grub-pc
(BIOS) ataugrub-efi-amd64
(UEFI) terpasang. -
Filesystem corrupt: jalankan
fsck
pada partisi sebelum reinstall GRUB.
Ringkasan tindakan cepat
-
Coba boot; kalau bisa, jalankan
grub-install
danupdate-grub
di 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
efibootmgr
untuk 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