UEFI を使用する Windows10+Linux では GRUB をロードできません。

UEFI を使用する Windows10+Linux では GRUB をロードできません。

UEFIを搭載した新しいコンピュータがありますが、デュアルブートではWindows 10およびLinuxを使用できません。 Linux + GRUBをインストールして再起動すると、GRUBが表示されずにWindowsがロードされます。まず、Windowsをインストールし、次に示すように通常Linuxをインストールします。 。すべてのディスクを消去してスタンドアロンのLinuxのみをインストールすると、GRUBは正常に動作します。問題がWindows 10に関連しているのか、BIOS設定に関連しているのかわかりません。

BIOS設定でUEFIモードを有効にし、セキュアブートを無効にし、起動順序はUSB、CD / DVD、ハードドライブ、OSブートローダー、最後にネットワークでした。

私のハードドライブは500GBです。

50Gbを使用してWindowsをインストールしました(Windowsで作成されたパーティションは、EFIシステム、Microsoft予約、Microsoft基本データ、およびWindowsの回復です)。

Linuxでは、/boot/efi 500Mb、/50Gbを作成し、8Gbを置き換えました(/homeパーティションなし、すべて/rootにあります)。

最初の試み:/boot/efiにEFIパーティションをマウントし、Linuxをインストールし、GRUBをエラーなくインストールしましたが、起動後にGRUBの代わりにWindowsがロードされました。

2回目の試み:Windowsが作成したEFIパーティションを使用して/boot/efiにマウントし、Linuxをインストールし、GRUBをエラーなくインストールしましたが、起動後もGRUBの代わりにWindowsがロードされました。

私はFedoraディストリビューションの問題であると思ってKALIとMintを試してみましたが、まだGRUBがロードされておらず、Windowsは常に自動的に起動します。

何が間違っているのか知っていますか?私が理解しているように、LinuxはUEFIベースのシステムでWindowsと共存できますが、私のラップトップでは機能しません。

答え1

デバッグするのは簡単ではありません。次の側面を考慮する必要があります。

  • パーティションテーブルはGPTでなければなりません。
  • ブートローダ(通常grub)はEFIシステムパーティション(ESP)にインストールする必要があり、grubのEFIバージョンでなければなりません(debianやgrub-efi-amd64などのgrub2いくつかgrub-efi-の依存関係)[修正してくれてありがとう@TelcoM]; grub-efi-amd64-signedshim-signed
    • refind代替ブートローダとして考えると、grubより大きな成功を収めることができます。
  • UEFI モードで起動する場合にのみ grub-efi(*) をインストールできます。つまり、ライブKali / Ubuntu / Fedoraのライブイメージから起動し、レガシー起動を無効にするようにBIOS対応設定を構成します。

(*)厳密に言えば、本当ではありませんが、多くの推測なしにこれを行うことができる信頼できるツールはありません。refindこれより良くしてくださいgrub-efi

これが不可能な理由はありません。

答え2

問題は、Windowsを初めてインストールするときに、その起動項目がLinuxの起動項目の上にあることです。 GRUBを表示するには、この項目をロードする必要があります。この順序を変更するには、次の手順を実行してください。

  1. 起動中に特定のキーを押してアクセスできる起動設定を入力します(ノートブックのマニュアルを確認)。
  2. オペレーティングシステムの起動順序を変更するオプションを探します(ほとんどの起動順序リストのオペレーティングシステムの起動ローダエントリでEnterキーを押すとアクセスできます)。
  3. LinuxエントリをWindowsの上に移動します。
  4. キーを押してsave & exit再起動してください。

これを行うには、Linuxがデフォルトで起動し、GRUBがWindowsから起動するオプションと共に表示されるはずです。

答え3

一般的な問題は、最新のシステムがリムーバブルメディアからオペレーティングシステムのインストーラを起動するための1つではなく2つの起動オプションを提供できることです。 1つはUEFIスタイルのブート用、もう1つは既存のBIOSスタイルのブート用です。ほとんどのオペレーティングシステムのインストーラは起動方法を検出し、何の質問もせずに同じ方法でオペレーティングシステムのブートローダを自動的にインストールします。

インストールメディアから起動するために最初に利用可能なオプションをすばやく選択すると、誤ってレガシーBIOSスタイルでインストーラを起動したり、以前のバージョンのGRUBをインストールしようとします。ただし、ファームウェアはUEFIスタイルのブート用に構成されているため、インストールが完了するとレガシースタイルのブートローダは無視され、その逆も同様です。

ほとんどのLinuxインストーラでは、実際のインストールが始まる前に+をCtrl押してシェルプロンプトを表示できます(ただし、キーボード/言語オプションを使用する前に少なくとも選択する必要があるかもしれません)。これを使用して起動モードを確認できます。ディレクトリが存在すると、システムは確実にUEFIモードで起動します。AltF2/sys/firmware/efi

不明な場合は、Linuxのインストールを続行する前に、上記のヒントを使用してインストーラの起動モードを確認し、必要に応じて他のモードでインストーラを再起動する必要があります。

関連情報