команда перезагрузиться в memtest86 +

Можно ли перезагрузить компьютер непосредственно в memtest86 + (без ввода данных при загрузке), как это делает команда Windows mdsched?

1
задан 27 May 2019 в 18:39

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 в конце продолжит и перезагрузит вашу систему.

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

0
ответ дан 27 May 2019 в 18:39

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

Похожие вопросы: