Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I've recently setup a 32-bit Arch Linux installation for home server usage. When attempting to connect and mount my 3 terabyte external USB harddrive, I am notified that volumes above 2TiB are not supported on [the 32-bit] architecture. Is there any way around this, such as partitioning the drive to smaller sizes or do I absolutely need a 64-bit system?

*Note - The sever's processor is 32-bit, so I don't have the option of reinstalling a 64bit distro

Additional Info per replies thus far: The drive is formatted as an NTFS volume. The server previously ran a 32-bit installation of Windows 7, what allowed that operating system to overcome the limits that the Linux kernel faces?

share|improve this question
As a question, what filesystem are you using on that drive? – Wolfizen Apr 21 '13 at 23:47
Can't you replace the ancient computer? – Michael Hampton Apr 22 '13 at 18:39

I'm not sure if this is the same issue, but systems using BIOS can't see more than 2 TB on a drive. This is a limitation of legacy BIOS. The only way I know around this problem is UEFI.


share|improve this answer

In order to request data from a storage device it needs to write the HDD sectors you're targeting in the request. Assuming 512 byte sectors the largest amount of space you can address is 1.099511627×10¹² or just below 1TB. If the kernel lacks the address space to refer to the space it's trying to get at, it can't format a request for anything beyond that.

share|improve this answer
Whare are those numbers coming from? And if the limit is below 1 TB, why does the error message mention that the upper limit is 2 TiB? – Oliver Salzburg Apr 22 '13 at 11:16
The largest amount of space number is the largest signed 32-bit number (2,147,483,647) multiplied by a reasonable sector size. Looking at this a day later I realize I was doing my math based on signed but didn't take into account unsigned numbers, which is going to effectively double the address space (bringing us to 2TB). And that makes sense, you're not going to request sector -34 (negative thirty four). – Bratchley Apr 22 '13 at 11:31

You should be able to create two partitions of ~1.5TiB on the device if the BIOS is letting you access the device.

You could then use LVM to concatenate or stripe the two partitions together. The problem is that a 32bit kernel can not address a LUN greater than 2.2TiB. The MAX volume size for 32bit is 16TiB, you could create an XFS file system on the LVM.

XFS will put the inodes in the 32bit address space anf your filesystem should work just fine.

share|improve this answer
up vote 0 down vote accepted

Turns out that Arch Linux is capable of mounting/reading/writing from/to a 2.2+ TiB harddrive. When attempting to mount while logged in, I was making a novice error of not specifying which partion I wanted to mount (sdd vv. sdd1). In order to mount it during boot with fstab, I needed to specify that the volume was formatted as an NTFS volume. Thanks for your replies none-the-less!

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

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