Мне нужно перенастроить grub для использования другого установочного устройства. Другие потоки указывают, что будет экран, предлагающий мне выбрать устройство:
Однако нет такой экран существует. Выходит после 2-го.
Как выбрать загрузочное устройство?
Экран 2
После экрана 2
grub-pc
postinst
решает, задавать ли этот вопрос. В моем случае я отследил его до следующего состояния:
elif test -z "$2" || test -e /boot/grub/core.img || \
test -e /boot/grub/i386-pc/core.img || \
test "$UPGRADE_FROM_GRUB_LEGACY" || test "$wubi_device"; then
Так что, если /boot/grub/i386-pc/core.img
существует, он всегда будет показывать Подсказка. Если нет, то (практически) никогда это не будет показано.
/boot/grub/i386-pc/core.img
должен существовать при нормальных обстоятельствах, поэтому есть вероятность, что в прошлом что-то пошло не так, что вызвало эту проблему. Чтобы разрешить ситуацию, выполните следующую команду:
upgrade-from-grub-legacy
Это должно создать требуемый core.img
и сбросить конфигурацию debconf установленных устройств, после чего dpkg-reconfigure grub-pc
должен работать, как ожидалось.
Возможно, вы получаете следующую ошибку, вызванную ошибкой:
dpkg-maintscript-helper: error: environment variable DPKG_MAINTSCRIPT_NAME is required
В этом случае должна работать следующая команда:
DPKG_MAINTSCRIPT_NAME=postinst DPKG_MAINTSCRIPT_PACKAGE=grub-pc upgrade-from-grub-legacy
Похоже, это из-за изменения, внесенного во избежание потенциальных повреждений систем. Я подал отчет об ошибке об этом, так как это просто укусило меня во время сбоя RAID.
Обновление: ошибка была подтверждена и рассмотрена как высокоприоритетная практически во всех поддерживаемых версиях Ubuntu.
Обновление №2: Выпущено исправление для Focal и Groovy! Я надеюсь, что кто-то из команды Ubuntu следит за Bionic.
Обновление №3: Выпущено исправление для Bionic!