Команда перезагрузиться в memtest86+
Можно ли перезагрузиться непосредственно в memtest86+ (без ввода данных во время загрузки), как команда Windows 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
часть в конце будет идти вперед и перезагрузить вашу систему на данный момент.
Надеюсь это поможет!