Отключение режима восстановления grub программно

Мне нужно иметь возможность обновлять конфигурацию grub, чтобы программно удалить опцию загрузки в режиме восстановления. Я получил начальную информацию о том, как сделать это (вручную) из этого вопроса / ответа:

Как отключить режим восстановления / однопользовательский режим?

Итак, я написал простой скрипт, который упакован с файлом grub для замены. Скрипт просто делает:

# Move the new grub file contents into place
cat /path/to/replacement/grub > /etc/default/grub
# Update grub with the new settings
update-grub

В этом скрипте «/ path / to / replace / grub» содержит следующее: http://paste.ubuntu.com/7328274/ и заменяет стандартный файл http://paste.ubuntu.com/7328269/ , который находится в системе. Система Ubuntu 12.04, и приведенный выше скрипт запускается как sudo.

Проблема в том, что большую часть времени он работает, но в некоторых случаях он полностью отключается, и когда система перезагружается, он приземляется в командной строке grub, а не загружается нормально. Из командной строки grub я могу загрузить ядро, загрузочный linux, а затем, когда в командной строке bash, я могу запустить:

sudo update-grub

Затем перезагрузиться, и все будет хорошо. Но может ли кто-нибудь сказать мне, почему иногда он не работает как часть скрипта?

Примечания:

  1. Цель состоит в том, чтобы просто удалить опцию загрузки режима восстановления. из меню grub, без вмешательства пользователя, кроме запуска скрипта - причины этого сложны, но так оно и есть:)

  2. Единственное отличие между 2 файлами grub должно быть раскомментирование строки 'GRUB_DISABLE_RECOVERY = "true"'

  3. Я помещаю содержимое в правильный файл (вместо cp'ing или mv'ing), потому что я решил, что это было самый простой способ убедиться, что файл не был испорчен.

  4. Процесс обычно работает, и перезагрузка системы удаляет опцию меню grub в режиме восстановления (по желанию). Но иногда ... не работает

1
задан 13 April 2017 в 15:25

1 ответ

sed -i "s,#GRUB_DISABLE_RECOVERY,GRUB_DISABLE_RECOVERY,g" /etc/default/grub
0
ответ дан 13 April 2017 в 15:25

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

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