3

Я только что установил систему с openSUSE 13.1 с использованием корня btrfs и сделал ошибку, выбрав Windows в выпадающем меню перезагрузки в KDE. Теперь grub загружает Windows автоматически каждый раз, а не один раз, как должно. Другими словами, grub загружается (и показывает несколько быстрых сообщений о состоянии), но при каждой загрузке пропускает прямо к опции Windows.

Grub упоминает, что загружает файл конфигурации и не показывает никаких ошибок, так что я вполне уверен, что он не был перезаписан или что-то смешное в этом роде. Я также держу Windows установленной на отдельном диске, чтобы избежать каких-либо проблем с случайным попаданием моего загрузчика в обновления Windows.

Прежде чем я откажусь и переустановлю загрузчик, есть ли способ вручную отменить grub2-reboot (или любую утилиту, используемую в меню), внесенную в мою конфигурацию? Я по-прежнему могу смонтировать разделы на диске из живого окружения, и я должен быть в состоянии включить для любых необходимых обновлений.

Редактировать: исправлено с помощью chroot с живого диска, выполнив следующее:

grub2-editenv /boot/grub2/grubenv unset next_entry

2 ответа2

1

Изучив источник скрипта /usr/sbin/grub2-reboot я обнаружил, что выбор загрузки осуществлялся переменной "next_entry" в файле grubenv .

Проблема может быть замечена запуском (пока chroot'd в систему) grub2-editenv list , который показал:

saved_entry=openSUSE 13.1
next_entry=Windows 8.1 (loader) ...

В этом случае поле next_entry не было очищено после перезагрузки, как должно быть (возможно, из-за несовместимости с btrfs?)

Я успешно смог сбросить его так (опять же, в chroot):

grub2-editenv /boot/grub2/grubenv unset next_entry

После перезагрузки меню grub вернулось в норму!

0

Если у вас есть доступ к живому компакт-диску, вы можете использовать команды настройки grub для решения вашей проблемы. В качестве альтернативы вы можете вручную настроить файлы конфигурации GRUB, упомянутые здесь. Однако файлы конфигурации GRUB 2, в отличие от GRUB, не предназначены для редактирования вручную, поэтому будьте предельно осторожны.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .