In order for an operating system to fully support storage devices that have capacities that exceed 2 terabytes (2 TB, or 2 trillion bytes), the device must be initialized by using the GUID partition table (GPT) partitioning scheme. This scheme supports addressing of the full range of storage capacity. If the user intends to start the computer from one of these large disks, the system’s base firmware interface must use the Unified Extensible Firmware Interface (UEFI) and not BIOS.
This article outlines Microsoft support across all Windows versions since Windows XP. It also describes the requirements to address the full storage capability of these devices.
Note that this article refers to disk capacity in powers of two instead of powers of 10, which is the more common designation on storage device capacity labels. Therefore, references to “2 TB” actually refer to a product that is labeled as having “2.2 TB” of capacity.
Also note that the operating system-specific behavior that is noted in this article also applies to the server variants of that system. Therefore, a reference to “Windows 7” includes Windows Server 2008 R2, “Windows Vista” includes Windows Server 2008, and “Windows XP” includes Windows Server 2003 and Windows Server 2003 R2.
More information
The management of modern storage devices is addressed by using a scheme called Logical Block Addressing (LBA). This is the arrangement of the logical sectors that constitute the media. "LBA0" represents the first logical sector of the device, and the last LBA designation represents the last logical sector of the device, one label per sector. To determine the capacity of the storage device, you multiply the number of logical sectors within the device by the size of each logical sector. The current size standard is 512 bytes. For example, to achieve a device that has a capacity of 2 TB, you must have 3,906,250,000 512-byte sectors. However, a computer system requires 32 bits (1s and 0s) of information to represent this large number. Therefore, any storage capacity that is greater than what can be represented by using 32 bits would require an additional bit. That is, 33 bits.
The problem in this computation is that the partitioning scheme that is used by most modern Windows-based computers is MBR (master boot record). This scheme sets a limit of 32 for the number of bits that are available to represent the number of logical sectors.
The 2-TB barrier is the result of this 32-bit limitation. Because the maximum number that can be represented by using 32-bits is 4,294,967,295, this translates to 2.199 TB of capacity by using 512-byte sectors (approximately 2.2 TB). Therefore, a capacity beyond 2.2 TB is not addressable by using the MBR partitioning scheme.
To make more bits available for addressing, the storage device must be initialized by using GPT. This partitioning scheme lets up to 64 bits of information be used within logical sectors. This translates to a theoretical limitation of 9.4 ZB (9.4 zettabytes, or 9.4 billion terabytes). However, the issue that affects GPT is that most currently available systems are based on the aging BIOS platform. BIOS supports only MBR-initialized disks to start the computer. To restart from a device that is initialized by using GPT, your system must be UEFI-capable. By default, many current systems can support UEFI. Microsoft expects that most future systems will have this support. Customers should consult with their system vendor to determine the ability of their systems to support UEFI and disks that have storage capacities that are greater than 2 TB.