Installer Only Recognizes 801GB of a 3TB RAID1 Array

I've been searching as best I can for this precise problem, but the only place I found it exactly was here, and I don't think that the OP ever got an adequate answer. Most of the issues I've seen with regards to 3TB hard drives stem from outdated hardware, dual-booting issues, etc.

My server is brand-new, using an ASRock H67M-ITX with onboard Intel RAID. I have two Seagate 3TB set up in a RAID 1 array. Everything I can see in the raid controller indicates that the motherboard is having no problems with this arrangement: both disks show up as 3TB devices, and the RAID array does as well. The only point at which anything goes amiss is upon loading 12.04-desktop-amd64 from a flash drive, and attempting to partition. At this stage, I create a new partition table on the disk, and the resulting size is 801567 MB.

I was under the impression that the motherboard had no problems with RAID arrays this large, and also that the latest long-term stable release of 64-bit Ubuntu shipped with in-kernel GPT support and would have no difficulties as well. Any ideas on what I'm doing wrong?


I have no simple and sure-fire answer, but for a first diagnostic step, I recommend you check your boot mode and disk information using lower-level tools than the installer provides:

  1. Boot into the "try before installing" mode.
  2. Open a terminal window.
  3. Type ls /sys/firmware/efi. If you see any files (normally one file and one directory), you've booted in EFI mode. If you get a "no such file or directory" error, you've probably booted in BIOS mode. This may have implications for the partition table type used and perhaps for the way the motherboard's RAID features get detected by Linux. (This last is very speculative on my part, though.)
  4. Type sudo apt-get install gdisk to install the gdisk package. (If this doesn't work, you may need to enable networking and futz around with package options.)
  5. Type gdisk -l /dev/sda (change the device identifier, if necessary, to see your disk or RAID array). Pay attention to the disk's reported size (in sectors and GiB or TiB) and to the table type ("MBR: protective and GPT: present" for GPT; or "MBR: MBR only and GPT: not present" for MBR). If your disk is set up with MBR, that could be throwing things off. I'd expect it to let you use up to 2 TiB in this case, but there could be a bug in libparted that's cutting you off too early. If the disk uses MBR, switching to GPT with the help of gdisk, GParted, or some other tool is in order.

One more comment: If this is to be a Linux-only installation, the motherboard-based RAID is probably not the best way to go. Linux supports it, but my impression is that it's flakier than is Linux's own software-based RAID. (Both are actually software-based; it's just that the motherboard variety includes "hooks" in the firmware, can be used across OSes, and is tied to a particular type of disk controller, whereas the Linux variety has no hooks, is Linux-only, and can be used on any disk controller.) Thus, if this is a Linux-only system, I recommend you disable the RAID option in the firmware and then use Linux's software RAID. Not all Ubuntu installers support software RAID, though. The desktop installers definitely don't, but I think the server and alternate installers both do.