Fdisk
In computing, the fdisk command-line utility provides disk-partitioning functions, preparatory to defining file systems. fdisk features in the DOS, DR FlexOS, IBM OS/2, and Microsoft Windows operating systems, and in certain ports of FreeBSD, NetBSD, OpenBSD, DragonFly BSD and macOS for compatibility reasons. In versions of the Windows NT operating-system line from Windows 2000 onwards,  is replaced by a more advanced tool called diskpart. Similar utilities exist for Unix-like systems, for example, BSD disklabel.

Implementations

IBM PC DOS
IBM introduced , Fixed Disk Setup Program version 1.00, with the March 1983 release of the IBM PC/XT, the first PC to store data on a hard disk, and the IBM Personal Computer DOS version 2.0.  Version 1 could be used to create one FAT12 DOS partition, delete it, change the active partition, or display partition data.   writes the master boot record, which supported up to four partitions. The other three were intended for other operating systems such as CP/M-86 and Xenix, which were expected to have their own partitioning utilities as  did not support them.

In August 1984, PC DOS 3.0 added FAT16 partitions to support larger hard disks more efficiently.

In April 1987, PC DOS/fdisk 3.30 added support for extended partitions, which could hold up to 23 "logical drives" or volumes.

IBM PC DOS 7.10 contained  and  utilities.

Microsoft DOS and Windows

The command is available in MS-DOS versions 3.2 and later. MS-DOS versions 2.0 through 3.10 included OEM specific partitioning tools, which may or may-not be called .

Support for FAT16B was added with Compaq MS-DOS 3.31, and later became available with MS-DOS/PC DOS 4.0.

Most DOS  programs, including the  program that came with the original Windows 95, are only capable of creating FAT partitions of types FAT12, FAT16 and FAT16B.

A derivative of the MS-DOS  was provided with Windows 95, Windows 98, and later Windows ME. Only those  versions shipping with Windows 95B or later are able to manipulate FAT32 partitions. Windows 2000 and later do not use , they have the Logical Disk Manager feature, as well as .

Unlike the  programs for other operating systems, the  programs for DOS and Windows 9x/Me not only alter data in the partition table, but will also overwrite many sectors of data in the partition itself. (However, to create an extended partition any partition editor must put extended boot records before each logical drive on the disk.) Users must be sure the correct disk/partition has been chosen before using a DOS/Windows  for partitioning. The  switch is undocumented but well known for repairing the master boot record.

The  supplied with Windows 95 does not report the correct size of a hard disk that is larger than 64 GB. An updated  is available from Microsoft that corrects this. Microsoft named the replacement "263044usa8" and is Version 4.72.2811.0. Signature May 23, 2000. The original Windows 98  program size is smaller than the updated one.

 cannot create partitions larger than 512 GB, despite that the maximal FAT32 partition size is 2 TB. This limitation applies to all versions of  supplied with Windows 95 OSR 2.1, Windows 98 and Windows ME.

IBM OS/2
OS/2 shipped with two partition table managers up until version 4.0. These were the text mode fdisk and the GUI-based fdiskpm. The two have identical functionality, and can manipulate both FAT partitions and the more advanced HPFS partitions.

OS/2 versions 4.5 and higher (including eComStation and ArcaOS) can use the JFS filesystem as well as FAT and HPFS, and replace  with the Logical Volume Manager (LVM).

DR/Novell DOS and FlexOS
DR DOS 6.0 and FlexOS include an implementation of the  command.

ROM-DOS
Datalight ROM-DOS includes an  implementation. ROM-DOS was introduced in 1989 as an MS-DOS compatible operating system designed for embedded systems. ROM-DOS 7.1 added support for FAT32 and long file names.

FreeDOS
The implementation of  in FreeDOS is free software.
The FreeDOS version was developed by Brian E. Reifsnyder and is licensed under the GNU GPLv2.

PTS-DOS
Paragon Technology Systems PTS-DOS 2000 Pro includes an  implementation.

Mach and 386BSD

 for Mach Operating System was written by Robert Baron. It was ported to 386BSD by Julian Elischer, and the implementation is being used by FreeBSD, NetBSD and DragonFly BSD, all as of 2019, as well as the early versions of OpenBSD between 1995 and 1997 before OpenBSD 2.2.

Tobias Weingartner re-wrote  in 1997 before OpenBSD 2.2, which has subsequently been forked by Apple Computer, Inc in 2002, and is still used as the basis for  on macOS as of 2019.

For native partitions, BSD systems traditionally use BSD disklabel, and  partitioning is supported only on certain architectures (for compatibility reasons) and only in addition to the BSD disklabel (which is mandatory).

Linux
In Linux, fdisk is a part of a standard package distributed by the Linux Kernel organization, util-linux. The original program was written by Andries E. Brouwer and A. V. Le Blanc and was later rewritten by Karel Zak and Davidlohr Bueso when they forked the util-linux package in 2006.

See also
 List of disk partitioning software
 format (command)
 cfdisk
 GUID Partition Table

References

Further reading

External links

 Linux Partition HOWTO. Partitioning with fdisk
 Linux Programmer's Manual, fdisk(8)
 fdisk from utils-linux-ng
 blkid - command-line utility to locate/print block device attributes 
 Using the blkid Command .
 FreeBSD System Manager's Manual, FDISK(8)

External DOS commands
OS/2 commands
Unix file system-related software
Windows administration
Disk partitioning software