Fdisk
| Company type | Software utility |
|---|---|
| Industry | Computer software |
| Predecessor | None |
| Founded | March 1983 |
| Founder | IBM (initial version) |
| Products | Disk partitioning tool |
fdisk is a command-line utility designed for disk partitioning. It has been incorporated into systems such as DOS, DR FlexOS, IBM OS/2, early editions of Microsoft Windows, and certain versions of FreeBSD, NetBSD, OpenBSD, DragonFly BSD, and macOS to maintain compatibility. Beginning with Windows 2000, fdisk was succeeded by the more sophisticated diskpart utility.
DOS
In March 1983, IBM launched fdisk, officially named "Fixed Disk Setup Program," alongside the release of the IBM PC/XT and IBM PC DOS 2.0. The initial version 1.0 allowed creation and deletion of a single FAT12 partition, modification of the active partition, and display of partition information. It managed the writing of the master boot record, supporting up to four partitions—three of which were reserved for other operating systems like CP/M-86 and Xenix, each having their own partitioning tools.
Microsoft integrated fdisk into MS-DOS starting with version 3.2, while MS-DOS versions 2.0 through 3.10 often included OEM-specific partition management utilities sometimes labeled as fdisk.
With PC DOS 3.0 (released August 1984), support for larger disks using the FAT16 file system was introduced. Later, PC DOS 3.30 (April 1987) enhanced fdisk by adding support for extended partitions, which serve as containers for multiple logical drives without holding data directly. Compaq’s fdisk variant in MS-DOS 3.31 brought FAT16B compatibility; this feature was subsequently incorporated into MS-DOS and PC DOS 4.0.
An undocumented /mbr option for repairing the master boot record became widely adopted.
IBM PC DOS 7.10 introduced a new utility called fdisk32.
Other operating systems such as ROM-DOS, DR DOS 6.0, FlexOS, PTS-DOS 2000 Pro, and FreeDOS also include their own versions of fdisk.
Windows
The versions of fdisk found in Windows 95, Windows 98, and Windows ME are derivatives of the MS-DOS fdisk tool. Starting with Windows 2000, fdisk was replaced by more advanced utilities like the command-line based diskpart and graphical tools such as Disk Management.
Beginning with Windows 95 OSR2, fdisk gained support for the FAT32 file system; however, it did not accurately recognize hard drives larger than 64 GB until Microsoft released an update to address this issue. Furthermore, fdisk cannot create partitions exceeding 512 GB in size, despite FAT32’s capability to handle volumes up to 2 TB. This restriction persisted across all fdisk versions included in Windows 95 OSR2.1, Windows 98, and Windows ME.
IBM OS/2
Before version 4.0, the OS/2 operating system provided two partition management utilities: a text-based fdisk and a graphical tool named fdiskpm. Both supported management of FAT and the HPFS partitions.
Starting with OS/2 version 4.5 (including derivatives like eComStation and ArcaOS), support was extended to include the JFS file system, with fdisk being replaced by the more advanced Logical Volume Manager (LVM).
Mach and 386BSD
The fdisk utility for the Mach Operating System was originally developed by Robert Baron and later ported to 386BSD by Julian Elischer. This version serves as the basis for fdisk implementations in FreeBSD, NetBSD, and DragonFly BSD as of 2019, as well as early releases of OpenBSD prior to version 2.2.
In 1997, Tobias Weingartner rewrote fdisk ahead of OpenBSD 2.2's release; Apple Computer, Inc forked this version in 2002, which remains foundational for macOS's fdisk as of 2019.
Although BSD variants primarily utilize the native BSD disklabel format for partitioning, fdisk is supported on selected architectures to ensure compatibility and functions alongside the mandatory BSD disklabel system.
Linux
Within Linux environments, the fdisk utility is part of the default util-linux package overseen by the Linux Kernel project. Initially created by Andries E. Brouwer and A. V. Le Blanc, the tool underwent a complete rewrite by Karel Zak and Davidlohr Bueso during a 2006 split of util-linux. As an alternative, cfdisk provides a text-based user interface (TUI) built on ncurses for managing partition schemes.