web-dev-qa-db-ja.com

レガシーBIOSでの4TBハードディスクドライブのLinuxサポートを理解しようとしています

データストレージ専用の4TBハードディスクドライブを追加したい。私の現在の構成:

質問

  1. サイズが2TBを超えるので、本当にGPTパーティションを使用する必要がありますか?
  2. はいの場合、GPTパーティションに必要なUEFIまたはレガシーBIOSがサポートされていますか?
  3. レガシーBIOSがサポートされている場合、Arch Linuxは4TBまたは2TBのみを表示しますか?

この新しいハードディスクドライブはデータ専用であり、OSをインストールしたり、そこから起動したりすることはありません。

8
BufferUnderRun

私は GPT fdisk パーティショニングソフトウェアの作成者なので、この問題についてはかなりよく知っています。以前の回答は、私が対処したいいくつかの誤解を助長しています...

2TBを超えるパーティションサイズが必要な場合は、MBRではなくGPTを使用する必要があります。

おそらく。問題は、そのMBRが2 ^ 32セクターで最大になることです。これは2 TiBに変換されます(2 TBではありません。違いの説明については こちら を参照してください)if論理セクターサイズは512バイトです。ただし、多くの外部ディスクと少数の内部ディスクで4 KiB(4,096バイト)の論理セクターが使用されているため、MBRの制限が16 TiBに引き上げられています。

これはlogicalセクターサイズを参照していることに注意してください。最近のほとんどのハードディスクは4096バイト物理セクターを使用していますが、この詳細はパーティションテーブルの制限を決定する上で重要ではありません。

MBRは2TBのパーティションサイズのみをサポートします。複数のパーティション(それぞれ2TB未満)が必要な場合は、すべてのディスクに異なるパーティションとしてアクセスできるはずです。

最大4 TiBの制限(512バイトのセクターを想定)および火で遊ぼうとするなら、はい。 MBRは開始点とサイズとしてパーティションデータを保存するため、MBRの制限を4 TiBまで拡張できますが、それ以上は拡張できません。問題は、これが信頼できないことです。私はこれについて数年前にいくつかのテストを実行しました( こちら を参照)。その結果、このMBR制限の拡張を処理できるOSは、GPTを処理できるものとほぼ同じであることがわかりました。あまりメリットはありません。さらに重要なことに、OS自体が管理できる場合でも、セクターポインターに32ビット値を使用するため、ランダムディスクユーティリティが不安定になる可能性があります。したがって、私は個人的にこの構成のディスクを信頼しません-しばらくは問題なく動作する可能性がありますが、32ビットのクリーンでないディスクユーティリティを実行すると、深刻なデータ破損を引き起こす可能性があります。

BIOSはGPTを認識しないため、GPTでフォーマットされたディスクから起動できません。

このステートメントは正しくないか、せいぜい、一部のOSとBIOSにのみ適用されます。 BIOS起動プロセスには、BIOSがディスクの最初のセクター(別名MBR)を読み取り、そこでコードを実行することが含まれます。重要なのは、従来のBIOSはパーティションテーブルについて何も知らないということです。パーティションテーブルの解釈を開始するのは(しばしば)MBRのブートローダーコードです。したがって、GPTからのBIOSモードの起動を妨げる制限は、boot loadersおよびOSes、BIOSにはありません。ほとんどのGPT対応OS(たとえば、Linux、FreeBSD、さらにはHackintoshブートローダーを使用するOS X)は、BIOSのみのコンピューターのGPTディスクから正常に起動できます。このルールの主な例外はWindowsで、これは(AFAIK)BIOSモードでGPTディスクから起動できません。

これには大きな注意点が1つあります。いくつかのBIOSはあまりにもスマートです。いくつかは実際にはEFIであり、doはパーティションテーブルを理解します。このようなファームウェアは、GPTディスクからのBIOSモードでの起動を複雑にする、または妨げる障害をスローする可能性があります。私はこの問題をかなり注意深く研究し、それについてコメントしました here。 このような問題は通常は克服できますが、解決策はしばしば自明ではありません。

これらの警告にもかかわらず、OSに適切なブートローダーがあれば、BIOSモードブート機能を備えたPC(「実際の」BIOSまたはCSMを備えたEFI)のほとんどのPCは、GPTディスクからBIOSモードでブートできます。 BufferUnderRunが問題のOSはArch Linuxであると言っているので、問題はないはずです。 GRUB 2、SYSLINUX、さらには古いLILOでも実行できます。複数のコンピューターで自分で実行しました。

そうは言っても、新しいディスクは非ブートディスクであるため、これらの問題を心配する必要はありません。 MBRパーティションSSDからLinuxをBIOSモードで起動し、GPTパーティション4 TiBハードディスクを問題なくデータストレージに使用できます。将来的にニーズが変わった場合、構成を再評価する必要があるかもしれませんが、今は心配しません。

18
Rod Smith

サイズが2TBを超えるので、本当にGPTパーティションを使用する必要がありますか?

MBRの制限は、パーティションが最大2TBであり、レガシーBIOSはフォーマットされたGPTのディスクから起動できないことです。

MBRを維持したい場合は、2TB以下のパーティションを複数作成できます。

MBRを維持する唯一の本当の理由は、UEFIではなくBIOSを使用して起動する必要がある場合です。

はいの場合、GPTパーティションに必要なUEFIまたはレガシーBIOSがサポートされていますか?

BIOSはGPTを認識しないため、GPTでフォーマットされたディスクから起動できません。 UEFIはMBRとGPTの両方を認識しているため、どちらからでも起動できます。

レガシーBIOSがサポートされている場合、Arch Linuxは4TBまたは2TBのみを表示しますか?

古代ではないカーネルを想定すると、Linuxはデバイス全体を認識します。デバイス全体が表示されます(例:/dev/sda)とパーティション(/dev/sda1/dev/sda2など)

ただし、2TBの制限は何よりもまずMBRの制限であるため、ディスクがMBRでフォーマットされている場合、Linuxでも2TBを超えるパーティションを置くことはできません。しかし、繰り返しになりますが、それぞれ2TB以下の複数のパーティションを持つことができると思います。 Windowsにはリムーバブルデバイスと複数のパーティション(Win8.1または10で最終的に修正される可能性があります)に関する問題がありますが、Linuxには問題がありません。

GPTを使用すると、単一のパーティションを最大16384 TBにすることができます。

1
LawrenceC
  1. 2TBより大きいパーティションサイズが必要な場合は、MBRではなくGPTを使用する必要があります。 MBRは2TBのパーティションサイズのみをサポートします。複数のパーティション(それぞれ2 TB未満)が必要な場合は、ディスクのすべてに異なるパーティションとしてアクセスできるはずです。

  2. BIOSは、ブートボリューム(この場合はSSD)のMBR/GPTのみを考慮します。 4TBディスクにGPTを使用している限り、SSDでMBRを使用し、レガシーBIOSを使用しても、4TBディスクへのフルアクセスが可能です。

  3. BIOSに関係なく、Arch Linuxは4TBのディスクを認識し、ディスク上にパーティションを作成するときにGPTを使用している限り、4TBのボリュームを作成できます。

1
TheGrandPackard