fdisk
Screenshot of FDISK on MS-DOS
Developer(s)Robert Baron, IBM, Microsoft, Digital Research, Datalight, Novell, Brian E. Reifsnyder
Initial release1983, 38–39 years ago
Operating systemMS-DOS, PC DOS, FlexOS, SISNE plus, OS/2, eComStation, ArcaOS, Windows, DR DOS, ROM-DOS, FreeDOS, PTS-DOS, *BSD,[1] SysV
PlatformCross-platform
TypeCommand
LicenseMS-DOS, PC DOS, FlexOS, OS/2, Windows, DR DOS, ROM-DOS, PTS-DOS: Proprietary commercial software
FreeDOS: GNU GPLv2

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,[2] NetBSD,[3] OpenBSD,[4] DragonFly BSD[5] and macOS[6] for compatibility reasons. In versions of the Windows NT operating-system line from Windows 2000 onwards, fdisk is replaced by a more advanced tool[7] called diskpart. Similar utilities exist for Unix-like systems, for example, BSD disklabel.

Implementations

IBM PC DOS

IBM introduced fdisk, 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. fdisk 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 fdisk 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 FDISK32 and FORMAT32 utilities.

Microsoft DOS and Windows

The fdisk command on Microsoft Windows 95
The fdisk command on Microsoft Windows 95

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

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

Most DOS fdisk programs, including the fdisk 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 fdisk was provided with Windows 95, Windows 98, and later Windows ME. Only those fdisk versions shipping with Windows 95B or later are able to manipulate FAT32 partitions.[9] Windows 2000 and later do not use fdisk, they have the Logical Disk Manager feature, as well as diskpart.

Unlike the fdisk programs for other operating systems, the fdisk 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.[citation needed] (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 fdisk for partitioning. The fdisk /mbr switch is undocumented but well known for repairing the master boot record.

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

fdisk cannot create partitions larger than 512 GB, despite that the maximal FAT32 partition size is 2 TB. This limitation applies to all versions of fdisk 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[11] and the GUI-based fdiskpm.[12] 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 fdisk with the Logical Volume Manager (LVM).

DR/Novell DOS and FlexOS

DR DOS 6.0[13] and FlexOS[14] include an implementation of the fdisk command.

ROM-DOS

Datalight ROM-DOS includes an fdisk implementation.[15] 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 fdisk in FreeDOS is free software.[16] The FreeDOS version was developed by Brian E. Reifsnyder and is licensed under the GNU GPLv2.[17]

PTS-DOS

Paragon Technology Systems PTS-DOS 2000 Pro includes an fdisk implementation.[18]

Mach and 386BSD

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

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

For native partitions, BSD systems traditionally use BSD disklabel, and fdisk 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

References

  1. ^ a b "fdisk(8) — PC slice table (MBR) maintenance program". System Manager's Manual. FreeBSD, NetBSD, OpenBSD, DragonFly BSD.
  2. ^ a b "fdisk — PC slice table maintenance utility". BSD Cross Reference. FreeBSD. Lay summary.
  3. ^ a b "fdisk — MS-DOS partition maintenance program". BSD Cross Reference. NetBSD. Lay summary.
  4. ^ a b "fdisk — partition table maintenance program". BSD Cross Reference. OpenBSD. Lay summary.
  5. ^ a b "fdisk — PC slice table (MBR) maintenance program". BSD Cross Reference. DragonFly BSD. Lay summary.
  6. ^ a b "fdisk.tproj/fdisk.8", macOS 10.14.1, Apple
  7. ^ Data Recovery Software Glossary, Terminology – Best Reviews
  8. ^ Wolverton, Van (2003). Running MS-DOS Version 6.22 (20th Anniversary Edition), 6th Revised edition. Microsoft Press. ISBN 0-7356-1812-7.
  9. ^ "How to Use the Fdisk and Format Tools to Partition or Repartition a Hard Disk". Support (6.0 ed.). Microsoft. 28 June 2012.
  10. ^ "Fdisk Does Not Recognize Full Size of Hard Disks Larger than 64 GB". Support (4.0 ed.). Microsoft. 24 August 2012.
  11. ^ http://www.jatomes.com/Help/Os2Cmd.php#FDISK
  12. ^ http://www.jatomes.com/Help/Os2Cmd.php#FDISKPM
  13. ^ DR DOS 6.0 User Guide Optimisation and Configuration Tips
  14. ^ http://www.bitsavers.org/pdf/digitalResearch/flexos/1073-2003_FlexOS_Users_Guide_V1.3_Nov86.pdf
  15. ^ "Datalight ROM-DOS User's Guide" (PDF). www.datalight.com.
  16. ^ "ibiblio.org FreeDOS Group -- FreeDOS Base". www.ibiblio.org. Retrieved 2020-06-03.
  17. ^ http://www.ibiblio.org/pub/micro/pc-stuff/freedos/files/distributions/1.2/repos/pkg-html/fdisk.html
  18. ^ "PTS-DOS 2000 Pro User Manual" (PDF). Buggingen, Germany: Paragon Technology GmbH. 1999. Archived (PDF) from the original on 2018-05-12. Retrieved 2018-05-12.
  19. ^ "Fdisk".

Further reading