Menekan tombol power lalu mendapati menu GRUB atau logo distributor muncul terasa seperti satu kejadian tunggal, padahal firmware lebih dulu memeriksa RAM, mencari media boot, dan memverifikasi tanda tangan. Setiap tahap rantai boot mempercayai tahap berikutnya lewat konvensi, sehingga kegagalan boot bisa dipetakan ke tepat satu tahap. Chapter ini menelusuri rantai lengkap dari tombol power sampai prompt login, berfokus pada etape paling awal: POST, UEFI versus BIOS Legacy, dan Secure Boot. Tiga chapter berikutnya membedah pelari tengahnya: GRUB, modul kernel, dan initramfs.

Peta Estafet: Siapa Menjalankan Apa #

Empat pelari estafetnya: firmware menyiapkan perangkat keras lalu menemukan kode boot berikutnya, bootloader memuat kernel dan initramfs ke memori, kernel menyerahkan sementara pada skrip di dalam initramfs, dan systemd sebagai proses bernomor 1 membangun userspace. Peta ini paling berguna saat boot gagal: layar mati atau beep menunjuk POST; No bootable device atau grub rescue menunjuk firmware dan bootloader; kernel panic menunjuk kernel dan initramfs; boot yang macet di satu service menunjuk systemd. Dua pelari terakhir sudah dibahas di Chapter Startup dan Shutdown .

POST: Pemeriksaan Sebelum Sistem Operasi Ada #

Detik pertama setelah power ditekan dikuasai POST (Power-On Self Test): firmware memeriksa register CPU, RAM yang terbaca, dan perangkat inti — kegagalannya hanya terkomunikasikan lewat pola beep atau LED di motherboard. Jika POST gagal, Linux belum menyentuh apa pun: mengganti kernel atau bootloader tidak menolong.

UEFI vs BIOS Legacy #

BIOS Legacy menjalankan kode dari sektor pertama disk pertama, blok 512 byte bernama MBR (Master Boot Record). Firmware memastikan dua byte terakhirnya bernilai 55 AA lalu mengeksekusinya; sisanya berisi 446 byte kode bootloader dan 64 byte tabel partisi. Penerusnya, UEFI (Unified Extensible Firmware Interface), bekerja dengan file: firmware menyimpan entri boot di NVRAM, dan tiap entri menunjuk file .efi pada partisi FAT32 bernama ESP (EFI System Partition) yang lazim dipasang di /boot/efi.

AspekBIOS LegacyUEFI
Menemukan bootloaderBaca MBR, cek 55 AABaca NVRAM, muat .efi dari ESP
Tabel partisiMBR, 4 primer, 2 TiBGPT, 128 partisi
Verifikasi kode bootTidak adaSecure Boot

Karena /boot/efi di lingkungan ini kosong, kita bangun tiruan struktur ESP Debian:

bash
mkdir -p esp-sim/EFI/debian esp-sim/EFI/BOOT
touch esp-sim/EFI/debian/grubx64.efi esp-sim/EFI/BOOT/BOOTX64.EFI
find esp-sim -type f | sort

Output yang Dihasilkan:

text
esp-sim/EFI/BOOT/BOOTX64.EFI
esp-sim/EFI/debian/grubx64.efi

Mari kita baca hasilnya:

  1. Baris 1 (mkdir -p ...): struktur folder standar ESP — UEFI mencari .efi di bawah folder EFI.
  2. Baris 2 (touch ...): dua file tiruan; grubx64.efi adalah GRUB untuk arsitektur x86-64.
  3. Baris 3 (find ... | sort): daftar semua file; entri NVRAM Debian menunjuk \EFI\debian\grubx64.efi, sementara BOOTX64.EFI adalah jalur fallback UEFI untuk USB installer.

Entri NVRAM dikelola dengan efibootmgr (butuh root); mode firmware dicek dengan ls /sys/firmware/efi: berhasil berarti UEFI, error berarti BIOS Legacy.

Secure Boot: Rantai Tanda Tangan dari Firmware #

Secure Boot adalah mode UEFI yang menolak menjalankan kode boot tak bertanda tangan. Verifikasinya berbentuk rantai: firmware hanya memuat shim — komponen bertanda tangan Microsoft — shim hanya memuat GRUB bertanda tangan, dan GRUB hanya memuat kernel bertanda tangan. Tujuannya mencegah bootkit menempel di titik paling awal rantai boot yang belum terjangkau antivirus.

Konsekuensinya: modul pihak ketiga seperti VirtualBox atau driver GPU tertentu tidak bertanda tangan dan ditolak. Jalan keluarnya adalah MOK (Machine Owner Key): daftarkan kunci sendiri lewat mokutil, lalu tandatangani modulnya.

Sisa Estafet: Dari Kernel ke Prompt Login #

Pelari ketiga dan keempat punya chapter sendiri. GRUB memuat kernel vmlinuz dan arsip initramfs ke memori, lalu kernel mengeksekusi skrip /init di dalamnya — skrip itu memuat driver storage, membuka partisi terenkripsi bila ada, memasang filesystem root asli, lalu menyerahkan kendali lewat switch_root. Sejak titik itu systemd menjadi PID 1 seperti di Chapter Pengenalan systemd , dan mengaktifkan target akhir:

bash
systemctl get-default

Output yang Dihasilkan:

text
graphical.target

Desktop Debian memakai graphical.target, server lazimnya multi-user.target — lihat Chapter systemd Targets . Identitas sistem yang selesai boot tinggal dikonfirmasi:

bash
grep '^PRETTY_NAME' /etc/os-release

Output yang Dihasilkan:

text
PRETTY_NAME="Debian GNU/Linux 13 (trixie)"

Gejala boot apa pun kini bisa dilacak ke pelari yang tepat. Pelari kedua — GRUB — bicara langsung dengan kita lewat menu di layar; itulah chapter berikutnya.

Untuk rujukan lebih jauh: bedah alur boot di wiki Arch tentang boot process serta mekanisme Secure Boot .