Что я могу сделать, чтобы исправить эту ошибку на grub-efi?

15

У меня настроена система двойной загрузки с Windows 10 и Ubuntu 16.04, при включении моего ПК grub показывает корректно, Windows и Ubuntu распознаются, проблем нет. Каждый раз, когда есть обновление или мне нужно что-то установить, я получаю эту ошибку:

Errors were encountered while processing:
 grub-efi-amd64-signed
 shim-signed
Setting up shim-signed (1.12+0.8-0ubuntu2) ...
Installing for x86_64-efi platform.
grub-install: errore: cannot find EFI directory.
dpkg: error processing package shim-signed (--configure):
 subprocess installed post-installation script returned error exit status 1
Setting up grub-efi-amd64-signed (1.66+2.02~beta2-36ubuntu3) ...
grub-install: errore: /usr/lib/grub/i386-pc/modinfo.sh doesn't exist. Please specify --target or --directory.
dpkg: error processing package grub-efi-amd64-signed (--configure):
 subprocess installed post-installation script returned error exit status 1

Могу ли я просто игнорировать это или сделать что-то, что я могу сделать, чтобы это исправить?

BressanFranco
источник
Это система UEFI? Ваш / etc / fstab монтирует раздел EFI в / boot / efi? Содержит ли / boot / efi каталог EFI?
ubfan1
Да, это система UEFI, / boot / efi содержит каталог EFI, не понимаю бит / etc / fstab
BressanFranco
Похоже, что обновление могло быть прервано за некоторое время до того, как пакеты полностью закончили настройку.
Try
@MttJocy попробовал это, выдает мне ту же ошибку с пакетом grub-efi-amd64-подписанный и подписанный
shim

Ответы:

4

Ссылка /usr/lib/grub/i386-pc/modinfo.shуказывает на установку GRUB в режиме BIOS - в частности, в i386-pcразделе этого пути указана версия GRUB в режиме BIOS. (Для установки в режиме EFI на AMD64 / x86-64 эквивалентный путь - /boot/grub/x86_64-efi/modinfo.sh.) OTOH, имена пакетов четко указывают на установку GRUB в режиме EFI. Два не должны быть смешаны, но как-то это случилось в вашем случае. Возможно, у вас есть оставшийся файл конфигурации GRUB из предыдущей установки в режиме BIOS, и в этом случае его отслеживание и обновление должны решить проблему. Возможно, Boot Repair может решить проблему автоматически. Тем не менее, обратите внимание, что попытка восстановления может усугубить ситуацию, сделав вашу систему не загружаемой. Поэтому я советую действовать с особой осторожностью!

Если вы не можете легко это исправить, вы можете посмотреть на замену GRUB чем-то другим - доступно несколько альтернатив, как описано на этой моей веб-странице. GRUB 2 - самый сложный загрузчик для настройки, когда он «сходит с рельсов», как у вас, поэтому замена его может быть хорошим вариантом. Мой собственный менеджер загрузки rEFInd , скорее всего, будет прост в установке, учитывая, что существует ошибка Ubuntu 16.04, которая усложняет установку из PPA с активной безопасной загрузкой. (Это описано в документации.) Также обратите внимание, что простая установка нового пакета не решит вашу проблему; вам нужно удалить пакет GRUB, который вызывает у вас трудности с этим. Я освещаю эту тему специально здесь,поскольку это не так просто, как вы думаете. (Ubuntu продолжает пытаться переустановить GRUB, если вы удалите его.)

Род Смит
источник
Boot-Repair в расширенных опциях имеет полную деинсталляцию / переустановку grub. Это может исправить проблему конфигурации. Обязательно загрузитесь в режиме UEFI, если UEFI установлен.
oldfred
@oldfred Как мне убедиться, что я загружаюсь в режиме UEFI? если это настройка биоса, то она должна быть (на самом деле я точно уверен, что это так) уже включена
BressanFranco
Вы выбираете из меню загрузки UEFI. Обычно флешку показывают дважды. Один раз как UEFI: flashdrive и снова как flashdrive, который затем загружается в BIOS. Вы также можете сказать, если вы получаете меню grub, это UEFI, если вы видите экран доступности (крошечные значки внизу), это BIOS. Показывает установку со скриншотами. Как фиолетовый экран доступности BIOS, так и черный экран меню UEFI help.ubuntu.com/community/UEFI
oldfred
попробовал загрузочный диск восстановления и выполнить авто восстановление, теперь все хорошо, не получая те же ошибки, что и раньше, update-grub заново добавил раздел windows. Все, кажется, хорошо
BressanFranco
40

Пытаться

sudo apt-get purge grub\*
sudo apt-get install grub-efi
sudo apt-get autoremove
sudo update-grub

чинить.

Джон
источник
исправил это с помощью живого диска с восстановлением ботинка
BressanFranco,
Эти команды работали как шарм Xubuntu 16.04
guyfromfl
4
Это безопасно сделать?
Питикос
1
Это безопасно в обоих направлениях. Вы можете использовать приведенные выше команды или загрузочный диск восстановления.
Джон
1
Я обновил Ubuntu 17.04 до 18.04 и затем получил ошибку: Errors were encountered while processing: grub-efi-amd64 grub-efi-amd64-signed shim-signed E: Sub-process /usr/bin/dpkg returned an error code после выполнения sudo apt upgrade. Ваше решение работало со мной тоже. Благодарю.
Марио идти
4

В случае, если кто-то хочет настроить мультизагрузочный USB-диск для работы с mbr и grub:

Если ваша текущая система EFI, то вам будет не хватать этого:

sudo apt install grub-pc-bin

Если ваша текущая система MBR, то вам будет не хватать этого:

sudo apt install grub-efi-amd64-bin
# You may also need grub-efi-amd64-signed
Мистер Б
источник
1

пытаться:

sudo apt-get -f install

Шаг 1: начать удаление прокладки

затем: эта команда терминала удалит архив с подписью shim

шаг 2: удаление шим

после: при успешном удалении архива шимов

шаг 3: прокладка снята

наконец, по крайней мере, обновления программного обеспечения Ubuntu должны начать работать снова, если все пройдет хорошо (как в моем случае)

шаг 4: запрос на обновление системы

Фредди
источник