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

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

私は 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

無視してもいいのでしょうか、それとも修正するために何かできることはありますか?

答え1

試す

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

修正します。

答え2

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

答え3

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

簡単に修正できない場合は、GRUBを他のものに置き換えることを検討してください。いくつかの代替手段があります。私のこのWebページ。GRUB 2はほとんどブートローダーは、あなたのように「軌道から外れ」たら調整するのが難しいので、交換するのが良い選択肢となるのです。私自身はrEFInd ブートマネージャーインストールは簡単そうですが、Ubuntu 16.04のバグにより、セキュアブートを有効にした状態でPPAからインストールするのが難しくなるという注意点があります。(これはドキュメントに記載されています。)また、新しいパッケージをインストールするだけでは問題は解決しないので、アンインストールGRUBパッケージが、それを困難にしている。そのトピックを具体的に取り上げますここ、思ったほど簡単ではないからです。(Ubuntu は、GRUB を削除すると再インストールを試行し続けます。)

答え4

試す:

sudo apt-get -f install

ステップ1: shimのアンインストールを開始する

次に、このターミナルコマンドはshim署名されたアーカイブを削除します。

ステップ2: shimのアンインストール

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

ステップ3: シムを外す

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

ステップ4: システムアップデートのプロンプト

関連情報