I am using an internal hard drive USB adapter to mount backup drives. The adapter was working well with my previous 1GB backup drives.

We just got two new 3TB hard drives. We connected it with the HDD USB adapter, and fdisk was detecting it as a 801.6GB drive.

So after googling, I installed "parted" and tried:

(parted) mklabel gpt
(parted) mkpart primary 0 -0

The same size issue remains:

(parted) print                                                            
Model: Generic External (scsi)
Disk /dev/sdd: 0.80TB
Sector size (logical/physical): 512B/512B
Partition Table: gpt

Number  Start   End     Size    File system  Name     Flags
 1      0.00TB  0.80TB  0.80TB               primary

I have the same problem and same bad size with the two hard drives.

And it looks like GPT is supported by my kernel. Am I missing something?


2 Answers 2


It may be your USB adapter, some can't handle the larger (>2TB) drives.

Hook the drive up directly via SATA and see if the system can deal with it. If so, it's the USB adapter; if not, then it's an OS or HDD controller/chipset issue.


Techie007 is almost certainly correct. I just want to elaborate a bit. The issue comes down to the fact that a disk that's 2TiB in size has precisely 2^32 sectors (assuming a 512-byte sector size), so anything over 2TiB in size requires more than 32 bits to represent its size. I've seen reports of at least three ways that USB adapters and enclosures deal with over-2TiB disks:

  • Some use 32-bit values and ignore the issue. The usual result is what you're seeing: The disk is reported as being 2TiB smaller than it is. (In principle, an over-4TiB disk would be shown as 4TiB, 8TiB, or some other multiple of 2TiB smaller than it is.) Obviously, this isn't a solution to a problem -- it is the problem, since it makes (most of) the disk unusable via the enclosure. This approach is most common with older enclosures.
  • Some convert the 512-byte (logical) sector size reported by the disk to 4096-byte sectors. This raises the 2TiB limit to 16TiB, which is big enough for all current single disks. This solution is effective, but it can cause problems if the user moves the disk between an enclosure that does this translation and a direct connection. The issue is that partition tables refer to sector numbers, so changing the sector size changes those numbers. I've even heard of enclosures that do this translation on their USB ports but not on eSATA ports, which of course makes problems exceedingly likely to occur.
  • Some split the disk into two (or conceivably more) virtual disks, the first 2TiB in size and the second holding the remainder of the disk.

I haven't seen reports of enclosures that pass through a full 64-bit address. I don't know if that's just because people don't have problems with such enclosures and so don't post about them or because they don't exist. In any event, you're almost certainly running into the first issue. The most likely solution is to not use the adapter that you've used in the past. (In theory the vendor might have a firmware update for it, but I've only heard from one user who found such an update to solve this type of problem.)


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.