You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何配置systemd将kexec设为默认重启方式(Debian Stretch环境)

如何在Debian Stretch(systemd)中将kexec设为默认重启机制(无需替换/sbin/reboot)

当然可以实现!完全不用动/sbin/reboot这个文件,systemd本身就提供了灵活的配置方式来修改默认重启行为,刚好适配你的需求——跳过全硬件初始化和加密密码输入,默认用kexec重启。

下面是具体的操作步骤:

  • 首先确保kexec工具已经安装:
    打开终端执行:

    sudo apt update && sudo apt install kexec-tools
    

    这个包是kexec功能的依赖,必须先装上。

  • 配置systemd让reboot默认触发kexec:
    systemd允许我们通过单元覆盖文件来修改现有目标单元的行为,不用修改原始配置文件。执行以下命令打开reboot.target的编辑界面:

    sudo systemctl edit reboot.target
    

    这会打开一个默认的文本编辑器(一般是nano),在里面输入以下配置内容:

    [Unit]
    Wants=kexec.target
    Before=kexec.target
    

    保存并退出编辑器(nano里按Ctrl+O保存,Ctrl+X退出)。systemd会自动把这个配置保存到/etc/systemd/system/reboot.target.d/override.conf,这个位置的配置会覆盖系统默认的reboot.target设置。

    如果你习惯手动创建文件,也可以先创建目录再写文件:

    sudo mkdir -p /etc/systemd/system/reboot.target.d
    sudo nano /etc/systemd/system/reboot.target.d/override.conf
    

    然后输入上面的ini内容即可。

  • 重新加载systemd配置:
    让刚才的修改生效,执行:

    sudo systemctl daemon-reload
    
  • 测试效果:
    现在直接执行reboot或者systemctl reboot,系统就会自动用kexec方式重启,跳过全硬件初始化和加密密码输入环节。

补充说明

如果偶尔需要执行普通的全硬件重启,只需要加上--force参数即可:

systemctl reboot --force

这个参数会绕过kexec配置,触发传统的重启流程。

内容的提问来源于stack exchange,提问作者Zulakis

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 10:01:48