I´m a little confused about the MBR 2TB limit. Does it refer to the total storage of a system or only to the boot partition? Let´s say I have Windows 7 32bit installed on a 500GB disc in a primary partition and three discs of 1TB each formated as logical partitions, all MBR, NO 4k, internal, NO USB. Can this configuration work without problems?
MBR 2TB LIMIT – TOTAL STORAGE OR PER DISC
mbr
Related Solutions
I did exactly this (Win7 64, Ubuntu 10 64bit, OS X 64 bit, and an ExFAT part). When I found out that Customs could search a laptop at will without a court order in violation of the Constitution, I chose to move the ExFAT to a 128GB ExpressCard SSD (100 GB ExFAT set up for user space, 8 for each OS swap file, and the leftover space as RAM for Win7 to use).
This way all three systems could use the ExFAT as user space, it wasn't physically on the computer (it's removable), and since I was using 2 drives (one for OS/Apps, the other for user space/swap space) I sped up my system (not a huge amount).
If I had to worry about anyone wanting to see what was on my computer, I simply removed the user/swap space. I have licenses for all the Apps and the OS's on my Apps/OS drive. There are no applications that are unlawful for me to own/use to the best of my knowledge. I use Launchbar to search my user space (because the database for it is kept on the user space not on the OS/App space like Spotlight). I just wanted to give you food for thought.
Your USB drive presents itself to the host computer with a logical sector size of 4096 bytes, and that's what enables it to be partitioned with an MBR partition table that can use more than 2 TB of the drive's space, even in Windows XP. MBR partition table entries are 32 bits and Windows XP uses 32-bit math to calculate sector addresses from the partition table, allowing only the first 2^32 sectors of a drive to be used. 2^32 sectors x 4096 bytes/sector = 16 TB. With 512 bytes/sector, only the first 2 TB of a drive could be used by an MBR partition table. (2^32 sectors x 512 bytes/sector = 2 TB)
However, your drive is not 4k native. There are two layers of translation:
- The USB enclosure contains a USB-to-SATA bridge that translates from 4096 bytes per logical sector at the USB interface with the host computer to 512 bytes per logical sector at the SATA interface with the drive inside.
- The drive inside internally translates from 512 bytes per logical sector on its SATA interface to 4096 bytes per physical sector. (That's 512 byte/sector emulation or "512e".)
A SMART query passed though the USB bridge to the SATA drive inside reveals the truth (run here on my own Western Digital My Book 3 TB external USB drive in Windows XP):
C:\Program Files\GSmartControl> smartctl -a -d sat pd11
smartctl 6.5 2016-05-07 r4318 [i686-w64-mingw32-xp-sp3] (sf-6.5-1)
Copyright (C) 2002-16, Bruce Allen, Christian Franke, www.smartmontools.org
=== START OF INFORMATION SECTION ===
Model Family: Western Digital Green
Device Model: WDC WD30EZRX-00MMMB0
Serial Number: WD-WCAWZ12xxxxx
LU WWN Device Id: 5 0014ee 2063xxxxx
Firmware Version: 80.00A80
User Capacity: 3,000,592,982,016 bytes [3.00 TB]
Sector Sizes: 512 bytes logical, 4096 bytes physical
The internal SATA drive reports 512 bytes per logical sector and 4096 bytes per physical sector: that's 512 byte/sector emulation, or "512e".
However the drive as seen by the host computer connected by USB has a logical sector size of 4096 bytes:
C:\> wmic DISKDRIVE get bytespersector, caption
BytesPerSector Caption
4096 WD My Book 1140 USB Device
and that's how Windows XP is able to use all 3 TB of the drive's space.
If you need more proof than that, you could remove the drive from its enclosure and connect it directly to a motherboard's SATA connector: you'd then find that the drive has a logical sector size of 512 bytes, and the drive's partitions would all appear as 1/8 their previous size and be unreadable due to incorrect partition table entries caused by the sector size mismatch. Plenty of people have done this and then had to fix the problem by rewriting the partition table.
I've checked several different external USB drives and they are all 512e internally despite being configured for Windows XP compatibility with 4096 bytes per logical sector at the USB interface: WD My Book 3 TB, WD Elements 3 TB, HGST Touro 4 TB, WD Easystore 8 TB, WD Easystore 12 TB, WD Easystore 14 TB.
Your drive came with an MBR partition table (or someone changed it to MBR at some point) to make it compatible with Windows XP. Newer drives come with GPT partition tables, which require Windows Vista or later.
The WD Quick Formatter tool can be used to change a Western Digital external USB drive between 512 bytes/sector with a GPT partition table (for Vista and later) and 4096 bytes/sector with an MBR partition table (for Windows XP compatibility).
Best Answer
According to the Microsoft Technet Blog there are three different 2TB drive size limitations:
Partition Size The Master Boot Record (MBR) stores the locations of the different disk partitions. The number of bytes allocated for the pointer/offset is 4 (32 bit). This means the highest value that can be stored in the MBR Partition Table is:
Number of Clusters
SCSI Goo
This means that due to Windows using the Read10/Write10 standard, the biggest drive that will be supported is 2TB. Terminology is key here; drives have upper limits of 2TB; volumes can be larger (spanning multiple disks).
Solutions
One solution is to use multiple 2TB drives with a single volume, this allows for large files (>2TB) to be stored.
More information on Windows support for hard disks that are larger than 2TB.