Default Windows 8 GPT partitions

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.

Related Post:  tboot in Fedora 19: Don't worry, it's just a bug

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

Related Post:  Cell security in Apache HBase

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

Share:

Share on facebook
Facebook
Share on twitter
Twitter
Share on pinterest
Pinterest
Share on linkedin
LinkedIn

Hola! Did you notice that LinuxBSDos.com no longer runs network ads?  Yep, no more ads from the usual suspects that track you across the Internet.  But since  I still need to pay to keep the site running, feel free to make a small donation by PayPal.

Subscribe for updates. Trust me, no spam!

Mailchimp Signup Form

Sponsored links

1. Attend Algorithm Conference, a top AI and ML event for 2020.
2. Reasons to use control panel for your server.
3. DHgate Computers Electronics, Cell Phones & more.

10 Responses

  1. I like the tutorial but I don’t understand one thing: Suppose that I am installing Linux on a virgin HDD (i.e one that does not have Windows already installed!). How do I create a GPT partition _table_ ? (As opposed to the traditional MBR partition _table_)

    1. If UEFI is the default configuration of the PC, and you’re using the Linux distribution’s automatic partitioning mode, GPT should be the default.

      However, if you’re creating partitions manually, there should be a button that you can use to change/create the partition table type, GPT or MBR/Dos.

      In the case of Ubuntu, you’ll find the button on the step after selecting the Something else option.

  2. Many unanswered questions. I’m reading now that SSD demands are different. My Dell Notebook (XPS-15) has a small mSATA SSD, as well as the traditional spinning disk. Many other devices have only various types of flash drives, which can take Linux.

    Should I use the format & partitioning used by Linux’s Grub, or by Windows 7 or 8, or 8.1? I know that my Linux distributions can easily read-write my ntfs-compressed partitions, though not very safely. I guess I need to do more googling now?

    1. You can use the same kinds of partition table types and filesystem types on SSDs as you do on hard disks. SSDs have no special requirements there.

      That small mSATA SSD is probably designed to be used as a cache for the larger spinning disk. It requires driver software to make it work that way; you don’t format the SSD or put a filesystem on it. I don’t know whether Linux drivers exist for this purpose, though.

  3. 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

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

  5. 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.

      1. To put it very simply: you need a BIOS boot partition for a BIOS native install to GPT. You need an EFI system partition for a UEFI native install. You don’t need either for a BIOS native install to MBR. You never need both.

Leave a Reply

Your email address will not be published. Required fields are marked *

Get the latest

On social media
Via my newsletter
Mailchimp Signup Form

Partner links

1. Attend Algorithm Conference, a top AI and ML event for 2021.
2. Reasons to use control panel for your server.
3. DHgate Computers Electronics, Cell Phones & more.
Hacking, pentesting distributions

Linux Distributions for Hacking

Experts use these Linux distributions for hacking, digital forensics, and pentesting.

Categories
Archives

The authors of these books are confirmed to speak during

Algorithm Conference

T-minus AI

Author was the first chairperson of AI for the U.S. Air Force.

The case for killer robots

Author is the Director of the Center for Natural and Artificial Intelligence.

Why greatness cannot be planned

Author works on AI safety as a Senior Research Scientist at Uber AI Labs.

Anastasia Marchenkova

An invitation from Anastasia Marchenkova

Hya, after stints as a quantum researcher at Georgia Tech Quantum Optics & Quantum Telecom Lab, and the University of Maryland Joint Quantum Institute, I’m now working on superconducting qubit quantum processors at Bleximo. I’ll be speaking during Algorithm Conference in Austin, Texas, July 16 – 18, 2020. Meet me there and let’s chat about progress and hype in quantum computing.