Trouble creating 3TB ext4 partition due to msdos-partition-table-imposed error

The traditional partition table format used on PCs includes a 32-bit field to record the number of sectors a particular partition covers.

With 512 byte sectors, this sets the maximum partition size at 2TB (512 * 232).

If you need a partition larger than 2TB, you will need to repartition the drive using the GUID Partition Table (GPT) format for the disk. If you are not trying to boot off this new disk, you are unlikely to run into any compatibility problems.

Using GParted, you can do this by going into Device->Create Partition Table and select "gpt" from the list.


To complement James Henstridge's answer for computer's w/out gparted: you can achieve the same result from the command-line with parted. For the example below, I use the drive name sdX (though yours might be sdb, sdc, ...)

sudo parted
(parted) select /dev/sdX
(parted) mklabel gpt
(parted) mkpart primary 0% 100%
(parted) quit
sudo mkfs.ext4 /dev/sdX1

You can also use gdisk. In my case, it was able to convert a disk with existing partitions and data from MBR to GPT, keeping everything intact. However, YMMV.

You can find more information about it on the ArchLinux forums. The process looks something like this:

$ sudo gdisk /dev/sda
GPT fdisk (gdisk) version 0.8.5

Partition table scan:
 MBR: MBR only
 BSD: not present
 APM: not present
 GPT: not present

***************************************************************
Found invalid GPT and valid MBR; converting MBR to GPT format.
THIS OPERATION IS POTENTIALLY DESTRUCTIVE! Exit by typing 'q' if
you don't want to convert your MBR partitions to GPT format!
***************************************************************

Tags:

Partitioning