Systemd-boot
運作起來很簡單的開機載入器(UEFI 限定)
系統需求
- ESP大小至少 512MB,建議 1GB 以上
- 預設 Systemd-boot 會把 Kernel 一起安裝到 ESP 內
- 系統必須是以 UEFI 環境下開機,而非 BIOS 或 CSM 環境的 BIOS 模式下開機
- Linux 必須安裝 Systemd 作為 init daemon
安裝、修復
一般安裝
無論在哪一種環境(正常環境或 chroot 環境),都要先掛載 ESP,ESP 掛在哪個掛載點,根據當初安裝 Linux 發行版的狀況而定(通常是 /boot
或 /efi
)
然後輸入以下指令:
sudo bootctl install # 沒 sudo 或在 root 身份下不用輸入 sudo
Systemd 就會複製自己的檔案到 ESP 分區,並且建立 UEFI 開機項目
如果要深入瞭解究竟複製了哪些項目,可以看看 ArchWiki
ESP 與 /boot 分區分開安裝
當你不想動到 Windows 那小到不行的 100MB ESP 才用這招。以下步驟我自己沒有測試過:
首先,再切一個獨立的 /boot
分區,並且將它的分區類型設定為 "Linux extended boot"
具體來說怎麼設定,可以參考 ArchWiki 的說明:
In other cases, it is recommended to set the partition type to Extended Boot Loader (XBOOTLDR) Partition which is GPT partition type GUID BC13C2FF-59E6-4262-A352-B275FD6F7172 (ea00 type for gdisk) or MBR partition type ID ea.
切完之後,掛載 /boot 和 /efi 分區,然後輸入以下指令:
sudo bootctl --esp-path=/efi --boot-path=/boot install
這樣就安裝好了。
修改 Cmdline(Kernel Parameter)
用文字編輯器編輯 /etc/kernel/cmdline
,編輯完畢之後,輸入以下指令:
sudo kernel-install add-all
此舉會把所有 Kernel 重新安裝到 Systemd-boot 當中,並且套用新的 Cmdline (順便)
No Comments