Ada momen dalam karier administrator ketika terminal akrab berubah jadi lawan: password root terlupa, GRUB hanya menampilkan baris error, atau sistem berhenti di tengah boot. Kabar baiknya, Linux jarang benar-benar mati — selama kernel dan media boot bisa dijangkau, hampir semua kerusakan konfigurasi diperbaiki tanpa instal ulang. Dua senjata utamanya: boot darurat lewat GRUB untuk me-reset password, dan chroot dari live USB untuk memperbaiki sistem dari luar. Chapter ini menyusun prosedur keduanya, ditutup kebiasaan yang mempercepat pemulihan.

Peta Pemulihan: Pilih Jalur Sesuai Gejala #

Langkah pertama pemulihan bukan mengetik perintah, melainkan mencocokkan gejala dengan jalurnya:

GejalaJalur pemulihanAlat utama
Password root terlupaboot dengan init=/bin/bashGRUB, passwd
GRUB rusak atau hilangchroot dari live USB, pasang ulanggrub-install, update-grub
Isi /etc/fstab salah, boot menggantungchroot dan koreksi fstabeditor teks, mount
Kernel baru menolak jalanpilih entri kernel lama di menu GRUBGRUB

Kasus boot yang gagal total dibedah lebih jauh di Chapter Boot Failures dan Recovery dari Live USB .

Reset Password Root Lewat GRUB #

Trik ini bekerja karena kernel menerima parameter init= pengganti program pertama yang dijalankan; menunjuk /bin/bash memberi shell root tanpa proses login. Prosedurnya:

  1. Nyalakan ulang mesin; saat menu GRUB tampil, tekan e pada entri standar (anatomi menunya dibedah di Chapter Bootloader dan GRUB ).
  2. Cari baris yang diawali linux, lalu tambahkan init=/bin/bash di ujungnya.
  3. Tekan Ctrl+X untuk boot dengan parameter itu; sistem berhenti di prompt bash-5.2# sebagai root tanpa password.
  4. Root filesystem masih ter-mount read-only, jadi remount read-write: mount -o remount,rw /.
  5. Ganti password dengan passwd root — atau passwd budi untuk user biasa.
  6. Tulis perubahan ke disk dengan sync, lalu nyalakan ulang: reboot -f (atau exec /sbin/init untuk melanjutkan boot normal).

Baris yang diedit pada langkah 2 — berikut contoh tampilan setelah parameter ditambahkan; sisanya (lokasi kernel, partisi root) biarkan apa adanya:

text
linux /boot/vmlinuz-6.1.0-18-amd64 root=/dev/sda2 ro quiet init=/bin/bash

Chroot dari Live USB untuk Perbaikan Menyeluruh #

chroot mengganti akar direktori shell ke filesystem lain — setelah chroot /mnt, perintah apt, update-grub, dan passwd berjalan seolah sistem yang rusak sedang boot normal. Dipadukan live USB, hampir semua luka konfigurasi bisa dijahit ulang:

  1. Boot live USB apa pun, buka terminal.
  2. Kenali partisi dengan lsblk -f — cari partisi root (dan EFI bila sistem UEFI).
  3. Pasang partisi korban: sudo mount /dev/sda2 /mnt.
  4. Pinjamkan tiga direktori pseudo: sudo mount --bind /dev /mnt/dev, sudo mount --bind /proc /mnt/proc, sudo mount --bind /sys /mnt/sys (tambah sudo mount /dev/sda1 /mnt/boot/efi bila UEFI).
  5. Masuk: sudo chroot /mnt.
  6. Perbaiki yang rusak: update-grub dan grub-install /dev/sda, koreksi /etc/fstab, atau passwd.
  7. Keluar dengan exit, lepas kaitan dengan sudo umount -R /mnt, lalu reboot.

Ringkasan peran tiap alat dalam prosedur di atas:

AlatPeran dalam prosedur
lsblk -f dan mountmengenali dan memasang partisi korban
mount --bindmeminjamkan /dev, /proc, /sys ke sistem yang diperbaiki
chrootberpindah akar sehingga perintah berjalan di konteks sistem rusak
grub-install dan update-grubmenulis ulang bootloader dan konfigurasinya

chroot sendiri termasuk panggilan sistem yang hanya boleh dipakai root — di container latihan kita bisa menyaksikan penolakannya secara langsung:

bash
mkdir -p target
/usr/sbin/chroot target /bin/true 2>&1

Output yang Dihasilkan:

text
chroot: cannot change root directory to 'target': Operation not permitted

Pesan Operation not permitted berasal dari kernel yang menolak UID bukan 0 — bukan karena folder kosong. Karena itu pula prosedur di atas ditulis sebagai daftar langkah untuk mesin sungguhan. Satu pagar sebelum langkah ke-5 adalah memastikan partisi benar-benar sudah ter-mount dengan mountpoint:

bash
mkdir -p rescue
mountpoint -q / && echo "/ adalah mountpoint"
mountpoint -q rescue || echo "rescue belum ter-mount"

Output yang Dihasilkan:

text
/ adalah mountpoint
rescue belum ter-mount
  1. Baris 1: folder rescue meniru mountpoint yang diperiksa.
  2. Baris 2: mountpoint -q memeriksa tanpa mencetak status; && hanya berjalan bila lolos.
  3. Baris 3: || menangkap kegagalan — pola yang dipasang sebelum chroot /mnt agar tidak memperbaiki folder kosong.

Referensi mekanisme chroot dan passwd tersedia lengkap, dan wiki Arch merangkum resep chroot lintas distro.

Kebiasaan yang Mempercepat Pemulihan #

Pemulihan cepat disiapkan jauh sebelum kerusakan terjadi. Kebiasaan yang membayar dirinya sendiri: simpan hasil lsblk -f dan salinan /etc/fstab sebagai peta partisi; jaga live USB yang bisa boot dan perbarui isinya setahun sekali; catat recovery key LUKS di pengelola password; dan yang terpenting — jalankan backup rutin yang restore-nya pernah diuji, materi pembuka Section Storage dan Backup . Keterampilan pemulihan menyelamatkan sistem; backup menyelamatkan data.