Features/GUID Partition Table

= Use GUID Partition Tables as much as possible =

Summary
The goal is to make Fedora use GPTs (GUID Partition Tables) as much as possible. GPTs are a new type of partition table that improve the old MBR-partitions tables. They support Partitions bigger than 2TB, filesystem independent UUIDs and partition labels and feature checksums for the partition table.

Owner

 * Name:
 * email:

Current status

 * Targeted release: Fedora 14
 * Last updated: 2010-03-19
 * Percentage of completion: 1%

How To Test
Try to install Fedora using Live images and DVD install with:
 * 1) Empty disks
 * 2) Disks containing MBR style partitions
 * 3) Disks containing GPT style partitions
 * 4) Booting from GPT style partitions with as much different BIOSes as possible
 * 5) Using GPT style partitions with other OSes

Dependencies

 * Anaconda
 * Anaconda needs to be able to write and read GPTs.
 * GRUB
 * Grub needs to be able to boot from GPT-style partitions. This is probably already possible.
 * Other OSs
 * Windows XP and earlier does not support booting from hard disks using only GPTs. This might be handled using gptsync which allows to use both GPTs and MBR partitions at once. But it should not be the default case.
 * BIOS support
 * This might cause issues with old BIOSes. This needs to be investigated. Maybe it is enough to just mark all protective MBRs as active.
 * Marking the protecive MBR partition active violates the UEFI 2.3 specification according to gdisk upstream

gptsync
gptsync is a command-line tool to synchronize the GPT with a legacy MBR. gptsync is bundled in the rEFIt upstream project. In Fedora gptsync is currently bundled with Anaconda. Debian has forked gptsync by including a very useful set of patches which fix build issues and add command-line options. It would be good to unify gptsync and provide it as a separate package.

Contingency Plan
Use MBR style partitions for another release and fix stuff for the next one.

Comments and Discussion

 * See Talk:Features/GUID_Partition_Table for conversation without bogging down the main feature page