I must create a new ubuntu 12.04.2 boot disk after the /boot directory on my old HDD got corrupted. The following is the partition scheme I'm planning. Is there anything wrong with this for this system, or anything not wrong but stupid (too small/large/other)? Is there any chance the 64MB EFI partition might someday be too small (do more files ever get stored in that partition)?

1:  single OS  - only OS is just downloaded 64-bit ubuntu 12.04.2 install DVD.
2:  3TB drive  - boot drive is 3TB SATA drive (6Gbps).
3:  PC purpose - software development (codeblocks) and email (thunderbird).
4:  system     - 8-core AMD, 4 SATA hard disk drives, 2 SATA blu-ray drives.

64MB          efi partition
32GB          swap partition
64GB   ext2   /boot partition
64GB   ext4   / (root) partition
rest   ext4   /home partition

Is this reasonable partitioning for 3TB drive for this purpose? Are all these partitions "primary partitions" (seems like one too many partitions for that, but not sure how this EFI stuff works).


The GUID Partition Table (GPT), which is used on most EFI installations, doesn't distinguish between primary, extended, and logical partitions; it just has "partitions" (with no qualifier), although tools like GParted insist on calling them "primary partitions" because those tools were written with MBR in mind. GPT supports up to 128 partitions by default, although that value can be changed with the right software. (In Linux, gdisk can do this, but GParted and parted can't.)

As to your layout, your sizes are all wrong. I recommend the following:

  • EFI System Partition (ESP; /boot/efi): 550MiB. Although a standard Ubuntu installation isn't likely to consume more than the 64MB you propose, there are scenarios in which it must be significantly larger. Furthermore, some EFIs have problems with FAT16 ESPs or with sub-512MiB FAT32 ESPs. To avoid both problems, the partition must be over 512MiB. I recommend a bit bigger to avoid confusion between MB (10^6 bytes) and MiB (2^20 bytes), hence 550MiB.
  • (Optional) /boot partition: 500MiB. This directory holds your kernel, initrd, and a handful of other files. One of my current Ubuntu installations has 111MiB in there right now, and another has 90MiB. Thus, your proposed 64GB is way oversized. 500MiB gives you plenty of "wiggle room" for installing multiple kernels. Note that this partition is optional. In most cases you don't really need it, although it can be handy sometimes.
  • Root (/) partition: 30GiB. A typical Ubuntu installation is likely to consume 4-10GiB. Unless you anticipate storing lots of extra system software, 30GiB should be more than big enough. OTOH, going up to the 64GB you propose isn't completely ridiculous on a 3TB hard disk.
  • Swap partition: 1-2 times RAM size. If you've got 16GiB of RAM, your proposed swap partition size is not out of line; but with less RAM, you should probably reduce the swap space. Modern systems seldom use swap space at all, so many people stick closer to the 1x RAM size rule of thumb, or even drop below it. The most important use of swap for many people is when using suspend-to-disk functionality, in which your RAM's contents are copied to the swap partition. If you plan to use this feature, ensure you've got at least as much swap space as RAM. When doing so, ensure you don't confuse units (GB vs. GiB). Note that RAM comes in GiB units, even though most people use "GB" when referring to its size.
  • /home partition: The rest. This is pretty basic: Use whatever's left over. OTOH, if you were to run a major server, you might want to split /var off into its own partition, too, which would necessitate determining how much to give to each partition. Given your stated system purpose, I doubt if this will be necessary, unless you'll be running your own mail server -- and even then, if it's for personal use, it's probably not worth splitting off /var unless you send and receive a lot of e-mail.
| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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