This article offers a step-by-step guide on how to create GPT partitions on Ubuntu 13.10 on a computer with UEFI firmware.
Before I started on this article, I took a look at the default GPT partitions created by Ubuntu’s installer’s and also by the one created by Windows 8 installer on a computer with UEFI firmware. The image below shows the Ubuntu’s default GPT partitions.
And this one shows the default GPT partitions created by the Windows 8 installer as seen from Ubuntu’s Advanced Partitioning Tool’s window.
You’ll notice that in each case, there is a free space at the beginning of the partitions of just 1 MB. That free space is not formatted and has no boot flag assigned. That just appears to be the default size of the free space preceding partitions on both operating systems. And it likely has nothing to do with GPT or UEFI.
I find that curious because back in 2011 when I wrote GPT disk partitioning guide for Chakra 2011.4, a requirement that GParted enforced for setting up GPT partitions is that the first partition had to have a bios_grub flag, and have a disk space as small as possible, say in the region of 1 MB to 8 MB. But it appears that that requirement no longer applies. I don’t know when that happened or if it is even the right way to go about creating GPT partitions, but that is how it is being created on the latest distributions and operating systems.
In any case, for this tutorial, I set out to create GPT partitions the old way, that is, with one that starts with a small, unformatted partition that has a bios_grub flag set, just to see if it will make any difference to the functioning of the system. The report is that it did not.
So what follows is a step-by-step guide on how to create GPT partitions using the Ubuntu 13.10 installer on a PC with UEFI firmware. Unlike the default partitions created by the Ubuntu installer, there will be a separate partition that will be mounted at /home, just for the benefit of those who like a separate partition for /home. That means we will be creating five partitions – bios_grub (bios_boot), boot-efi, / (root), /home, and Swap.
The installation media used for this tutorial is a USB stick, and Ubuntu 13.10 was loaded on it using UNetbootin running on Fedora 19 KDE. If you don’t have a USB stick around, you can always burn the ISO image to a DVD. To ensure that you are going to be using the GPT/UEFI-aware version of the Ubuntu installer, load the computer’s boot menu and select the appropriate option. How you get to a computer’s boot menu varies from vendor to vendor, so you’ll have to find out the right key for your own computer. Usually, it’s one of the function keys (F-keys). On my computer, it’s the F11 key.
This screenshot shows what mine looks like. You will notice two almost identical entries for a USB stick: One is USB: Ut165 USB2FlashStorage0.00. The other is UEFI: Ut165 USB2FlashStorage0.00. Selecting “USB: Ut165 USB2FlashStorage0.00” will load the MBR-aware Ubuntu 13.10 installer, while selecting “UEFI: Ut165 USB2FlashStorage0.00” will load the GPT/UEFI-aware version of the installer. To create the partitions for this tutorial, the choice is obvious
So once the computer boots in to the installer, make a couple of clicks until you get to the Installation type step. Since you are going to be creating partitions manually, select the Something else option. Click Continue.
That should bring you to the installer’s Advanced Partitioning Tool’s window. This screenshot shows how that of the computer used for this tutorial looks like, after all existing partitions were deleted. To start creating the needed partitions, select the free space as shown and click on the “+” button.
That should open the installer’s partition editor. The size of the partition, its mount point and how it’s going to be formatted (file system) will have to be specified here. All the partitions you create will be primary partitions, so you don’t have to worry about selecting Primary or Logical. If you have no idea what “primary” or “logical” means, you might want to read Guide to disks and disk partitions in Linux.
To conform to the old way, if you can call it that, the first partition will be the bios-boot partition. The disk space will be just 1 MB. Select Reserved BIOS boot area from the Use as menu. OK.
UPDATE: You do not have to create this partition. It is no longer necessary to create a partition with a bios_grub flag, though it won’t break anything if you do.
Back to the main partitioning window, you will notice that the new partition has a biosgrub (bios_grub) flag. Select the free space and click on the “+” button again to create the next partition. This step will have to be repeated for the other partitions too.
The next partition will be the GPT/UEFI equivalent of the boot partition. You will have to select EFI boot partition from the Use as menu to make it so. On a default installation of Ubuntu 13.10, the disk space allocated to this partition is 511 MB. OK.
For the root partition, allocate disk space to it that will enough to install the system and also account for future growth in disk usage. (The recommended minimum disk space for Ubuntu 13.10 is about 6 GB.) Then select “/” from the Use as menu and Ext4 journaling file system from the Mount point menu. OK.
For the /home partition, allocate any amount of disk space you want, select /home as the mount point and the file system as shown. Then click OK. Note that if you want to have the installation on a btrfs file system, you don’t need a separate partition for /home. See How to install Ubuntu 13.10 and Linux Mint 16 on a Btrfs filesystem for more on that.
For the Swap partition, the default disk space allocated to it by Ubuntu’s installer is 4 GB. On a 64-bit system, I see no reason to deviate from that. Select swap area from the Use as menu, then click OK.
Back to the main partitioning window for the last time, you should now see all the partitions that you created. You may proceed with the rest of the installation.