Що я можу зробити, щоб виправити цю помилку на grub-efi?


15

У мене встановлена ​​система подвійної завантаження системи з Windows 10 та Ubuntu 16.04, коли ввімкнення моєї ПК відображається правильно, 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

Чи можу я просто проігнорувати це чи зробити щось, що я можу зробити, щоб це виправити?


Це система UEFI? Чи монтує ваш / etc / fstab розділ EFI на / boot / efi? Чи / / boot / efi містить каталог EFI?
ubfan1

Так, це система UEFI, / boot / efi містить каталог EFI, не розумію біт / etc / fstab
BressanFranco

Схоже, оновлення може бути перервано через деякий час, перш ніж пакети повністю завершать налаштування, спробуйте dpkg --configure -a
MttJocy

@MttJocy спробував це, дає мені таку ж помилку з пакетом grub-efi-amd64 та shim-підписаний
BressanFranco

Відповіді:


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-режиму, і в цьому випадку відстеження та оновлення його повинно усунути проблему. Можливо, відновлення завантаження може усунути проблему автоматично. Однак зауважте, що спроба відновлення ризикує погіршити ситуацію, зробивши систему незавантаженою. Тому я раджу діяти вкрай обережно!

Якщо ви не можете це легко виправити, ви можете розглянути можливість заміни GRUB чимось іншим - кілька варіантів доступні, як описано на цій моїй веб-сторінці. GRUB 2 є найбільш складним завантажувач для настройки , коли він йде «від рейок," як у вас є, тому заміна може бути варіантом добре. Мій власний менеджер завантаження rEFInd , ймовірно, буде простий у встановленні, з застереженням, що існує помилка Ubuntu 16.04, яка ускладнює встановлення з PPA із Secure Boot active. (Це розглянуто в документації.) Зауважте також, що просто встановлення нового пакету не переможе вашу проблему; вам потрібно буде видалити пакет GRUB, що спричиняє труднощі з цим. Я висвітлюю цю тему спеціально тут,оскільки це не так просто, як можна подумати. (Ubuntu продовжує намагатися перевстановити GRUB, якщо ви видалите його.)


Boot-Repair в розширених опціях має повну видалення / перевстановлення grub. Це може вирішити проблему з конфігурацією. Обов’язково завантажте в режимі UEFI, якщо встановити UEFI.
Олдфред

@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
Це безпечно зробити?
Pithikos

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: почати видалення шини

потім: ця термінальна команда видалить архів, підписаний шим

крок 2: видалення обшивки

після: успішно видалено архів shim

крок 3: знімок знімається

нарешті: принаймні оновлення програмного забезпечення Ubuntu повинні почати працювати знову, якщо все піде добре (як у моєму випадку)

крок 4: Підказка оновлення системи

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.