|This article does not cite any references or sources. (February 2008)|
For computer file systems,
fdisk (for "fixed disk") is a command-line utility that provides disk partitioning functions. In versions of the Windows NT operating system line from Windows 2000 onwards, fdisk is replaced by more advanced tool called diskpart. Similar utilities exist for Unix-like systems.
DOS and Windows
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.
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. Windows 2000 and later do not use
fdisk, they have the Logical Disk Manager feature, as well as DiskPart.
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. (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.
Other Intel based Unix-like systems typically use a more elaborate arrangement. BSD-derived systems use a disklabel as their primary method of identifying distinct sections of the disk, usually termed slices. These slices may or may not correspond to partitions enumerated in the master boot record. A typical arrangement is for the entire Unix system to have a single partition allocated to it which is then subdivided into distinct slices for each filesystem and the swap area. Other partitions outside this dedicated one may be legitimately referenced in a disklabel - this is particularly true in dual boot scenarios, where it is desired that the Unix system be able to access partitions used by other operating systems residing on the same machine.
This approach is not mandatory since the MBR and bootlabel are two distinct records - it is technically possible (but not recommended) for the disklabel to describe a filesystem on an area of the disk that the MBR regards as unused. Regardless of the correlation between the two records, the 'entire disk' slice of the disklabel usually corresponds to the entire physical disk and not solely to the dedicated partition. In order to eliminate any possibility of confusion caused by these two (possibly contradictory) records, the sysadmin of these systems may elect to eliminate the master boot record from the disk. However, a disk laid out this way is unusable by any other operating systems.
The situation with System V-derived systems is similar to that with the BSDs, although the terminology usually used differs slightly. In this instance a single partition is subdivided using the divvy command, and such areas are often simply referred to as divisions.
On older Intel compatible hardware, the BIOS that boots the system can often only access the first 1024 cylinders of the disk. For this reason a separate filesystem, often of only a few megabytes, is often created at the start of the disk to store the kernel image and a few auxiliary files needed at boot time, ensuring that they are readable by the BIOS. Once the kernel is loaded and has taken over responsibility for disk activity, the filesystem is typically mounted on /boot or /stand. There may also be reasons of security, ease of administration and backup, or testing, to use more than the minimum number of partitions.
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.
- Linux Partition HOWTO. Partitioning with fdisk
- Linux Programmer's Manual, fdisk(8)
- FreeBSD System Manager's Manual, FDISK(8)
- support.microsoft.com — How to Use the Fdisk Tool and the Format Tool to Partition or Repartition a Hard Disk
- fdisk from utils-linux-ng