(在这里发布而不是Ubuntu子网站,因为我不认为它与Ubuntu特别相关.)
我以前从非常有用的kexec-reboot -lr中成功地使用了这一页。
在从18.04升级到20.04之后,运行此命令仍然会重新启动系统,但是现在它会进行“硬”重新引导,它会一直下降到EFI/固件,而不是仅仅重新加载和重新启动内核。这会给我的服务器上的启动时间增加几分钟(并且使使用此调用的全部要点失败.)
根据kexec-reboot的详细输出运行的命令是:
Running /sbin/kexec -l /boot/vmlinuz-5.4.0-54-generic --append='root=UUID=69a4d39e-361f-41e7-9ad3-866cb9dae202 ro intel_iommu=on' --initrd=/boot/initrd.img-5.4.0-54-generic
直接运行该命令(即不从kexec-reboot方便脚本运行)会产生相同的行为。
我已经检查过syslog和dmesg中似乎相关的消息,我什么也找不到,但我也可能不知道我可以查看的所有不同的地方。除了冗长的标志之外,我还可以使用其他什么东西来解决这个问题呢?
更新11/26:如果我像上面描述的那样手动构建kexec行,然后运行kexec -e (如这里),那么它实际上只是直接引导内核。查看一下kexec-reboot代码就会发现,最后一个调用是shutdown -r now,所以我现在试图弄清楚为什么shutdown -r now与以前不同.
发布于 2020-11-30 14:59:19
从内核5.4开始,启用了锁定功能。这将禁用kexec重新启动功能,并且不允许绕过硬重置。默认情况下,5.4中禁用了锁定功能。但请确认在您的情况下,它没有启用。您可以检查u引导变量或内核源代码。
https://unix.stackexchange.com/questions/621541
复制相似问题