Came here in search of an answer to a problem, but didn't find it? Visit the forum @ LinuxBSDos.com, pick a category and ask a question.

GPT disk partitioning guide for Ubuntu 13.10 on a PC with UEFI firmware

This article offers a step-by-step guide on how to create GPT partitions on Ubuntu 13.10 on a computer with UEFI firmware.

Because Linux Mint is based on Ubuntu and use the same installer as its parent distribution, it can also be used to create GPT partitions on Linux Mint 16.

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.
Default Ubuntu 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.
Default Windows 8 GPT partitions

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
Computer Boot Menu

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.
Ubuntu installation type

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.
Ubuntu advanced partition tool

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.
Ubuntu partition editor

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.

Ubuntu 13.10 create bios_grub partition

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.
Ubuntu 13.10 advanced partition tool

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.
Ubuntu 13.10 create boot efi partition

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.
Ubuntu 13.10 create root partition

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.
Ubuntu 13.10 create /home partition

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.
Ubuntu 13.10 create swap partition

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.
Ubuntu 13.10 GPT partitions

0saves
To have articles like this delivered automatically to your Feed Reader or Inbox, subscribe via RSS or email.
Digital Ocean SSD VPS Cloud Server droplets

Digital Ocean is a VPS/Cloud hosting provider. For just $5 per month, you can get yourself a Cloud server with 512 MB of RAM, 20 GB super-fast SSD, free snapshots, plus backups for a minimal fee. All via a simple graphical interface.

And by signing up with this referral link, you can help support this website.

If you are reading this, your ad could also be occupying this space. Contact us to make it happen.

If commenting on this article is closed, please post your comments at forum.linuxbsdos.com.

5 Comments

  1. Steve Riley says:

    Modern partitioning tools follow the 1 MB partition alignment practice [1]. Starting the first partition on logical block 2048 (using 512-byte logical blocks) avoids large-sector misalignment. It’s important because modern drives now use 4096-byte sectors, although they still report 512-byte sectors to operating systems. The “curious” 1 MB free space appearing in the partition manager reflects this.

    [1] https://en.wikipedia.org/wiki/1_MB_partition_alignment#1_MB_alignment

  2. Olek says:

    i never made “bios-boot partition”
    EFI boot partition is under /boot/efi & formated as fat32 (here not formated and not mounted)

  3. Richard Foulkes says:

    The reason why older Linux distros needed the grub_bios partition was to embed older versions of grub. On a legacy bios system, grub was placed after the mbr, but before sector 63 / 2048. As the GPT table uses this area, embedding was not possible, so a partition had to be reserved for grub.

    However, nowadays grub lives in the EFI boot partition’s filesystem, so this partition is no-longer necessary. In debian-based distros, grub-pc is the package to install the MBR version, and grub-efi installs the EFI version. The ubuntu installer these days will autodetect EFI firmware, auto create the EFI system partition, and install grub-efi instead of doing it the ‘old’ way.

Leave a Comment