GNU/Linux >> Linux の 問題 >  >> Linux

BIOS システムで GPT ディスクから Linux を起動することはできますか?

理論的には、BIOS はハード ドライブを気にしません。 MBR をロードし、制御を MBR のブートローダーに転送するだけです。したがって、技術的には GPT ドライブを BIOS モードで起動することは可能です。これは、GPT ドライブの最初に保護 MBR がまだあるためです。 GPT ディスクをサポートするブートローダー (Grub やその他の多くの Linux ブートローダーなど) が必要です

ただし、ここで小さな問題が発生します。 MBR ドライブでは、ブート ローダーは、「MBR ギャップ」、「ブート トラック」、または「埋め込み領域」と呼ばれる次のセクターにそれらの一部を保存することで、少しごまかすことがよくあります。 GPT ディスクでは、MBR の直後のセクターは GPT データ構造であるため、その目的には使用できず、小さな BIOS ブート パーティション を作成する必要があります。 Grub がそのデータを保存するため

<ブロック引用>

BIOS/GPT 構成では、BIOS ブート パーティションが必要です。 GRUB はその core.img を埋め込みます

<ブロック引用>

注:

  • この方法を試す前に、すべてのシステムがこのパーティショニング スキームをサポートできるわけではないことに注意してください。 GUID パーティション テーブルの詳細をご覧ください。
  • この追加のパーティションは、GRUB、BIOS/GPT パーティショニング スキームでのみ必要です。以前は、GRUB、BIOS/MBR パーティショニング スキームの場合、GRUB は、core.img の埋め込みに Post-MBR ギャップを使用していました。ただし、GPT 用の GRUB は、GPT 後のギャップを使用して、1_メガバイト/2048_セクターのディスク境界を必要とする GPT 仕様に準拠しません。
  • UEFI システムでは、ブート セクタの埋め込みが行われないため、この追加のパーティションは必要ありません。ただし、UEFI システムには依然として EFI システム パーティションが必要です。

ファイル システムを持たず、パーティション タイプ GUID 21686148-6449-6E6F-744E-656564454649 を使用して、ディスク上にメビバイト パーティション (fdisk または gdisk で +1M) を作成します。 .

  • パーティションの種類を選択 BIOS boot fdisk の場合、ef02 gdisk
  • parted セットの場合、フラグ bios_grub を有効にします

GUID パーティション テーブル (GPT) 固有の手順

Grub は、次のステージを含むセクターのハードコーディングもサポートしているため、MBR 後のギャップや BIOS ブート パーティションなしで起動できますが、OS の更新ごとに Grub を更新する必要があるため、これは脆弱です。したがって、これはお勧めしません

詳細については、こちらをご覧ください

  • MBR パーティション ディスクと GPT パーティション ディスクで grub2 はどのように機能しますか?
  • https://wiki.archlinux.org/index.php/partitioning#Choosing_between_GPT_and_MBR
  • GPT に関するレガシー BIOS の問題
  • GPT からの起動
  • Grub BIOS インストールの公式ドキュメント

もう 1 つの方法は、GPT ドライブを MBR に戻すことです。 HDDが大きすぎない場合。実際、MBR ディスクは 2 TB を超え、最大 2 セクターまで (つまり、512 バイトおよび 4096 バイトのセクターを持つディスクではそれぞれ 4 TB および 16 TB)、半分のディスク マージンの直前から続く大きなパーティションを持つことができます。 gdisk、MiniTool Partition Wizard、AOMEI Partition Assistant、EaseUS Partition Masterなど、データを失うことなく変換を行うツールが複数あります(私はそれらのいずれとも提携していません)。

HDD は 250 GB しかないので、MBR で問題なく動作します。しかし、GPT を使用すると、最後にチェックサムとバックアップ テーブルがあるため、はるかに安全ですが、Windows や BIOS GPT に対応していない他の OS をデュアル ブートする場合は、はるかにトリッキーになります。

MBR 署名やアクティブ ブート フラグのチェックなど、本来すべきでないことを熱心に不必要に実行し、そのようなドライブでの起動を拒否する、バグのある BIOS がいくつかあります


理論的には、GPT は BIOS で動作するはずです。ただし、時折非互換性があります。これらは通常、特定のハードウェアのバグまたは特異性の性質であるため、情報は、BIOS および GPT のドキュメントにあるものではなく、例外のレポートになる傾向があります。

すべての可能性は広すぎてここではカバーできませんが、たとえば https://www.rodsbooks.com/gdisk/bios.html を参照してください。問題が発生した場合の解決策についても説明されています。オプションは、BIOS をそのまま使用するか、マザーボードがサポートしている場合は EFI/UEFI に切り替えるかによって異なります。

マザーボード、コンピューター、およびハード ドライブのモデルを質問に追加すると、同等のシステムで試して質問を見た人が、その経験を説明できる可能性があります。


Linux
  1. Linux – 2番目のハードドライブ上のデュアルブートWindows、Uefi / gptシステム?

  2. Parted GPT を使用して Linux で 2TB サイズのパーティションを作成する方法

  3. VHD から Linux を起動できますか?

  1. Linuxでディスクをパーティション分割する方法

  2. 特定のシステムにブートパーティションが必要かどうかを判断するにはどうすればよいですか?

  3. Linux ライブ システムから VHD ディスク イメージを作成する方法を教えてください。

  1. Linux – BIOSを備えた32ビットシステムにGptを使用してインストールしますか?

  2. Linux でスワップをディスク パーティションから LVM ボリュームに移動する方法

  3. ブート パーティションのサイズ変更