容量の壁
ATAインターフェイスとしては128ペビバイトの管理が可能になったが、ハードディスクのMBRパーティションでは、1パーティションで管理できる総セクター数は32ビット(2 = 4,294,967,296セクタ)となり、総容量は2TiB(512×2 = 2,199,023,255,552バイト)までとなる。
また、Windows内部では、大容量ストレージへのコマンド発行はSCSI CDB (Command Descriptor Block) に抽象化されており、10バイトCDB (32bit LBA) を用いるWindowsでは、総容量2TiB超のドライブ(パーティションではない)を扱えない。
ドライブおよびパーティションの双方で2TiB超を扱うためには、GPT(GUIDパーティションテーブル)、および64ビットLBA(Windowsの場合16バイトCDB)の双方をサポートするOSが必要となる。GPTはLBAを64ビット(8バイト)で管理するため、64ビットLBA下での制限は512×2 = 8ZiBとなる。
Windows XP(x86版)以前では、GPTと64ビットLBAはサポートされない。
286は、本格的な32ビットマシンではなく16ビットマシンではあったものの、プロテクトモードはそれなりのメモリ管理システムを持っており、24ビットの空間(16MiB)があったが、それを活用できるパソコン用OSとしてはOS/2やWindowsは広く普及するに至っておらず、MS-DOSでは前述の8086との互換性が重視されていたため、あまり活用されなかった。わずかに、A20線(en:A20 line)を有効にすることで、1MiBの壁を超えた先の64KiB(正確には (64Ki - 16)B )にアクセスできるというHMAが、互換性に大きな影響なく利用できることもあり、活用された。
(DOSエクステンダやPC-UNIXなどによる活用も可能であったが、標準でないことなどもあって、あまり広まらなかった)
PC-9801では、16MiBのうちの最後の1MiBをグラフィックシステム用に割当てた機種があったため、その部分について連続して使えなくなる「16Mの壁」があった(起動時のメモリチェックで、少し表示位置がずれたり、「壁」を越えるタイミングでカウントアップがワンテンポ遅くなるものがあった)。
補助記憶装置(ハードディスクやSSDなど)に関与する容量の壁の原因には、ATAなどインターフェイスや、OSのファイルシステムなど、様々なものがある。
場合によっては、BIOS、ファームウェア、デバイスドライバの制限またはバグにより容量の壁が生じ、最新版にアップデートすると制限を解消できる。制限容量以上のHDDを接続したことで誤動作する場合は、HDD側の設定により認識容量(見かけの容量)を減らすことで、制限容量までは扱えるようになる。
ハードディスクの容量表記にはSI接頭語と2進接頭辞の問題(換算値の違い、誤差)があり、壁問題としては厳密な容量の表記がされない慣習である。
875GiBのジオメトリを返答するようになっており、Cylinder head sector=1023/255/63と返す(ただし、ごく一部のHDDでは返さないことがあった)。BIOSから正常にアクセスできるのは、HDDの先頭から7.875GiBまでの領域のみだが、これにより、LBA非対応のBIOSのマシンに接続しても、とりあえず認識され使用できるようにはなっている。その為、BIOSに依存せずにデバイスドライバが直接コントロールするOS(Windows 2000/XPやLinuxなど)では、OSが起動してデバイスドライバのコントロールに切り替わった後は7.875GiBを越える領域にも正常にアクセス可能である。デバイスドライバが直接コントロールするようになるまではBIOSを介してアクセスする為、当該HDDにOSを格納する場合には、BIOSにロードさせる範囲を先頭から7.875GiBまでの領域に収める必要がある。OSとデバイスドライバさえ対応していれば、48bit LBAのHDDも同様にして使用可能である。
この他に、一部のSCSIコントローラにLBA値を格納するレジスタが24ビットのものがあり、2以上のセクタ番号を扱えない。そのため、このようなコントローラで扱えるHDDの最大容量は8GiB(約8.4GB)までであるが、それを超える容量のHDDを接続した場合の挙動はコントローラではなくソフトウェアの実装に依存する。