Я использую Ubuntu 18.04 (kubuntu, но кто рассчитывает) в системе с двойной загрузкой. Его меню grub всегда могло загружать Windows 7, но внезапно вход в grub больше не работает. Когда я выбираю окна в меню grub, экран становится черным и ничего не происходит. Я все еще могу загружать окна прямо из меню загрузки моей системы, если я достаточно быстр, чтобы вызвать это. Но что-то случилось с моей настройкой Grub.

Я попытался запустить sudo update-grub, который, казалось, успешно перезапустил зонд, но поведение остается тем же.

У меня не включена безопасная загрузка (я даже не вижу ее в своем BIOS), и я полностью отключил Windows 7 (без режима гибернации или спящего режима).

Больше информации:

У меня также есть менеджер загрузки refind, установленный на этой машине, и если я переключу его на первый в порядке загрузки, он сможет загрузить Windows 7 или grub. Но меню Refind показывает несколько записей для Ubuntu, и первая из них показывает EFI/Boot/fbx64.efi, а вторая - EFI/Boot/bootx64.efi. Ни один из них не может загрузить Windows. Фактически, когда я выбираю один из них и запускаю оттуда Ubuntu, он возвращает Ubuntu на первую позицию в порядке загрузки моего BIOS - и я возвращаюсь к тому, с чего начал.

Но если я указываю стрелку в Refind на запись ubuntu для /ubuntu/Boot/grubx64.efi, то не только в том, что можно загружать Ubuntu или Windows 7, он также оставляет Refind наверху моего порядка загрузки. Таким образом, эта проблема, похоже, вызвана тем, что новые модули efi были помещены в /EFI /Boot и стали загрузчиком grub по умолчанию. Я не знаю, что такое fbx64, но должен ли он быть основным загрузчиком grub? Если нет, как мне сделать grubx64.efi по умолчанию? Это просто вопрос копирования модуля grubx64.efi в /EFI /Boot? Это безопасно - мне нужно переименовать его в bootx64.efi, чтобы соответствовать тому, что там?

Вот что находится в моем /boot /efi (кажется, что все материалы по Ubuntu датированы 13 сентября 09:39 - предположительно в последний раз, когда Ubuntu обновлял grub). Bootx64 соответствует размеру shimx64 - мне не нужен загрузчик shim. Могло ли обновление Ubuntu по ошибке скопировать это?

/boot/efi/EFI/Boot
-rwx------ 1 root root 1334816 Sep 13 09:39 bootx64.efi
-rwx------ 1 root root 1213032 Sep 13 09:39 fbx64.efi

/boot/efi/EFI/ubuntu
-rwx------ 1 root root     108 Sep 13 09:39 BOOTX64.CSV
drwx------ 2 root root    1024 Jan 30  2017 fw
-rwx------ 1 root root   71400 May 22 10:48 fwupx64.efi
-rwx------ 1 root root     126 Sep 13 09:39 grub.cfg
-rwx------ 1 root root 1116024 Sep 13 09:39 grubx64.efi
-rwx------ 1 root root 1269496 Sep 13 09:39 mmx64.efi
-rwx------ 1 root root 1334816 Sep 13 09:39 shimx64.efi

2 ответа2

1

Нашел ответ (или хотя бы объяснение происходящего). BOOTX64.CSV используется загрузчиком EFI «отката», когда запись EFI VRAM была повреждена. А резервный загрузчик перенаправляет запись EFI VRAM на любые имена файлов CSV в качестве загрузчика по умолчанию - в моем случае shimx64.efi. Вот почему всякий раз, когда я позволяю системе EFI запускать фиктивную запись «ubuntu», она переустанавливается в начале списка.

Я не знаю, как испортилась моя VRAM, чтобы использовать запасной вариант, но именно поэтому она сохраняется, когда я пытаюсь это исправить. Ссылка ниже описывает этот процесс, если вам интересно.

http://www.rodsbooks.com/efi-bootloaders/fallback.html

-1

Я имел дело с такими проблемами раньше. Мне всегда приходилось загружаться с Ubuntu Live USB, устанавливать пакет с названием Boot-Repair (или что-то в этом роде, моя память отстой) и использовать его для "обновления" списка вещей, которые видит GRUB.

Подробнее о пакете Boot-Repair: https://help.ubuntu.com/community/Boot-Repair (обратите внимание, что, поскольку он работает с загрузчиком, вам нужно быть пользователем root, чтобы установить и запустить эту программу.)

Убедитесь, что вы полностью прочитали вышеуказанную веб-страницу, так как она объяснит процесс значительно лучше, чем я. Пожалуйста, дайте мне знать, если это поможет.

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