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 をチェーンロードできません ( bcdboot
Windows 内の 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
以上です。再起動すればすべてが解決するはずです。