是否可以像 Windows 命令一样直接重新启动到 memtest86+(启动期间无需提供任何输入)mdsched
?
答案1
使用apropos
我们可以查看下次启动时仅使用的应用程序:
$ apropos "next boot only"
grub-reboot (8) - set the default boot entry for GRUB, for the next boot only
对于grub-reboot
一次性启动,我发现最好使用条目的名称,而不是像某些链接答案在这里有。我就是不能让它处理条目数。我发现使用条目名称可以工作。
如果您搜索,会发现/boot/grub/grub.cfg
有很多条目是我们正在寻找的。特别是这个条目Memory test
。
$ grep -i "memory test" /boot/grub/grub.cfg
menuentry 'Memory test (memtest86+)' {
menuentry 'Memory test (memtest86+, serial console 115200)' {
因为我们所需要的只是第一个条目,并且我们需要全名来Memory test (memtest86+)
告诉我们grub-reboot
这就是我们所需要的,所以我们可以使用以下行来仅获取该名称和命令指定的第一个条目exit
。
awk -F"'" '/Memory test/ {print $2; exit}' /boot/grub/grub.cfg
这给了我们如下输出:
$ awk -F"'" '/Memory test/ {print $2; exit}' /boot/grub/grub.cfg
Memory test (memtest86+)
现在我们可以将该行组合到我们的单行命令中,以将我们的系统重新启动到 Memtest 作为一次性启动。
sudo grub-reboot "$(awk -F"'" '/Memory test/ {print $2; exit}' /boot/grub/grub.cfg)"; reboot
reboot
最后的部分将继续并暂时重新启动您的系统。
希望这可以帮助!