私は過去数日間成功していないままArch Linuxをインストールしようとしてきました。インストールは完全に機能しましたが、コンピュータを再起動したときにGRUBが表示されず、起動オプションにも表示されませんでした。
私は多くの研究をしてきましたが、効果的な解決策が見つかりませんでした。これが問題の原因であるかどうかはわかりませんが、/boot/efi/EFIにはgrub-installとgrub-mkconfigを実行した後にアーチフォルダがありません(Ubuntuを使用したときにubuntuフォルダがありました)。
fstabが正しく設定されていると確信しています。アーチガイドのすべてのステップに従いましたが、何が間違っているのかわかりません。
編集:セキュアブートは無効になっており、Windowsから直接起動します。起動メニューを表示すると(F12キーを押す)、Windowsオプションのみが表示されます。 efibootmgr -v の出力は次のようになります。
BootCurrent: 0000
Timeout: 0 seconds
BootOrder: 2001,0001,2002,2003
Boot0000* USB HDD: USB Flash Disk PciRoot(0x0)/Pci(0x14,0x0)/USB(0,0)/USB(1,0)/HD(1,MBR,0x72539,0x800,0xf00000)RC
Boot0001* Windows Boot Manager HD(1,GPT,88f77a3e-99ca-42d8-9191-96d66428a9f6,0x800,0x32000)/File(\EFI\Microsoft\Boot\bootmgfw.efi)RC
Boot0002* GRUB HD(1,GPT,88f77a3e-99ca-42d8-9191-96d66428a9f6,0x800,0x32000)/File(\EFI\GRUB\grubx64.efi)
Boot0004* arch HD(1,GPT,88f77a3e-99ca-42d8-9191-96d66428a9f6,0x800,0x32000)/File(\EFI\arch\grubx64.efi)
Boot2001* EFI USB Device RC
Boot2002* EFI DVD/CDROM RC
Boot2003* EFI Network RC
答え1
出力は、efibootmgr
BootOrder にリストされた最初の非 USB ブートエントリがBoot0001
Windows ブートローダラインに対応する 0001 であることを示しています。その結果、Windows 10は、メジャーアップデート中に時々発生するように、リストの一番上に上がりました。
まず、出力にリストされているUUIDを使用してEFIシステムパーティションを識別しますefibootmgr
。
# blkid | grep 8f77a3e-99ca-42d8-9191-96d66428a9f6
/dev/sd*
これは、ファームウェアで使用されている実際のESPに対応するLinuxデバイスを識別する必要があります(おそらく同様)。インストールされていることを確認してください/boot/efi
。一部のLinuxディストリビューションでは、実際にはデフォルトで削除されます。
その後、確認または/boot/efi/EFI/GRUB/grubx64.efi
存在/boot/efi/EFI/arch/grubx64.efi
します。
これらのいずれも存在しない場合grub-install <disk device reported by blkid>
:を実行して問題を解決する必要があります。
grubx64.efi
これらのファイルがある場合は、次のコマンドを使用してLinuxを起動順序に再追加できます。
# efibootmgr -o 2001,0002,0004,0001,2002,2003
(これは、「USB HDDからUEFI起動を試みた後、\EFI\GRUB\grubx64.efi
ESPパーティション、\EFI\arch\grubx64.efi
ESPパーティションで試してからWindowsブートローダとDVD、およびネットワーク起動オプションに置き換えます」)。
通常、この最後のステップは主要なWindowsアップデートの後に必要な唯一のステップですが、実際にESPパーティションの内容を完全に上書きしても、grub-install
このステップが必要になる場合があります。
答え2
これは私自身の質問であることを知っていますが、問題を解決し、他の人がこの問題に直面する場合に備えて答えを追加することにしました。
マイクロソフトの指示に従ってコンピュータをリセットしました。ここ。その後、新しくインストールするためにLinuxのプライマリパーティションとルートパーティションを削除しました。このプロセス中にEFIシステムパーティションを/boot/efiにマウントする必要があり、PCをリセットした後も/boot/efi/EFI/GRUBと/boot/efi/EFI/archがまだ存在することに気づきました。以前の試みで問題になった破損したディレクトリを削除しました。
問題なくインストールされましたが、Windowsではまだアーチで起動できないため、Windows cmdで管理者権限で次のコマンドを実行する必要があります。
bcdedit /set {bootmgr} path \EFI\GRUB\grubx64.efi
その後、起動メニューからアーチから起動できます(起動時にf12を押す)。
まだ正確な問題が何であるかわかりません。説明できる人がいる場合は、回答を追加してください。