新しい SSD に 14.04 を新規インストールしました。 覚えていない何らかの理由でブート修復を実行するまではすべて正常に動作していました。 起動すると、次のエラーが表示されます。
Failed to open \EFI\Microsoft\Boot\grubx64.efi - 80000000000000E
Failed to load image
Failed to open \EFI\Microsoft\Boot\MokManager.efi - 80000000000000E
Failed to load image
Failed to open "\EFI\BOOT\fallback.efi": 14
Failed to open \EFI\BOOT\grubx64.efi - 80000000000000E
Failed to load image
Failed to open \EFI\BOOT\MokManager.efi -80000000000000E
Failed to load image
この新しい HDD には Windows がインストールされたことがないので、ブート修復によってこれらのファイルが追加された可能性はありますか? 単純に削除できますか?
ブート情報には次の内容が表示されます。
Boot files: /EFI/Boot/bootx64.efi /EFI/ubuntu/MokManager.efi
/EFI/ubuntu/grubx64.efi /EFI/ubuntu/shimx64.efi
/EFI/Microsoft/Boot/bootmgfw.efi
/EFI/Microsoft/Boot/bootx64.efi
完全なブート情報へのリンクはこちらです。http://paste.ubuntu.com/10583113/
どうすればいいでしょうか?
答え1
ブート修復では、通常 Windows で使用されるファイル名を含む他のファイル名に GRUB がコピーされることがあります。
これらのエラーが表示された後、正常に起動できるかどうかは述べていませんが、ブート修復の出力を見ると、正常に起動できそうです。具体的には、次のようになります。
=================== efibootmgr -v
BootCurrent: 0001
Timeout: 0 seconds
BootOrder: 3003,3001,3004,2001,2002
Boot0000* Notebook Hard Drive BIOS(2,500,00)................-.`.......`.A.`........................................
Boot0001* ubuntu HD(1,800,100000,3c6d1212-54d5-4b03-8eb6-680c74425f10)File(EFIubuntushimx64.efi)
Boot0002* Internal CD/DVD ROM Drive BIOS(3,500,00)................-.g.......g.A.g........................................
Boot0003* Windows Boot Manager HD(1,800,100000,3c6d1212-54d5-4b03-8eb6-680c74425f10)File(EFIMicrosoftBootbootmgfw.efi)RC
Boot0004* Ubuntu HD(1,800,100000,3c6d1212-54d5-4b03-8eb6-680c74425f10)File(EFIubuntugrubx64.efi)RC
Boot2001* USB Drive (UEFI) RC
Boot2002* Internal CD/DVD ROM Drive (UEFI) RC
Boot3001* Internal Hard Disk or Solid State Disk RC
Boot3003* Internal Hard Disk or Solid State Disk RC
Boot3004* Internal Hard Disk or Solid State Disk RC
これは の出力ですsudo efibootmgr -v
。 あまり驚かないでください。長くて恐ろしい 16 進数のほとんどは無視できます。BootCurrent
と のBootOrder
行に特に注意してください。 のBootCurrent
行は、OS がどのように起動したかを示しています。この場合は、 のBoot0001
オプションを使用して起動しており、これは Ubuntu 用であることがわかります。BootOrder
ただし、 の行は、そのオプションの前にコンピューターがいくつかの他のオプションを試すように設定されていることを示しています。 これらはデフォルトのブート ローダーです。通常は ですEFI/BOOT/bootx64.efi
が、コンピューターがEFI/Microsoft/Boot/bootmgfw.efi
これらの一部に を使用している可能性は十分にあります。 私の直感では、Boot Repair によって GRUB がこれらの場所の 1 つまたは両方にコピーされましたが、セキュア ブートがアクティブになっていると、Shim ( ) の助けがなければ GRUB は起動しませんshimx64.efi
。 そのため、エラー メッセージが表示されており、これはファームウェアから来ていると思われます。
最も不可解なのは、Boot0001
(Ubuntu)エントリ経由で起動したにもかかわらず、ないリストに載っていますBootOrder
。他に何も動作しないときにファームウェアがリストから外れるか、または実際にはリストに載っていてもefibootmgr
何らかの理由で報告されていない可能性があります。
理論的には、Linux で次のコマンドを入力することでこの問題を解決できるはずです。
sudo efibootmgr -o 1,3003,3001,3004,2001,2002
BootOrder
これにより、Ubuntuのエントリが最初に機能する点を除いて、行が現在のものに変更されます。ファイルを削除する前にこれを試してください。それでもうまくいかない場合は、先に進んでください。名前を変更するおよびEFI/BOOT/bootx64.efi
/またはEFI/Microsoft/Boot/bootmgfw.efi
ファイル、またはそれらが存在するディレクトリ。これらのファイルまたはディレクトリの名前を変更した後に起動できる場合は、削除してください。名前を変更することで状況が悪化する場合は、緊急ディスクを使用して元の名前に戻すことができます。
答え2
そのため、EFI/Microsoft フォルダーを削除するだけでこの問題を解決できました。ブート修復によってこのフォルダーが作成されたと思われますが、Ubuntu のみのセットアップでは必要ありません。
注意: これはほとんどの場合、特に将来的に Windows を使用できるようにしたい場合には適切な修正ではありません。このように重要なシステム ファイルを削除する前に、何をしているのかをよく理解してください。