Hard Drives, Size Limits, Boot Records, and Partition Tables

Or, how Mike wasted a Friday evening in vain.

I bought some new drives for home use, because a drive in my LG NAS went bad.  Womp womp.

I got home, and popped them in.  As expected: they did not work.  They only showed 2TB, despite being 3TB drives.  This is expected, because my NAS is old and only does partitions and sectors in the older MBR style.

Well, MBR does not have support for drives > 2TB (technically, 2 and change, 2.2TB usually) for some archaic reason.

What followed, was drive reorganization, and more understanding and explanation than I ever thought I would need to know.

So let’s start from the top.

3TB drives detected as 2.2TB drives is a limitation of MBR.  MBR is largely (read: almost all of the time) a 32-Bit mechanism.  Using good old Google-fu, we get the following: 2,147,483,647 ~ 2.2TB.  Yay the math checks out.  Why this is a limitation isn’t the scope of this post.  The important bit is this:

My 3TB (or larger) drive installed internally is showing up as 2.2TB — Your partition table/boot sector values are in MBR (or earlier) format.  You need to change it to GPT / mixed mode or use smaller partitions.  You can read about converting an existing disk without data loss here.  I won’t comment on the effectiveness: I formatted the disk with GPT straight away.  That article doesn’t show to do that, but it’s trivial when you see the conversion instructions.

Now let’s talk about the other issue I had: a drive connected to a an external USB3 drive caddy was showing up at .75TB.


Well, this is a fun one.

I plugged my 2nd drive into an external drive controller to try and get more files copying simultaneously — and I found my 2nd 3TB drive was showing up as ~ .75TB.  Well shit.

I plugged it in internally and it was fine.  WEIRD as hell.  The drive was formatted as GPT I did some research on this and found this interesting bit.

My 3TB (or larger) drive installed externally is showing up as 746GB — It’s usually because you have an aging/old external drive enclosure.  Get a newer one with a more updated USB-SATA bridge, or try and find a firmware update on the chips.  Good luck with the latter.  Your last option is to just connect the drive internally.  Realistically if you buy a 3TB external drive it will be fine, the problem only comes up if you buy an enclosure and drive separately (or end up with something like this [Note: the one I linked specifically says that it’s supports drives up to 10TB, that’s a good sign to keep an eye out for ]).

Last one for today:

My 3TB (or larger) drive installed in a NAS is showing up as 2TB — Your NAS is either running an old version of Linux that does not support GPT (womp womp, this is my situation) or is configured to default to MBR (this is recoverable but you’ll need access to a command shell to manually partition the drives).  If it’s the former, you’ll need a new enclosure.  If it’s the latter, you will probably need to figure out parted commands to make it work.  I can’t comment on this because mine just didn’t support GPT at all.  It’s an old box, in fairness.

A fun exercise in troubleshooting and diagnostics, but not what I needed on Friday.  I wasted about 4 hours on it. 🙁

-M, out

Leave a Reply