不規則な幼虫の行動。デュアルブートしてLinuxを再インストール!

不規則な幼虫の行動。デュアルブートしてLinuxを再インストール!

UbuntuとWindows 10をデュアルブートしましたが、うまく動作します。私のコンピュータのUbuntuのパフォーマンスが遅いので、デュアルブートを維持しながらElementary OSと交換したいと思います。 E OS iso を起動し、別のものを選択し、Ubuntu パーティションを削除し、新しいパーティションを作成し、その上に基本要素をインストールしました。理論的にはうまくいくはずです。再起動するとすぐにWindows 10で起動します。 BIOSがWindowsをLinuxよりも高い優先順位で起動するように設定できることを知っています。だからBIOSに入り、順序を変更しました。今私はgrubプロンプトにいます。次のコマンドを使用してElementaryから起動します。

set prefix=(hd0,7)/boot/grub
set root=(hd0,7)
insmod normal
normal

私はElementary OSへようこそ。次に、次を実行します。

sudo update-grub

すべてがうまくいった。ノートパソコンを再起動し、正常に動作すると思いました!次に、grubプロンプトを再入力しました。 Elementaryを起動するために上記のコマンドを入力すると、grubメニューが表示されます。すべての項目で動作します(WindowsおよびElementary OSから起動できます)。

Google検索を行ったところ、まだ実行していないことがわかりましたsudo grub-install /dev/sda。だから私は小学校に戻ってそれを持って走った。 「'bios boot'というラベルの付いたGPTパーティションが見つかりませんでした」というエラーが発生しました。しばらくの間、インターネット検索を行った後、「bios_grub」フラグを使用して新しいパーティションを作成する必要がありました。 (なぜ?このようなことはまったく効果がありませんでした。)そうでした。問題は同じままです。 (続行BIOSを使用してWindowsを起動したり、grubプロンプトでコマンドを入力していずれかで起動できます!)

編集:私は見たこの回答この質問を書きながらやってみたかったです。しかし、/boot/grub ディレクトリに grubx64.efi がありません。 EFIモードでOSdmesg | grep "EFI v"をインストールせずに[ 0.000000] efi: EFI v2.31 by American Megatrends

答え1

このフラグを持つパーティションは、bios_grubGPTパーティションディスクでレガシーMBRスタイルのブートローダを使用したい場合にのみ適しています。

ファイルを確認し、使用する物理ディスクを識別していることを/boot/grub/device.map確認する必要があります。(hd0)はい (hd0)Elementary OSを起動するとき。 GRUBのUEFIバージョンを再インストールする前にこれを実行してください(下記参照)。

UEFIブートローダファイルの名前は必ずしも指定されていませんgrubx64.efi。ただ、grub.efiまたは基本的にeverything.efiかもしれません。efibootmgr -vUEFI GRUBブートローダをロードするためにUEFIが使用する正確なパス名を表示するには、実行してください。パス名は、EFIシステムパーティション(ESPパーティションとも呼ばれます)のルートに相対的です。これは、Windowsブートローダも含む小さなFAT32パーティションです。このefibootmgrコマンドは通常、Unix / Linuxスタイルのスラッシュを使用するのではなく、Windowsバックスラッシュルールを使用して起動ファイルのパス名を表示します。

一部のLinuxディストリビューションは、デフォルトでESPパーティションをまったくマウントしません。ブートローダを再インストールする必要がある場合にのみマウントします。他のディストリビューションはESPパーティションを/boot/efi。 ESPパーティションがマウントされている場合、Linuxで表示されるWindows UEFIブートローダのフルパス名は/boot/efi/EFI/Microsoft/Boot/bootmgfw.efi

/EFI/<vendor name>UEFI規格では、ブートローダはESPパーティションのサブディレクトリにある必要があります。したがって、ElementaryのUEFI GRUBブートローダは/boot/efi/EFI/<something>/<something>.efi

システムのコマンドは、grub-install少なくとも基本的に伝統的なスタイルのGRUBブートローダをインストールしようとしているようです。 (再)インストール中のブートローダのUEFIバージョンを明示的に指定するために、--target同様のオプションを使用する必要がありますか?sudo grub-install --target=x86_64-efi /dev/sda

関連情報