Ubuntu 18.04 не загружается после установки Windows 10
После установки Windows 10 на новый жесткий диск Ubuntu 18.04 больше не загружается.
Компьютер загружается до Grub 2.02, но до версии, с которой я не знаком, показывая изображения EFI.
Выбор различных параметров приводит к следующему:
- "EFI / ubuntu / fwupx64.efi" возвращает меня в меню без сообщений
- "EFI/ubuntu/mmx64.efi" показывает экран управления ключами Shim UEFI
- Все опции "efi / Efi / /.efi" приводят к ошибке "файл не найден"
- Параметры Windows загружаются в Windows правильно
Я попробовал Boot-Repair пару раз, но не повезло. Последний отчет от Boot-Repair можно найти здесь.
Есть ли способ полностью переустановить настройку EFI?
Обновление: работает grub-mkconfig
производит те же неправильные пункты меню. Конфиг генерируется с использованием файлов в /etc/grub.d
, Мой каталог только содержит /etc/grub.d/25_custom
, который является единственным файлом в этом каталоге. Похоже на мой /etc/grub.d
шаблоны хранятся, и мне нужно найти способ их восстановить. Есть ли команда для перестроения этих шаблонов?
2 ответа
Как отмечено в комментарии @karels, конфигурация grub генерируется с использованием файлов в /etc/grub.d
, Мой каталог только содержит /etc/grub.d/25_custom
, который содержал странные пункты меню, показанные на скриншоте. Похоже на мой /etc/grub.d
шаблоны, возможно, были скрыты boot-repair
,
Я исправил это:
- Загрузка с Live CD (вероятно, важно использовать ту же версию Ubuntu)
sudo mount /dev/sdxx /mnt
sudo cp /etc/grub.d/* /mnt/etc/grub.d/
sudo update-grub
- Перезагрузитесь и расслабьтесь после 48 часов боли
Предполагая, что Windows была установлена после Ubuntu, загрузитесь в Windows и откройте командную строку в режиме администратора. Запустите эту строку cmd:
bcdedit /set {bootmgr} path \EFI\ubuntu\grubx64.efi
Компьютер должен загружаться в Ubuntu напрямую. Откройте терминал и обновите Grub:
sudo update-grub
Если вы видите Win Boot Manager, вы будете готовы к работе. Фактическое меню Grub (скриншот) является результатом восстановления Grub, и его не нужно использовать, так как проблема на стороне Windows.