我在命令方面遇到了一些问题kexec -e
:
我用来kexec -l
加载内核,或者pxe-kexec
。
然后我输入kexec -e
,结果是系统完全冻结(没有关键字起作用,但 ctrl+alt+canc 可以进行硬件重启)
如果我kexec -e
退出 GUI(sudo service lightdm stop
),我能看到的最后一件事是:
[ 000.000000] Starting new kernel
_
然后它就冻结了。
有谁能帮助我吗?
答案1
以下是我使用的方法(以下此主题):
使用 X 显示管理器:
有时显示管理器可能会妨碍,所以我建议停止它。停止的命令类似于(取决于您使用的显示管理器):
service lightdm stop
停止后,您可能需要移动到另一个控制台(Ctrl+Alt+F#)。
加载内核:
以 root 身份执行:
KERNEL_TO_LOAD=$(uname -r)
kexec -l --append="`cat /proc/cmdline`" --initrd=/boot/initrd.img-${KERNEL_TO_LOAD} /boot/vmlinuz-${KERNEL_TO_LOAD}
sync
umount -a
kexec -e
上述代码将重新启动当前内核(由 提供uname -r
)。要加载最后安装的内核(例如更新后重新启动),请将第一行更改为:
KERNEL_TO_LOAD=$(ls /lib/modules | sort -Vr | head -n 1)
这个答案主要用于测试目的,所以我建议遵循fman23 建议如果您想定期使用重启脚本(例如在服务器中),请更改它。