grub-efiでこのエラーを修正するにはどうすればよいですか?


15

Windows 10とUbuntu 16.04でデュアルブートシステムをセットアップしています。PCの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

無視することはできますか、それを修正するためにできることはありますか?


これはUEFIシステムですか?/ etc / fstabは/ boot / efiにEFIパーティションをマウントしますか?/ boot / efiにはディレクトリEFIが含まれていますか?
ubfan1

はい、UEFIシステムです。/boot/efiにはEFIディレクトリが含まれていますが、/ etc / fstabビットを理解していません
BressanFranco

パッケージの設定が完全​​に完了する前に、更新が中断されたように見えるdpkg --configure -a
MttJocy

@MttJocyはそれを試しましたが、パッケージgrub-efi-amd64-signedとshim-signedで同じエラーが発生します
BressanFranco

回答:


4

への参照/usr/lib/grub/i386-pc/modinfo.shは、BIOSモードのGRUBインストールを示します。具体的にはi386-pc、そのパスのセクションはGRUBのBIOSモードバージョンを識別します。(AMD64 / x86-64でのEFIモードのインストールの場合、同等のパスは/boot/grub/x86_64-efi/modinfo.sh。)OTOH、パッケージ名はEFIモードのGRUBインストールを明確に示します。2つを混在させることはできませんが、どういうわけかあなたのケースで起こっています。おそらく、以前のBIOSモードインストールで残ったGRUB構成ファイルを持っている可能性があります。その場合、追跡して更新すると問題が解決するはずです。おそらく、ブート修復によって問題が自動的に修正される可能性があります。ただし、修復を試みると、システムが起動不能になるため、事態が悪化するリスクがあります。したがって、細心の注意を払って進めることをお勧めします!

簡単に修正できない場合は、GRUBを別のものに置き換えることを検討できます。このWebページで説明しているように、いくつかの代替手段が利用可能ですGRUB 2は、あなたが持っているように「レールから外れた」状態になったときに微調整するのが最も難しいブートローダーです。私自身のrEFIndブートマネージャーは簡単にインストールできそうですが、セキュアブートがアクティブな状態でPPAからのインストールを複雑にするUbuntu 16.04のバグがあることに注意してください。(これはドキュメントで説明されています。)また、新しいパッケージをインストールするだけでは問題が解決しないことに注意してください。GRUBパッケージをアンインストールする必要があります。これにより、それが困難になります。ここではそのトピックについて具体的に説明しますが、思っているほど簡単ではないからです。(Ubuntuは、GRUBを削除すると再インストールを試行し続けます。)


詳細オプションのブート修復には、grubの完全なアンインストール/再インストールがあります。これにより、構成の問題が修正される場合があります。UEFIをインストールする場合は、必ずUEFIモードで起動してください。
オールドフレッド

@oldfred UEFIモードで起動することを確認するにはどうすればよいですか?BIOS設定の場合、(実際には確実に有効になっているはずです)既に有効になっている必要があります
BressanFranco

UEFIブートメニューから選択します。通常、フラッシュドライブは2回表示されます。一度UEFI: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 codesudo apt upgrade。あなたのソリューションも私と一緒に機能しました。ありがとう。
マリオ

4

mbrとgrubの両方を処理するマルチブートUSBディスクのセットアップを検討している場合:

現在のシステムが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:シムのアンインストール

後:shimアーカイブが正常に削除された状態

ステップ3:シムの取り外し

最後に:(私の場合のように)すべてがうまくいけば、少なくともUbuntuソフトウェアの更新が再び機能するはずです。

ステップ4:システム更新プロンプト

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.