BIOS-MBR(msdos) Windows 10 での Arch Linux UEFI デュアル ブート

BIOS-MBR(msdos) Windows 10 での Arch Linux UEFI デュアル ブート

UEFI モードの Arch Linux と Windows 10 (BIOS-MBR) モードをデュアルブートしようとしていますが、正しくパーティション分割する方法や GRUB ブートローダーを使用する方法がわかりません。

初心者向けガイドで読んだところによると、Windows 10 は MBR 上にあるため、UEFI-MBR にインストールする必要があるとのことですが、ブート ローダーのチェーンロードについても書かれており、私の理解が正しければ、この設定では動作しないことになります。

それで、何をする必要がありますか?

必要であれば、まずUEFIでWindows 10を再インストールすることができます

答え1

はい、既存の Windows 10 BIOS/MBR インストールがある場合、最も簡単な方法は、Arch 用に用意した領域の一部 (100 MB 程度) を使用して EFI システム パーティション (FAT32) を作成することです。マザーボードに標準準拠の UEFI が搭載されている限り、UEFI/MBR は機能するはずです。

ただし、この方法では grub は Windows Boot Manager をチェーンロードできません ( bcdbootWindows 内の ESP に UEFI バージョンの 1 セットをインストールしない限り)。UEFI (Linux) とレガシーブートモード (Windows) を切り替えるには、UEFI のブートメニューを使用する必要があります。また、以下を試すこともできます。再検索けれど。

Windows を再インストールしても構わない場合は、インストール メディアを UEFI モードで起動して、UEFI/GPT Windows インストールが実行されるようにしてください。その後、Windows によって作成された ESP を Arch (grub、systemd-boot...) と共有することが必要になる可能性が高くなります。

答え2

一般的に、UEFIブートローダーからBIOSブートローダーへのチェーンロードはできません。その逆も同様です。最善の方法は、WindowsとGRUBのどちらかを選択することです。ファームウェアのほとんどのファームウェアでは、BIOS モード ディスクも特別な UEFI ブート エントリとしてリストされるため、ブート メニュー (F12 または Esc キーの後ろにあるもの) で BIOS モード ディスクを表示する必要はありません。

この場合のプロセスは通常のArchインストールと同じになります(デュアルブートはファームウェアレベルで完全に処理されるため)。EFIシステムパーティション(約200MBのvfat)を作成し、UEFIモードでLinuxをインストールし、grub2またはよりシンプルなシステムブートESP ではそれだけです。

しかし、実際には両方のオペレーティングシステムを同じ方法(理想的にはUEFIモードですが、どちらでも動作します)でインストールしたほうが(少なくとも混乱が少なくなるので)良いでしょう。そうすれば、できたgrub または sd-boot から Windows の BOOTMGR をチェーンロードします。

gdisk(必要に応じて、データを失うことなくMBR ディスクを GPT に変換できます。)

答え3

私も同じ状況に陥っていましたが、昨日はなんとか設定に成功しました。BIOS メニューでレガシー ブートを行うように設定してから、Arch Linux のブートを試みることができます。

起動中に grub コマンドラインが開いた場合は、 を含むパーティションを探してください/grub。理想的には、次の操作を実行できます。

ls
>> (hd0,msdos0), (hd0,msdos1), ...
ls (hd0,msdosX) (where X is the number which contains grub)
>> /boot ...

これで、GRUB 変数を適切に設定し、ブートを実行できます。

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

これにより、GRUB が指している OS がロードされる可能性があります。複数のエントリがある場合は、選択するオプションが表示されます。Windows エントリが見つからない場合は、Linux に移動して追加できます。

os-prober
update-grub

以上です。再起動すればすべてが解決するはずです。

関連情報