PDISK(8)

πŸ“¦ version 0.10, in nixos 26.05, nixpkgs unstable

πŸ’Ύ PDISK(8) β€” the Apple partition table editor, bestie edition 🍎✨

Okay so real talk: this is the pdisk manual page from section 8 of the System Manager's Manual, and it's genuinely iconic once you get past the manpage accent. It's a menu driven program that partitions your disks using the standard Apple disk partitioning scheme, the one described in "Inside Macintosh: Devices". πŸŽ€

And before anyone asks: no, it does not support the Intel/DOS partitioning scheme that fdisk(8) supports. Different vibe entirely. πŸ’…


✨ SYNOPSIS ✨

pdisk [-acdfhilLrv] [--abbr] [--compute_size] [--debug] [--fname]
      [--help] [--interactive] [--list] [--logical] [--readonly]
      [--version] [device ...]

🌸 DESCRIPTION 🌸

pdisk is a menu driven program which partitions disks using the standard Apple disk partitioning scheme described in "Inside Macintosh: Devices". It does not support the Intel/DOS partitioning scheme supported by fdisk(8).

Here are the supported options, listed with the love and detail they deserve:

  • -a, --abbr β€” abbreviates the partition types shown in the partition list. Short king behaviour 🫢
  • -c, --compute_size β€” causes pdisk to always ignore the device size listed in the partition table and compute the device size by other means. Trust issues but make it valid ✨
  • -d, --debug β€” turns on debugging. Doesn't add that much output, but it does add a new command x to the editing commands that accesses an eclectic bunch of undocumented functionality. Lowkey mysterious, highkey real πŸ‘€
  • -f, --fname β€” show HFS volume names instead of partition name when available. Names! We love a name reveal πŸ’–
  • -h, --help β€” prints a short help message. A little snack, not a full meal πŸ“
  • -i, --interactive β€” causes pdisk to go into an interactive mode similar to the MacOS version of the program. Main character energy fr fr πŸ‘‘
  • -l, --list β€” if no device argument is given, pdisk tries to list partition tables for all available drives. Otherwise, pdisk lists the partition tables for the specified devices. Cute and contextual 🌈
  • -L, --logical β€” show partition limits in logical blocks. Default is physical blocks. Yes, lowercase -l and uppercase -L are two completely different things, do not come for me πŸ’€
  • -r, --readonly β€” prevents pdisk from writing to the device. Protective queen, no notes πŸ›‘οΈ
  • -v, --version β€” prints the version number of pdisk. Say hi to the version, bestie ⭐

πŸ¦‹ Editing Partition Tables πŸ¦‹

An argument which is simply the name of a device indicates that pdisk should edit the partition table of that device.

The current top level editing commands are:

C    (create with type also specified)
c    create new partition
d    delete a partition
h    command help
i    initialize partition map
n    (re)name a partition
P    (print ordered by base address)
p    print the partition table
q    quit editing (don't save changes)
r    reorder partition entry in map
s    change size of partition map
t    change the type of an existing partition
w    write the partition table

Note the case-sensitivity, because C and c are siblings, not twins β€” P orders by base address while p just prints, and q quits without saving 😭 don't say I didn't warn you.

Commands which take arguments prompt for each argument in turn. You can also type any number of the arguments separated by spaces and those prompts will be skipped. The only exception to typeahead are the confirmation prompts on the i and w commands, since if we expect you to confirm the decision, we shouldn't undermine that by allowing you to be precipitate about it. Respect the pause, bestie 🫢

Partitions are always specified by their number, which is the index of the partition entry in the partition map. Most of the commands will change the index numbers of all partitions after the affected partition. You are advised to print the table as frequently as necessary. Like, constantly. Spam that p. πŸ”₯


🧚 The c (create new partition) command

The c (create new partition) command is the only one with complicated arguments. Okay so break it down:

  1. The first argument is the base address (in blocks) of the partition. Besides a raw number, you can also specify a partition number followed by the letter p to indicate that the first block of the new partition should be the same as the first block of that existing free space partition.
  2. The second argument is the length of the partition in blocks. This can be a raw number, or can be a partition number followed by the letter p to use the size of that partition, or can be a number followed by k, m, or g to indicate the size in kilobytes, megabytes, or gigabytes respectively. (These are powers of 1024, of course, not powers of 1000.) πŸ™ˆ the decimal enjoyers are gonna be so mad
  3. The third argument is the name of the partition. This can be a single word without quotes, or a string surrounded by single or double quotes.

πŸ’œ C β€” the glow-up version

The C command is similar to the c command, with the addition of a partition type argument after the other arguments.

🌸 i β€” initalize

The i (initalize) command prompts for the size of the device.

πŸŽ€ n β€” name

The n (name) command allows the name of a partition to be changed.

⭐ r β€” reorder

The r (reorder) command allows the index number of partitions to be changed. The index numbers are constrained to be a contiguous sequence. No gaps, no skipping, no chaos 🌈

πŸ“ t β€” change partition type

The t (change partition type) command allows the type of a partition to be changed.

πŸ‘‘ w β€” write

The w (write) command writes the partition map out. This is the moment. Commit. Bring it into the world ✨


πŸ” SEE ALSO πŸ”

fdisk(8), gpt(8), newfs(8) β€” go read those too, bestie, stay educated πŸ’…

πŸ“œ HISTORY πŸ“œ

The pdisk utility was originally developed for MkLinux. Origin story! Iconic 🧚

🫢 AUTHORS 🫢

Eryk Vershen β€” king behaviour, thank you for your service πŸ’–

πŸ’€ BUGS πŸ’€

  • Some people believe there should really be just one disk partitioning utility. (The discourse never ends. Periodt.)
  • Filesystem volume names are out of place in a partition utility. This utility supports HFS volume names, but not volume names of any other filesystem types. It's giving HFS-only exclusivity πŸ™ˆ
  • The --logical option has not been heavily tested. Use it with a little caution ngl 🫢

Cute sign-off time: this page comes from Debian, dated April 24, 2003, in section 8 of the manual. Old school, still slaying. πŸŒŸπŸŽ€πŸ’–
πŸ“¦ where this page comes from