GPT partition types

gptpartition

I'd like to know or know where I can find a good explanation of GPT. With MBR there was partition types. Not with GPT. There is fs-type and flags (anything else?), which seem to over lap. Can I mark a partition as raid and then set fs-type to fat32? Can all flags only be set one at a time? Or can more than one flag be set?

Using parted, one cannot set boot and raid flags on the same partition – perhaps for a good reason. I know basically how to use GPT. I'd like to know why it works that way.

Best Answer

GPT has partition type codes just like MBR; the difference is that they're 128-bit GUIDs instead of 8-bit integers. But they serve the same purpose.

GNU Parted hides them from you, though. Those flags you see, like "boot" and "raid", are specific to Parted. When you set the "boot" flag, it actually sets the partition's type code to the GUID for an EFI System partition. When you set the "raid" flag, it sets the partition's type code to a different GUID that indicates a Linux software RAID component device. That's why those flags (and a number of others that control the partition type) are mutually exclusive.

I don't really like Parted, both for its strange way of exposing GPT type codes and because it lacks some conveniences compared to fdisk (like being able to type "+10G" to specify a partition's end relative to its start). For GPT partitioning, I use "gdisk", which is a lot like the conventional fdisk, but for GPT. In gdisk, you can set a partiton's type either by specifying the GUID itself, or by choosing from a table of shorthand numbers that's similar to the one you get by typing 'L' in fdisk.