/boot/grub/ 目錄。/boot/grub2/(GRUB2)或 /boot/grub/(GRUB Legacy),載入 grub.cfg 選單、模組、主題等。關鍵檔案: /boot/grub2/grub.cfg(由 grub2-mkconfig 依 /etc/default/grub 及 /etc/grub.d/ 腳本生成)。
vmlinuz-*)至記憶體。/)。/init(initramfs 內的啟動腳本):
root=UUID=... 或 root=/dev/sda2)至 /sysroot。switch_root 切換根環境,啟動 /sbin/init。為何需要 initramfs? 解決「雞生蛋、蛋生雞」:Kernel 需驅動才能讀取根分區,但驅動在根分區上。initramfs 提供最小環境載入驅動並掛載真根。
.service, .target, .socket 等)。default.target 通常指向 graphical.target 或 multi-user.target。systemctl, journalctl, systemd-analyze。/etc/inittab 獲取預設運行級別(id:3:initdefault:)。/etc/rc.d/rc*.d/ 下的 S* 啟動腳本、K* 停止腳本。service, chkconfig。| 檔案/目錄 | 說明 |
|---|---|
vmlinuz-* | 壓縮 Kernel 映像 |
initramfs-*.img / initrd-* | 初始臨時根檔案系統 |
grub2/ 或 grub/ | GRUB 配置、模組、主題 |
System.map-* | Kernel 符號表(除錯用) |
config-* | Kernel 編譯配置選項 |
grub2-install /dev/sdX 重裝;grub2-mkconfig -o /boot/grub2/grub.cfg 重建配置。root= 參數錯誤、根分區損壞。重建 initramfs:dracut -f 或 mkinitrd。/etc/fstab 掛載項錯誤、磁碟故障。檢查 journalctl -xb、修正 fstab 或 fsck。systemctl status 、journalctl -u 查看詳情。Linux 啟動是「硬體 → 固件 → Bootloader → Kernel → 臨時根 → 真根 → PID 1 → 服務」的層層遞進。理解各階段職責、關鍵檔案與常見故障點,是系統管理員排查開機問題、優化啟動速度、構建安全啟動鏈的基石。