![]() Screenshot of FDISK onMS-DOS | |
Developer(s) | Robert Baron,IBM,Microsoft,Digital Research,Datalight,Novell, Brian E. Reifsnyder |
---|---|
Initial release | 1983, 41–42 years ago |
Operating system | MS-DOS,PC DOS,FlexOS,SISNE plus,OS/2,eComStation,ArcaOS,Windows,DR DOS,ROM-DOS,FreeDOS,PTS-DOS, *BSD,[1]SysV |
Type | Command |
License | MS-DOS, PC DOS, FlexOS, OS/2, Windows, DR DOS, ROM-DOS, PTS-DOS:Proprietarycommercial software FreeDOS:GNU GPLv2 |
fdisk is acommand-line utility fordisk partitioning. It has been part ofDOS,DRFlexOS,IBMOS/2, and early versions ofMicrosoft Windows, as well as certain ports ofFreeBSD,[2]NetBSD,[3]OpenBSD,[4]DragonFly BSD[5] andmacOS[6] for compatibility reasons.Windows 2000 and its successors have replaced fdisk with a more advanced tool calleddiskpart.
IBM introduced the first version of fdisk (officially dubbed "Fixed Disk Setup Program") in March 1983, with the release of theIBM PC/XT computer (the first PC to store data on ahard disk) and theIBM PC DOS 2.0 operating system. fdisk version 1.0 can create oneFAT12 partition, delete it, change theactive partition, or display partition data. fdisk writes themaster boot record, which supports up to four partitions. The other three were intended for other operating systems such asCP/M-86 andXenix, which were expected to have their own partitioning utilities.
Microsoft first added fdisk toMS-DOS in version 3.2.[7] MS-DOS versions 2.0 through 3.10 included OEM-specific partitioning tools, which may have been named fdisk.
PC DOS 3.0, released in August 1984, added support forFAT16 partitions to handle larger hard disks more efficiently. PC DOS 3.30, released in April 1987, added support forextended partitions. (These partitions do not store data directly but can contain up to 23logical drives.) In both cases, fdisk was modified to work with FAT16 and extended partitions. Support forFAT16B was first added to Compaq's fdisk in MS-DOS 3.31. FAT16B later became available with MS-DOS and PC DOS 4.0.
The undocumented/mbr
switch in fdisk, which could repair themaster boot record, soon became popular.
IBM PC DOS 7.10 shipped with the new fdisk32 utility.
ROM-DOS,[8]DR DOS 6.0[9]FlexOS,[10]PTS-DOS 2000 Pro,[11] andFreeDOS,[12] include an implementation of the fdisk command.
Windows 95,Windows 98, andWindows ME shipped with a derivative of the MS-DOS fdisk.Windows 2000 and its successors, however, came with the more advanced[according to whom?]diskpart and the graphicalDisk Management utilities.
Starting with Windows 95 OSR2, fdisk supports theFAT32 file system.[13]
The version of fdisk that ships 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 to correct this issue.[14] In addition, fdisk cannot create partitions larger than 512 GB, even though FAT32 supports partitions as big as 2 TB. This limitation applies to all versions of fdisk supplied with Windows 95 OSR 2.1, Windows 98 and Windows ME.
Before version 4.0,OS/2 shipped with two partition table managers. These were thetext mode fdisk[15] and thegraphical fdiskpm.[16] The two have identical functionality, and can manipulate both FAT partitions and the more advancedHPFS partitions.
OS/2 4.5 and higher (includingeComStation andArcaOS) can use theJFS file system, as well as FAT and HPFS. They replaced fdisk with theLogical Volume Manager (LVM).
fdisk forMach Operating System was written by Robert Baron. It was ported to386BSD by Julian Elischer,[17] and the implementation is being used byFreeBSD,[2]NetBSD[3] andDragonFly BSD,[5] all as of 2019, as well as the early versions ofOpenBSD 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 byApple 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 useBSD disklabel, and fdisk partitioning is supported only on certain architectures (for compatibility reasons) and only in addition to the BSD disklabel (which is mandatory).
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. An alternative,ncurses-based program,cfdisk, allows users to create partition layouts via atext-based user interface (TUI).[18]