Grub2 выдает вам приглашение grub rescue> после этой ошибки? Этот поток предполагает, что получение запроса на восстановление означает, что Grub2 не может найти пригодный для использования файл grub.cfg . Посмотрите Grub2 Rescue Mode для способа найти установку вашей системы и загрузить ее. Вкратце, вам нужны эти команды (подробности см. По ссылке):
ls
(отображает разделы и устройства, которые видит Grub)
set prefix=(hdX,Y)/boot/grub
[*]
set root=(hdX,Y)
[*]
set
(показывает среду Grub; проверьте префикс = список; убедитесь, что он соответствует тому, что вы установили в шаге 3)
ls /boot/
(должен показывать содержимое вашей системы /boot - ядра, образы initrd, папку grub и т. д.)
insmod (hdX,Y)/boot/grub/linux.mod
linux /vmlinuz root=/dev/sdXY ro
[**]
initrd /initrd.img
boot
- [*] замените (hdX, Y) значением, показанным в выходных данных шага 1, таким как (hd0,1) или (hd3,9)
- [**] замените sdXY на правильное обозначение, например sda1 или sdc9. Y такой же, как в (hdX, Y), но X будет буквой вместо числа.
Если вы можете загружаться, следуя этим инструкциям, вы можете исправить grub, просто запустив:
sudo grub-install
sudo update-grub2
Альтернатива предложена в этом сообщении об ошибке. В соответствии с этим, ошибка генерируется этой строкой в конфигурации Grub (grub.cfg):
if [ -n ${have_grubenv} ]; then save_env recordfail; fi
Удаление этой строки, похоже, помогло исправить проблемы с загрузкой, но некоторые сообщают, что ошибка все еще сохраняется. См. Этот пост о том, как удалить эту строку из меню Grub во время загрузки, и как удалить ее из сценария генерации файла конфигурации (/etc/grub.d/10_linux).
К сожалению, ни один из этих ресурсов не указывает на причину ошибки.