Ubuntu – get “exceeds msdos-partition-table-imposed maximum”

hard drivepartitioningsystem-installation

This most recent attempt at installing stops at the installation type screen where I inform it to dualboot with my Windows 7 64 bit OS. When I clicked install now, I receive an error stating:

starting sector number, 4294967296 exceeds the msdos-partition-table-imposed maximum of 4294967295

With this error I cannot click the ok button to remove the error as it stays there and it doesn't seem to be frozen as I can see the lighting on the button light up when I mouse over the selection but it will not continue.

I have heard this error occurs from 3TB hard drives (which I have) not working properly with Ubuntu. However, when I encountered this error before I somehow got around it and ended up with 2TB on my normal C: drive and 700~GB on a new partition like drive.

I don't remember doing anything to spur this on but I only assume it was during my troubleshooting of the situation last time and it ended up causing it to split up that 700~gb to another drive.

Also a small question about that, does Ubuntu do that or do I need to do it because Ubuntu cannot handle 3TB hard drives and has to force the hard drive to turn into around 2TB where it can easily work with it? I didn't exactly know why it needed it and if it maybe caused it on it's own.

I am relatively new to the Linux scene.

Best Answer

You need to back up and obtain more information. Other answers have been assuming that you're using MBR, but your comment that you're using UEFI firmware raises the possibility that you're already using GPT. If this is the case, then the error message you received is a bug. You can check your partition table type in various ways, depending on the partitioning tool you're using. In Linux, one easy way is to type sudo parted -l and look for output like the following:

Partition Table: gpt

This output indicates a GPT disk. An MBR disk will specify msdos rather than gpt. Once you've determined your disk type, you can proceed without guesswork. Chances are you are using MBR and BIOS-mode booting of Windows, but it's best to be sure before doing anything radical.

Windows (including Windows 8, AFAIK) ties its boot mode (BIOS vs. EFI) to its partition table type (MBR to GPT). Thus, switching from MBR to GPT will necessitate converting Windows to boot in EFI mode rather than in BIOS mode. This adds complexity to the task -- too much to describe here, in fact. For more information, see this article. I don't recommend trying this unless you're desperate, although it really is the better solution in many ways.

It is sometimes possible to "fudge" things using MBR to get just under 4TiB out of it. To do this, you must assign everything above the 2TiB mark to one partition. In your case, if you're using MBR and the existing partition(s) consume up to the maximum point, you can shrink the final partition on the disk by a small amount (1MiB is the smallest that's practical in many new tools). You can then create the final partition such that it begins before the 2TiB mark and extends to the end of the disk (or for a size of 2TiB, if that's smaller). Note that if you want to use multiple partitions in Linux, you'll need to put all but the last of them entirely under the 2TiB mark, so you may need to shrink your final existing partition by significantly more than 1MiB. Also, be aware that this method is playing a bit "fast and loose." It's technically legal, given the way the MBR data structures are designed, but some OSes flake out with it. AFAIK, both Linux and recent versions of Windows work with it, but if you need to use the disk with something more exotic, it might behave strangely.

If it turns out you're already using EFI-mode booting and GPT, then the error message you received represents a bug. I'm not sure how you'd get around it, but shrinking the final existing partition, as in the MBR solution, might conceivably work. Beyond that, filing a bug report is in order.

Related Question