Should I use fdisk for partitioning or GPT aware tools?

MBR, Master Boot Record

Wikipedia excerpt; link:

A master boot record (MBR) is a special type of boot sector at the very beginning of partitioned computer mass storage devices like fixed disks or removable drives intended for use with IBM PC-compatible systems and beyond. The concept of MBRs was publicly introduced in 1983 with PC DOS 2.0.

I intentionally copy-pasted this for you to see that MBR comes all the way from 1983.

GPT, GUID Partition Table

Wikipedia excerpt; link:

GUID Partition Table (GPT) is a standard for the layout of the partition table on a physical storage device used in a desktop or server PC, such as a hard disk drive or solid-state drive, using globally unique identifiers (GUID). Although it forms a part of the Unified Extensible Firmware Interface (UEFI) standard (Unified EFI Forum proposed replacement for the PC BIOS), it is also used on some BIOS systems because of the limitations of master boot record (MBR) partition tables, which use 32 bits for storing logical block addresses (LBA) and size information on a traditionally 512 byte disk sector.

To answer your question, I advise you to use GPT partitioning where possible; in other words, if you don't have to use MBR, use GPT instead.

GPT advantages over MBR

  • it has a backup partition table

  • it has no ridiculous limit for primary partitions, it allows for up to 128 partitions without having to extend

  • it also stores cyclic redundancy check (CRC) values to check that its data is intact

  • as you mentioned, it supports large drives, the maximum size is 8 ZiB (2^64 sectors × 2^9 bytes per sector)

The usual tools

MBR in a CLI:

fdisk (link to manual); note: fdisk from linux-utils 2.30.2 partially understands GPT now

GPT in a CLI:

gdisk (link to manual)

For both MBR and GPT in a CLI:

parted (link to manual)

For both MBR and GPT in a GUI:

gparted (link to wiki)

gparted gui

fdisk from linux-utils 2.30.2 now understands GPT tables