3TB Won't Split in MBR?

Anonymiter

Distinguished
Jan 5, 2013
40
4
18,545
I have a 3TB HDD that I've used in GPT for a while now. This is the second time it's lost the partition table, supposedly due to corruption. As far as I can tell one of the programs I was using doesn't play nice with GPT if thats even possible. Regardless, I'd like to try splitting the drive into smaller partitions (less than 2TBs) anyways and would just rather use MBR if possible.

The problem is that Windows doesn't seem to want to work with the drive the way I want it to in MBR. It seems to recognize the full amount just fine in GPT as expected. When I switch it to MBR though it shows an additional 746.52 GBs as unallocated. Up to this point it all makes sense, but I was under the impression that I could make two partitions under 2TBs.

Instead I get this. http://i.gyazo.com/14fd214dd704af5e2692beabcbd008b6.png

I set this up in Parted Magic initially and everything checked out until I booted into Windows where it promptly showed an unformatted 746.52 GBs. :??: Is this normal or is the something else causing it?
 
Solution
In MBR mode, Windows will only use the first 2TiB of the drive. To utilise the remainder, you could use a tool such as DiscWizard or Acronis Extended Capacity Manager. This makes the remaining space appear to the OS as a "virtual physical drive".
Hi

Parted magic the Linux boot cd with Gparted partition editor should be able to do the job (but costs 4.95 usd)

Gparted Linux boot cd is available for free but has less rescue & duplicating tools

I understand provided the 3TB is not the boot drive MBR should be possible

What program is breaking gpt partitions
With the correct tools the duplicate of the gpt partition data should be recoverable

You may need software to wipe the partition cylinder before rebooting and trying again in windows disk management
Try mbrwizard
Old version is free current version with graphics ui instead of cmd line is worth a small payment to authors


But only do this if you are happy in destroying all data on 3TB drive

Regards
Mike Barnes
 


It's far less likely that "one of the programs I was using doesn't play nice with GPT" and far more likely that you're losing partition table data due to read errors on bad sectors.

If the drive is still under warranty I would RMA it.
 


Lol, it's too late to worry about that data at this point if he has repartitioned and reformatted the drive several times. Of course it's not impossible to recover by doing a raw scavenge, but you're going to have a lot of corruption.
 
I'm booting from a couple SSDs in RAID0 so this a secondary drive. I already attempted to rebuild the GPT table with no luck. None of the data was all that important though.

I've already zero'd the entire drive from the tools in Parted Magic. Is there something else I need to do to wipe the cylinder?
Just to be clear, when I set up a new partition table in Parted Magic the device reportedly contained no table. I used the mbdos option and then proceeded to set up a 1253376 (MiB) partition and a second with the remaining unallocated space. This seemed to work fine until I booted into Windows and was met with 746.52 GBs again. I activated the drive and the rest of the disk became visible as unallocated space at the beginning. As you can see in the screen shot, I'm able to create partitions on the first part of the disk but I can't do anything with the later half. It's just additional unallocated space.
 
Hi
You only need to wipe partition cylinder or first sector not all of disk

Win 7 (poss. Vista with services packs )
should be able to create the gpt or MBR partitions for you



Western digital data lifeguard or equivalent should be run to ensure beginning of disk is not failing

Regards
Mike Barnes
 


While I'd like to track down the cause, I'm not really that concerned with it at the moment. The drive is more than two years old and it's only happened once before. If it becomes more regular I'll probably care to look into it or see about RMAing.

That being said, "software" issues aside, I'm going to put my money on it being a problem with the firmware or disk controller. I ran the drive through SeaTools and everything comes back healthy. If you know of any tests I can run on it that aren't included in SeaTools please make a suggestion.

 
In MBR mode, Windows will only use the first 2TiB of the drive. To utilise the remainder, you could use a tool such as DiscWizard or Acronis Extended Capacity Manager. This makes the remaining space appear to the OS as a "virtual physical drive".
 
Solution


Ok, that makes sense I guess. I was under the impression it was just an issue with the individual partition size. If it isn't recognized natively than I probably won't bother with it.
 
The MBR Partition table uses 32bit addresses assigned to logical blocks, whereas GPT uses 64bit addresses. It is therefor not possible for an MBR partition table to go beyond 2.19TB, just as GPT will reach a glass ceiling at 9.4ZB. This is because hard drives us a logical block size of 512Bytes, so 2 to the power of 32 times 512 = 2.19TB. Think of it like a phone number. If a phone number has 32 digits in MBR, it has 64 digits in GPT. Once you go from 32 zeros up to 32 nines, there is no more room in the phonebook - you just can't go any further without adding more digits to the phone number. GPT uses 64 digit addresses (phone numbers) but you can't have a GPT partition table on one part of the disk and MBR on another - once you got halfway through dialling a 64bit address you'd find yourself calling a 32bit address that you never intended to call.

Actual partitions come later down the track - they are more like area codes. You can only divide the addresses into areas once the phone network is in place - by that time you've already decided how many digits the phone numbers will be...

Clear as mud? It simply isn't possible...


 
Actually it is possible to manually create a 4TiB MBR partition table consisting of two 2TiB partitions provided that the starting sector of the second partition, and the capacities of each partition, all fit within 32 bits.

Offset(h) 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F

00000000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
........
000001B0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
000001C0 08 00 07 FE FF FF 08 00 00 00 F7 FF FF FF 00 00
000001D0 C1 FF 07 FE FF FF FF FF FF FF FF FF FF FF 00 00
000001E0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
000001F0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 55 AA

Here is how it looks to DMDE (a disc editor):

http://www.users.on.net/~fzabkar/HDD/4TiB_MBR.jpg

I haven't checked how Windows handles such a setup, but the OP might like to give it a go (with 3TB numbers). IIRC, someone did actually try this, but was unable to keep Windows happy. That said, ISTR he was using Windows XP.


 
"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."


I'm curious as to how you've achieved this? If the entire disk functional? As in, you have full use of 4.4TB or you just have that it reading out as this?

What is your sector size? I know WD got around the 2TB limit by increasing sectors from 512 to 4096bytes but as far as I'm aware that is not something an end user can alter at home, nor can it the best use of space - surely those drives fill up faster than a drive that uses 512bytes blocks?
 
Awesome! Thanks for all the extra info guys. It makes perfect sense now. I was under the impression from previous posts on the subject that the issue was with the partition sizes being larger than 2TBs. I just assumed from that that making two separate partitions smaller than 2TBs would be fine. Didn't realize it was a limitation with the entire table.
 
@Szyrs, the partition table I created is an artificial one. As is evident from the DMDE screenshot, I just plugged the required numbers into LBA #1, not LBA 0. Your quoted text does not invalidate my example. All my numbers fit within 32 bits, and the partition table is in fact valid. It's just that Windows can't handle it (AFAIK).

The following article should help you to understand the structure of an MBR partition table:

http://thestarman.pcministry.com/asm/mbr/PartTables.htm#pte

Notice that the "Starting Sector" and "Partition Size" parameters each occupy 4 bytes (ie 32 bits). That's where the limit lies. My example fits within those limits.

BTW, I have not tested it.