Guid Partition Table

What is GUID Partition Table (GPT)?

The Globally Unique Identifier Partition Table or GPT refers to the standard for the design of partition tables in the physical storage device in a computer such as the Hard Disk Drive and uses the UEFI startup firmware to define the partitions.

Also usable in the older BIOS systems, a GPT or GUID Partition Table is that which manages the startup process of the newer hard drives, operating systems, and motherboards.

Understanding GUID Partition Table (GPT)

What is GUID Partition Table (GPT)

GPT actually refers to the typical layout of the partition tables of a physical storage device of a computer such as a HDD or Hard Disk Drive or an SSD or Solid State Drive.

GPT usually forms a part of the UEFI or the Unified Extensible Firmware Interface standard.

However, you will also find it being used for some specific BIOS systems.

This is mainly due to the limitations present in the Master Boot Record or MBR partition tables.

The GPT plays a significant role in the proper functioning of the larger and newer hard drives in particular that typically comes with a storage space of more than 2 TB.

This partition scheme normally helps in recording the actual capacity of the hard drives properly that is necessary for the operating system to use for boot up.

The computing world today is moving forward to the GPT partitioning scheme so that it can sustain and survive the changes that are about to come in the future in this sector.

Typically, GPT has already started to show signs that it will become the standard in the future computers, though the change as of now is gradual.

Still, almost all operating systems of the modern personal computers support the GUID Partition Table standard, albeit with a little difference.

For example, the Microsoft Windows operating systems that are based on an x86 architecture and macOS support booting from the GPT partition scheme only on systems that come with an EFI or Extensible Firmware Interface.

On the other hand, most of the Linux distributions and FreeBSD can boot from the GPT partitions on systems that come with either an EFI or BIOS.

The GUID Partition Table can support partitions as large as 18 exabytes in comparison to the lowly support of the MBR method which is restricted to 2 TB or 2.2 TB to be precise.

The GPT standard comes with an additional Protective MBR which makes the best use of the third-party MBR utilities to identify the disk properly.

In addition to that, it also comes with a Legacy MBR which helps the first partition to boot as an MBR drive as and when required.

The GUID Partition Table offers a more flexible way to partition the disks compared to the MBR standard that was so common to personal computers due to the Unified Extensible Firmware Interface initiative.

The contiguous storage space created on a logical or a physical disk functions just like a separate physical disk.

These partitions are clearly visible to the operating system installed in the computer as well as its firmware.

The access to it is however controlled by the firmware of the system before it boots the operating system.

The control is then transferred to the operating system after it starts.

A conventional GUID Partition Table scheme will typically come in three parts in order as follows:

If you look at the layout of a GUID Partition Table you will see that each of these portions consist of different components.

For example, the primary partition table contains:

Normal data partitions, on the other hand, refer to the four physical locations at the middle section of the GPT disk where all data and personal files are stored.

And finally, the backup or secondary partition table refers to the end of the GPT disk where all the backup or duplicate information is stored. This consists of two specific parts namely:

The GPT header and the partition tables can access the backup partition table to recover data in case of damage to or data loss from the primary partition table.

Advanced Features

The GPT disks typically come with a few advanced features that make them stand apart and offer more flexibility and much better management. Here are some of these features:

The GPT partition is bootable not only as long as the primary partition table of it is intact but also when it is damaged because it can reload the necessary data and information from the secondary partition table.

The Protective MBR of the GPT partitioning scheme needs a specific mention here.

It is found in the beginning in sector 0 and comes at the start of the GPT on the disk. It typically contains one type 0xEE partition and spans across the disk.

The need of a Protective MBR by a GPT is to protect it from the particular MBR disk tools released previously such as:

These tools do not know about GPT and how to access a GPT disk properly.

Therefore, these tools need a Protective MBR that it will access first and which will allow them to see the GPT disk as a solitary partition encompassing and not consider it to be an unpartitioned disk erroneously.

With all these features of the GPT there is hardly any doubt that it is a much better disk partitioning system than the MBR partitioning scheme.

It allows much better disk partition management and higher data protection.

Read Also:  What is Flash Storage? Function, Pros, Cons & More

GPT Format

The format of the GPT partitioning system may be different for different types of disks.

For example, for the basic disks, which are the most widely used storage type with Windows and have primary partitions and logical drives, the formatting is usually done with a file system that happens to be the volume for storing the files.

Here, on the GUID Partition Table there is a Protective MBR area that ensures backward compatibility with all of the disk management utilities that typically operate on Master Boot Record.

There is also a GPT header that defines the range of LBA or Logical Block Address that is used by the partition entries. Apart from that, this also defines other useful things such as:

The entries made in the GUID partition table starts typically with the GUID of the partition type which is pretty much similar to the system ID of the MBR partition scheme.

This partition type GUID is of 16 bytes and identifies how exactly the particular partition is being used and what is the type of data that the partition holds.

On the other hand, the format for the dynamic disks with GPT partition style includes up to 128 primary partitions.

This means that in this format you will not need to create any logical drives or any extended partitions.

Here is the GPT header format with offset, length, and contents in order:

Now, take a look at the GUID partition entry format, which is in the same order of offset, length and contents and are as follows:

UEFI Requirements

Since the GPT standard is self-defining and self-identifying and it uses the UEFI, there are some specific requirements for it to function.

One of the most significant requirements is that all of the information is contained in particular structures.

These structures are stored in specific locations on the physical media so that it can be interpreted easily and quickly by the GPT partitioning mechanism.

Identifying GPT

Now, how do you know whether or not the hard drive of your system uses GPT? Well, for that you will need to use the diskpart command.

The steps to follow for this include:

The listing of disk partitions will be displayed. If the disk is GPT enabled, there will be an indication under the GPT column as well as for every drive that is GPT enabled.

Technical Aspects

Now, take a look at the various technical aspects of GPT.

However, this section may seem to be a bit difficult to understand for any average user but for a tech-savvy person, this is very important.

Intel developed a new partition table format in the late 1990s which eventually became UEFI and called it GPT.

It uses 64 bits for LBA which allows a maximum disk size of up to 264 sectors.

This means that for any disk with 512 byte sectors, the maximum size will be 264 × 512 bytes = 8 ZB or 9.44 × 10²¹ bytes = 9.44 ZB.

And, for disks with 4,096 byte sectors, the maximum size will be 264 × 4,096 bytes = 64 ZB or 75.6 × 10²¹ bytes = 75.6 ZB.

Later on, with the development of technology, the manufacturers of hard disks created drives with 4,096 byte sectors with advanced format included in them such as a 512e emulation technology.

This allowed compatibility with legacy software and hardware.

And, this also allowed 512 byte sectors access to the hard drive in spite of the fact that they had 4,096 byte physical sectors underlying.

As said earlier, there is a GPT header in LBA 1 which has a pointer to the Partition Entry Array or partition table, which is usually at LBA 2.

Every entry that is made in the partition table is of 128 bytes size.

However, according to the UEFI specification it is stipulated that at least 16,384 bytes will be allocated for the Partition Entry Array, irrespective of the size of the sector.

Therefore, for a disk with 512 byte sectors there will be at least 32 sectors used for the Partition Entry Array out of which the first usable block will be at LBA 34 or higher.

On the other hand, for a disk with 4,096 byte sectors, there will be 4 sectors at the least that will be used for the partition tables out of which the LBA 6 or higher will be considered as the first usable block.

Attributes:

At this point, it is good to know a bit about the attributes regarding the partition tables.

Typically, the partition table attributes of 64-bit are usually shared between the 16 bit type-specific attributes and the 45 bit common attributes.

Here is the breakdown of the bits and contents of these following attributes:

There are a few type-specific attributes for basic data partition that are defined by Microsoft such as:

On the other hand, there are a few other type-specific attributes that Google defines for its Chrome OS kernel such as:

Partition Type Globally Unique Identifiers:

Finally, your knowledge about the technical aspects of GPT will not be complete if you do not know the different GUIDs for different partition types.

Typically, each partition will have its own GUID. Some of the standard GUIDs used are:

As for the Windows operating systems, the GUIDs are as follows:

As for HP-UX operating system, the GUIDs are as follows:

As for Linux operating system, the GUIDs are as follows:

Read Also:  What is Master File Table (MFT)? (Explained)

As for FreeBSD operating system, the GUIDs are as follows:

As for macOS Darwin operating system, the GUIDs are as follows:

As for Solaris Illumos operating system, the GUIDs are as follows:

As for NetBSD operating system, the GUIDs are as follows:

As for Chrome operating system, the GUIDs are as follows:

As for Container Linux by CoreOS, the GUIDs are as follows:

As for MidnightBSD operating system, the GUIDs are as follows:

As for Ceph operating system, the GUIDs are as follows:

As for VMware ESX operating system, the GUIDs are as follows:

As for Android-IA operating system, the GUIDs are as follows:

As for Android 6.0+ ARM operating system, the GUIDs are as follows:

As for Open Network Install Environment or ONIE operating system, the GUIDs are as follows:

As for SoftRAID utility software, the GUIDs are as follows:

As for Fuchsia standard partitions, the GUIDs are as follows:

As for Fuchsia legacy partitions, the GUIDs are as follows:

And, the single GUIDs for some other operating systems and utility software are as follows:

Operating System Support

GPT supports different operating systems differently. For example, in the case of UNIX and UNIX-like operating systems, it supports both read and write operations as well as offers boot support.

On the other hand, for different versions of Windows operating systems, for some it supports both read and write operations and booting while in others it offers only read and write support.

Also, in some cases, to offer boot support, it has a few specific requirements. All of these are enlisted below.

As for the UNIX and UNIX-like operating systems, GPT offers read, write and boot support to these particular operating systems:

However, for the MidnightBSD operating system family, it needs BIOS to offer boot support.

As for the Microsoft Windows 32-bit versions, GPT offers only read and write support to these specific operating systems:

Read Also:  What is Virtual Memory? Types, Uses & More

However, for Windows 8, Windows 8.1, and Windows 10, it needs UEFI to offer boot support in addition to read and write support.

And as for the Microsoft Windows: 64-bit versions, GPT offers both read and write support as well as boot support to these following operating systems:

On the other hand, it offers read and write support but requires UEFI to offer boot support to the following operating systems depending on the platform:

And, depending on the platform used, it offers only read and write support to Windows XP Professional x64 Edition Windows Server 2003.

Now, with all the technicalities, features and requirements explained, you must have understood what a GPT partitioning scheme actually is.

However, to make a decisive choice, you will also need to know the uses, advantages and disadvantages of this particular partitioning style, which brings to the next sections of the article.

Uses

Most of the users now are more inclined toward using the GPT based disks because it allows growth.

This is due to the fact that the larger number of partitions on a GPT disks eliminates the constraints of temporary partition schemes which is so common in MBR or Master Boot Record based disks.

Another significant use of the GPT disk partition scheme is seen by the data critical platforms.

This is primarily due to the self-identifying and well defined nature of the new GPT partition scheme.

This allows storing platform operations in partitions instead of in any hidden or un-partitioned sectors.

The GPT partition scheme is also useful for CRC 32 fields for redundancy due to the use of both primary as well as backup partition tables.

This helps in improving the integrity of the partition data structures.

The GPT partition format is also used by sectors that are looking for future expansion.

The different version numbers and size fields make this possible for them.

The global unique identification of the GPT partition and its content type prevents partition identifier collisions with proper coordination and management.

The GPT partition scheme is used in the 64-bit UEFI-based computers since Windows works best on a GPT partition.

This means that GPT can be read by almost all versions of Windows including and not limited to:

It can boot easily from a UEFI-based computer.

Also, other operating systems use GPT partition schemes.

For example, the Intel Mac computers of Apple have shifted to this scheme from their proprietary Apple Partition Table or APT format.

The latest GPT structures are also used by Linux operating systems, on the other hand, which typically comes with built-in support for the GPT partition schemes.

Advantages

This new GUID PT scheme offers quite a lot of advantages to the users. Here are a few of them listed for your knowledge.

One of the most significant advantages of the GPT scheme is that it is more resilient to corruption in comparison to the MBR partition scheme.

This is primarily because the GPT stores several versions of the data. This means that when data in one partition is corrupted, it can be recovered from a different location.

It is also more secure and offers a much higher data protection.

This is mainly because the GPT scheme stores CRC or Cyclic Redundancy Check values.

It allows the GPT to know about any issues or chances of data corruption beforehand and act accordingly.

This protects the data and the partition table which is a feature that is found lacking in the MBR partition scheme.

Another significant advantage of the GPT scheme is related to the Globally Unique Identifier or GUID itself.

This is actually a 36 character plain text Unicode name for the partition. This helps the software to identify the partition easily and directly.

For this, the software does not need to rely on the special translation to be made between the operating system and the BIOS.

It will present a name for the partition that a human can read without requiring any extra knowledge of the partition.

In terms of the number of partitions, the advantage of using GPT in Windows is that you will get as many as 128 primary partitions instead of just 4 as you would get in the Master Boot Record partition scheme.

However, theoretically, it is unlimited.

In Windows it is not impossible to access as much as 32,768 TB of information on one single drive mechanism.

This is slightly more than the 128 kilobytes that you usually got on those single density and single-sided floppy drives that were used extensively in the 1980s.

Moreover, a GPT formatted disk typically does not need UEFI or the Unified Extensible Firmware Interface because all of the information that is necessary for the disk is enclosed in the format itself.

Perhaps the best advantage offered by the GPT partition scheme is that it supports not only the Windows standard versions as mentioned above but also the other ones as well such as:

In short, the features and functionalities of the new GPT partition scheme offer a much better management of the partitions in the disks.

Disadvantages

The disadvantage of the new GPT scheme is not many. However, the most significant one is related predominantly to its compatibility with the older operating systems.

For example, if you have computer running on a Windows XP 32-bit, forget about booting because GPT will not work on it.

This drawback of the GPT scheme is mainly due to its support to the latest Unified Extensible Firmware Interface.

Apart from that, you will also find it quite difficult to set up a Windows dual-boot system by using a Linux operating system and UEFI so that it starts in the BIOS mode.

However, the disadvantages of the GPT are felt more while using it.

This, however, does not mean that the issues lie with the GPT itself. For example:

Perhaps the only significant disadvantage that is related directly to the GPT itself is its relatively larger overhead in comparison to the Master Boot Record partition scheme. This is mainly because the GPT standard uses 64-bit values.

And, when the GPT partition type actually matters, the probable disadvantage is that the GUIDs may not include all of the known MBR partition types.

For example, the Novell Netware, especially when the GPT comes with a Protective MBR to boot into that particular operating system.

Conclusion

So, now you have gained some knowledge about the GUID Partition Table and will probably want to use it while setting up a drive.

This will help you to stay with the crowd and the computers that is slowly but surely moving towards a more robust and modern standard.