97

When I am looking to create a new partition table, I have the following options:

  • aix
  • amiga
  • bsd
  • dvh
  • gpt
  • mac
  • msdos
  • pc98
  • sun
  • loop

The default in gparted appears to be msdos which I guess is an 'MBR' partition table. However gpt is more recent, but has less Windows support. I've used Linux for a long time, but I've never really looked into partitioning.

What are the various options and their differences? Is there a recommended one for Linux-only disks?

3 Answers 3

90

The options correspond to the various partitioning systems supported in libparted; there's not much documentation, but looking at the source code:

  • aix provides support for the volumes used in IBM’s AIX (which introduced what we now know as LVM);
  • amiga provides support for the Amiga’s RDB partitioning scheme;
  • bsd provides support for BSD disk labels;
  • dvh provides support for SGI disk volume headers;
  • gpt provides support for GUID partition tables;
  • mac provides support for old (pre-GPT) Apple partition tables;
  • msdos provides support for DOS-style MBR partition tables;
  • pc98 provides support for PC-98 partition tables;
  • sun provides support for Sun’s partitioning scheme;
  • loop provides support for raw disk access (loopback-style) — I’m not sure about the uses for this one.

As you can see, the majority of these are for older systems, and you probably won’t need to create a partition table of any type other than gpt or msdos.

For a new disk, I recommend gpt: it allows more partitions, it can be booted even in pre-UEFI systems (using grub), and supports disks larger than 2 TiB (up to 8 ZiB for 512-byte sector disks). Actually, if you don’t need to boot from the disk, I’d recommend not using a partitioning scheme at all and simply adding the whole disk to mdadm, LVM, or a zpool, depending on whether you use LVM (on top of mdadm or not) or ZFS.

5
  • 1
    +1. If you add an entire disk to a zfsonlinux pool, it will create two gpt partitions, an ashift-aligned partition 1 with the bulk of the disk, and a small partition 9 at the end of the disk for the EFI System Partition. As with MBR, there is enough space before the start of partition 1 for a boot-loader like grub.
    – cas
    Commented Jun 14, 2016 at 3:06
  • 14
    Could you explain more in detail, why you "recommend not using a partitioning scheme" if the drive is not required for booting? Why is it better to have no partition table at all? Commented Feb 3, 2019 at 10:19
  • 3
    Additional information about NOT creating a partition can be found here and here. From what I can tell this is not a good idea and doesn't outweigh the benefit of having a partition just so other utilities and systems will recognize the disk "has something on it" rather than just looking totally empty.
    – JPhi1618
    Commented Sep 4, 2020 at 18:14
  • Using loop "partition table" destroys any partition table. It's useful when you want to get rid of a gpt table, as a gpt has 2 tables, the primary, at the first sectors of your drive, and the secondary (backup) table, at the last sectors of your drive.
    – paladin
    Commented Apr 21, 2022 at 7:49
  • @StephenKitt "loop" essentially means that you do not have a paertition table et al, instead you format and mount the whole block device. Very, very useful if you do not want to s..k with things just mount them, particularly in virtualized environments, too.
    – peterh
    Commented Sep 22, 2023 at 20:04
15

Yes msdos is the Master Boot Record based partioning.

You should either go with msdos or with gpt. You will have to go with gpt if you want more than 7 partitions (unless you want a non-standard MBR, which I don't recommend, you never know what utilities assume the msdos/windows restrictions). You also have to go with gpt if you have drives > 2Tb.

If this is a Linux only disc that will never go into a really old Linux system not supporting gpt, then going with gpt is the easiest.

1
  • 6
    The old MBR partitioning scheme supports an indefinite length chain of "logical drives" (i.e. secondary partitions) within the "extended partition". This limit of 7 that you state does not come from the partitioning scheme itself, nor indeed (to my knowledge) from any operating systems that handle it. I've had assigned drive letters going a good two thirds of the way to the end of the alphabet in years gone past. The EFI partitioning scheme is definitely the superior choice nowadays, though, in part because all of the befuddlement and folklore about primary and extended partitions goes away.
    – JdeBP
    Commented Jun 14, 2016 at 8:26
0

Historically, before PCs took over the world different computer systems, and sometimes even the same computers running different software, had different partition table formats.

Afaict Linux never had it's own partition table format*. Traditionally you would use whatever the native partition table format was for the computer you were running it on. Particularly for boot disks it was/is necessary to use a partition table that was compatible with the computer's boot process.

Nowadays, unless you are dealing with obscure or retro systems, mbr and gpt are probably the only partition table types you are likely to encounter.

msdos (aka "mbr") was the traditional partition table format on IBM compatible PCs running DOS and windows. It's still widely used today, though sometimes regarded as legacy. The main practical problem with it is it uses 32-bit sector numbers, so it cannot fully support drives over 2 TiB.

gpt was introduced as part of the EFI standard, originally designed for booting Itanium systems. While Itanium was largely stillborn, EFI and GPT lived on. Apple adopted EFI for booting Intel MACs, and some time later EFI evolved into uEFI and gradually took over from the BIOS for booting PCs.

gpt is used in conjunction with a "protective MBR". This prevents pre-gpt tools seeing the disk as unpartitioned. In some cases the protective mbr may be replaced with a "hybrid mbr" allowing mbr only software to see some of the partitions on the disk, this is only needed in unusual cases (mostly involving multiboot systems on older Intel MACs).

On a PC with a traditional non-efi BIOS (or a uEFI one operating in "compatibility" mode), "msdos" is the best supported partition table. Grub can boot a non-efi PC from a gpt disk, but as far as I can tell windows is not supported on such a setup and such a setup is considered non-standard.

On a PC with uEFI operating natively, gpt is the supported partition table format. Some uEFI implementations can apparently perform uEFI boot with a MBR partition table but this is non-standard.

Arm macs also use GPT, but with some additional complications. The Asahi guys seem to be the experts on that.

* Linux does have lvm, but lvm is not treated as a partition table type.

You must log in to answer this question.