Why my 3TB disk shows an actual size of ~800 GB with several tools except smart tools?

If you're using a Debian-Ubuntu based system (like Linux Mint), then fdisk (util-linux 2.20.1) does not understand GPT.

You should try parted -l and have you partitioned / formatted the drive yet? Using gparted (if you're using a GUI) would probably be easier.

I'm not sure about lsblk, it says it reads from sysfs. It's possible there's only one small partition on the drive, or a strange MBR/GPT.

But Cristian Ciupitu's comment and link from Seagate sound very promising, but it appears to be about Windows drivers...

Searching for "parted Error: /dev/sdc: unrecognised disk label" brought up this link that appears to do what you'd like: How to Create Partition on Linux for >2TB Size using Parted GPT. I've bold-ed (embiggened?) the error message in question, looks like it should go away after creating a GPT. (I'll bet using gparted would be similar/easier.)

Use parted’s mklabel command to set disk label to GPT as shown below.

# parted /dev/sdb
GNU Parted 2.1
Using /dev/sdb
Welcome to GNU Parted! Type 'help' to view a list of commands.

(parted) print

Error: /dev/sdb: unrecognised disk label

(parted) mklabel gpt

(parted) print
Model: Unknown (unknown)
Disk /dev/sdb: 5909GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt

Number  Start  End  Size  File system  Name  Flags

[Then it continues making a partition, but the above commands look the most relevant]

Create >2TB Partition using Parted mkpart

Use parted’s mkpart command as shown below to create partition that is greater than 2TB. In this example, we are creating a partition that is roughly of 6TB in size.

# parted /dev/sdb

(parted) mkpart primary 0GB 5909GB

(parted) print
Model: Unknown (unknown)
Disk /dev/sdb: 5909GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt

Number  Start   End     Size    File system  Name     Flags
 1      1049kB  5909GB  5909GB               primary

If trying to create a GPT fails, there should be some good error messages to search. Or if it still only reports the size as 800GB, I'd begin to suspect there might be something wrong with the disk, but since SMART thinks it's ok, that leaves the linux drivers/kernel...

And you're not using some sort of external USB enclosure are you? It's connected directly to the computer, like an internal HD?


You seem to have built your own kernel, and it is only 32 bit. For it to have access to > 2 TB disks, you have to enable CONFIG_LBDAF (support for large (2TB+) block devices and files), though I could have sworn that without it the size just was clamped to 2 TB rather than wrapping around to the 32 bit modulus.

Tags:

Hard Disk