Команда перезагрузиться в 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 часть в конце будет идти вперед и перезагрузить вашу систему на данный момент.

Надеюсь это поможет!

Другие вопросы по тегам