讓 systemd 使用 kexec 作為預設重啟方法

讓 systemd 使用 kexec 作為預設重啟方法

在使用 systemd 的 debianstretch 上,可以使用 systemd 指令重新啟動systemctl kexec

此外,systemd 處理所有重新啟動:

# ls -l $(which reboot)
lrwxrwxrwx 1 root root 14 Jul  5  2017 /sbin/reboot -> /bin/systemctl

由於完全硬體重新初始化的重新啟動需要很長時間,更重要的是,需要輸入加密密碼,因此我寧願始終使用 kexec 進行重新啟動。

是否可以使用 kexec 作為預設reboot機制來配置 systemd? (除了更換/sbin/reboot

答案1

將重新啟動替換為 kexec

  1. 刪除或重新命名 systemd 重啟目標

    rm /lib/systemd/system/reboot.target

  2. 建立指向 kexec 目標的連結作為重新引導目標

    ln -sf /etc/systemd/system/kexec.target /lib/systemd/system/reboot.target

  3. 重新載入

    systemctl 守護程式重新載入

  4. 請注意,systemd 和 kexec 僅支援一種重新啟動方式,即使用

    systemctl kexec

透過「reboot」命令重新啟動不起作用,因為除非以正確的方式調用,否則透過 SysV init 包裝器運行的 kexec-load 腳本不會載入 kexec 核心。使用 kdump 可能不再運作。參考:https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=785714

取消一切

  1. 重新安裝系統

    apt install --重新安裝 systemd

相關內容