質問: 4TB以上の外付けHDDの購入を検討していて、このサイトで2TiBの壁というものを知りました。 MBRではパーティション・テーブルのデータの幅が32bit分だというのに起因して2Tbytes以下のパーティション・サイズしか認識しないと理解しました。 > > だが大容量化に伴ってまた新たな問題が持ち上がってきた。いわゆる「2Tbytesの壁」(*)という制限である。今度は、PC側のディスク・システムの仕様上の制限により、2Tbytesの制限を受けることになってしまった。その原因は、各ディスクの先頭に置かれているMBR(マスター・ブート・レコード)に記録できるパーティション・テーブルのデータの幅が32bit分しか用意されていないことに起因する。このため、最大でも > > > 2の32乗セクタ×512bytes=2,199,023,255,552bytes=2Tbytes > > > までしかパーティション・サイズを確保できないという問題が起こってしまった。 > > > しかし今使っている外付けHDDの情報をディスクの管理でみると2794.52GBを認識していて、2Tbytesを超えている?と疑問に思いました。画像は外付けHDDの容量をディスクの管理でみました。 ![画像の説明をここに入力](https://i.stack.imgur.com/y9otp.png) プロパティでディスク1のボリュームをみるとパーティションスタイルはMBRになっていました。 ![画像の説明をここに入力](https://i.stack.imgur.com/8auy1.png) 2Tbytesというサイズ制限を受けているにも関わらず、なぜ3TBの容量がMBRで認識されるのか、ご教授よろしくお願いいたします。 環境 * Windows 10 64bit * 外付けHDD(かなり前に購入したもので型番など不明です)
回答: > > 2の32乗セクタ×512bytes=2,199,023,255,552bytes=2Tbytes > > > の計算式の通りです。セクタサイズが512bytesの場合は2TBが上限となります。逆に言えばセクタサイズが1024bytesであれば4TBがMBRで管理できる上限となります。 ここ30年ほど、セクタサイズはずっと512bytesが使われていましたが、それ以前では256bytes等、セクタサイズもまちまちでした。最近はAdvanced Formatといって4096bytesのディスクが登場しています。 確認のためPowerShellで次のコマンドを実行してみてください。 ``` Get-CimInstance Win32_DiskDrive | Format-List DeviceID, Model, BytesPerSector, TotalSectors, Size ``` 当該ディスクは`BytesPerSector`が512よりも大きい値になっているのではないでしょうか?