2番目のオペレーティングシステムとしてLinux(Fedora)をインストールしました。何度も楽しんできましたが、他のディストリビューションではそうです。インストール後に最初のオペレーティングシステム(Windows 11)を起動しようとしましたが、grubには表示されませんでした。 Windowsを再インストールしようとしましたが、BIOSに入ったときにフラッシュドライブから起動できず、すべてのUEFI起動方法が消えました。これでWindowsがなく、他のものをインストールできません。また、grubの更新、設定ファイルへのいくつかのパラメータの追加などを試しました。 Windowsから起動しようとすると(私の写真の1つに示すように)grubで起動し、その後にディストリビューションを読み込むことができます。
Fedoraをインストールする前に、セットアッププログラムでエラーが発生したときはいつでもEFIファイルを選択して起動しようとしましたが、常に機能しました。問題を解決するためにこの方法を試しましたが、うまくいきませんでした。
すべての画像:https://i.stack.imgur.com/BIcKV.jpg
PS:私の英語力がそれほど良くないことは知っていますが、彼から学んでいます。
答え1
根本的な原因は、UEFIモードではなく、レガシーBIOSモードでFedoraインストーラを起動するためです。ディスクにレガシーBIOSスタイルMBRを作成し、システムファームウェア(現在は?)はUEFIモードではなくレガシーモードで起動することを好みます。両方のモードで起動できるディスクを見つけたら、古いWindows 11インストールに誤った選択である古いモードを選択します。
BIOS設定に「UEFIモードでのみ起動」オプションが含まれている場合は、そのオプションを選択することがこの問題を解決し、将来の再発を防ぐ最も簡単な方法です。
これらのオプションがない場合、これを解決するには2つの方法があります。
一つの方法はMBRブートコードの削除したがって、システムファームウェアはUEFIモードで起動するしかありません。次のように、一部の外部ライブメディアからLinuxを起動し、ハードディスクマスターブートレコードの最初の440バイトに0を書き込むことができます。
dd if=/dev/zero of=/dev/sda bs=440 count=1
これにより、とても慎重です:このコマンドにエラーがあると、追加の破損が発生する可能性があります。また、外部メディアから起動するとシステムディスクが別のデバイス名を取得できるため、正しいディスクをターゲットにしていることを確認し、必要に応じてコマンド/dev/sda
の一部を調整してください。
(ディスクはGPTパーティションを使用してパーティション化されているため、MBRの内容は重要ではありませんが、安全のために最初の440バイト以降は上書きしないことが最善です。)
別の方法は、Windowsインストールメディア(重要:UEFIモード!)から起動し、「Repair Boot」機能を使用することです。
/dev/sda7
このパーティションには以前のバージョンのBIOSのGRUBが含まれており、FedoraがUEFIモードで正しくインストールされていると役に立たなくなるため、このパーティションを削除できます。
既存のFedoraインストールを修復するには、外部のライブLinuxメディアから起動し、Fedoraインストールのルートファイルシステムをマウントし、chrootに移動し、パッケージをアンインストールしてgrub2-pc-<version number>.x86_64.rpm
(従来のBIOSスタイルで起動するGRUBバージョンの場合)インストールできます。grub2-efi-<version number>.x86_64.rpm
。 Secure Bootとの互換性のために、このshim-<version number>.x86_64.rpm
パッケージもインストールする必要があります。その後、/dev/sda1
EFIシステムパーティションをマウントし/boot/efi
て実行して、grub2-install --target=x86_64-efi /dev/sda
GRUBのUEFIバージョンを明示的にインストールする必要があります。
ライブメディアがUEFIモードで起動しないと、grub2-install
UEFI起動変数にアクセスできないため、エラーメッセージが表示されることがあります。ただし、UEFI GRUBがまだインストールされている必要があるため、Boot from EFI File
(\EFI\Fedora\shimx64.efi
セキュアブート互換)または(セキュアブートを無効にする)を選択して\EFI\Fedora\grubx64.efi
ブートできます。
システムがUEFIモードでFedoraで起動したら、再実行してgrub2-install --target=x86_64-efi /dev/sda
必要なUEFI起動変数を作成するか、パッケージをインストールしてefibootmgr
それを使用してUEFI起動変数を直接設定できます。