summaryrefslogtreecommitdiffstats
path: root/disk-utils/fdisk.8
diff options
context:
space:
mode:
Diffstat (limited to 'disk-utils/fdisk.8')
-rw-r--r--disk-utils/fdisk.8392
1 files changed, 392 insertions, 0 deletions
diff --git a/disk-utils/fdisk.8 b/disk-utils/fdisk.8
new file mode 100644
index 0000000..b45e29a
--- /dev/null
+++ b/disk-utils/fdisk.8
@@ -0,0 +1,392 @@
+.\" Copyright 1992, 1993 Rickard E. Faith (faith@cs.unc.edu)
+.\" Copyright 1998 Andries E. Brouwer (aeb@cwi.nl)
+.\" Copyright 2012 Davidlohr Bueso <dave@gnu.org>
+.\" Copyright (C) 2013 Karel Zak <kzak@redhat.com>
+.\" May be distributed under the GNU General Public License
+.TH FDISK 8 "February 2016" "util-linux" "System Administration"
+
+.SH NAME
+fdisk \- manipulate disk partition table
+
+.SH SYNOPSIS
+.B fdisk
+[options]
+.I device
+.sp
+.B fdisk \-l
+.RI [ device ...]
+
+.SH DESCRIPTION
+.B fdisk
+is a dialog-driven program for creation and manipulation of partition tables.
+It understands GPT, MBR, Sun, SGI and BSD partition tables.
+
+Block devices can be divided into one or more logical disks called
+.IR partitions .
+This division is recorded in the
+.IR "partition table" ,
+usually found in sector 0 of the disk.
+(In the BSD world one talks about `disk slices' and a `disklabel'.)
+
+All partitioning is driven by device I/O limits (the topology) by default.
+.B fdisk
+is able to optimize the disk layout for a 4K-sector size and use an alignment offset on
+modern devices for MBR and GPT. It is always a good idea to follow \fBfdisk\fR's defaults
+as the default values (e.g., first and last partition sectors) and partition
+sizes specified by the +/-<size>{M,G,...} notation are always aligned according
+to the device properties.
+
+CHS (Cylinder-Head-Sector) addressing is deprecated and not used by default.
+Please, do not follow old articles and recommendations with "fdisk \-S <n> \-H
+<n>" advices for SSD or 4K-sector devices.
+
+Note that
+.BR partx (8)
+provides a rich interface for scripts to print disk layouts,
+.B fdisk
+is mostly designed for humans. Backward compatibility in the output of
+.B fdisk
+is not guaranteed. The input (the commands) should always be backward compatible.
+
+.SH OPTIONS
+.TP
+\fB\-b\fR, \fB\-\-sector\-size\fR \fIsectorsize\fP
+Specify the sector size of the disk. Valid values are 512, 1024, 2048, and 4096.
+(Recent kernels know the sector size. Use this option only on old kernels or
+to override the kernel's ideas.) Since util-linux-2.17, \fBfdisk\fR differentiates
+between logical and physical sector size. This option changes both sector sizes to
+.IB sectorsize .
+.TP
+\fB\-B\fR, \fB\-\-protect\-boot\fP
+Don't erase the beginning of the first disk sector when creating a new disk label. This
+feature is supported for GPT and MBR.
+.TP
+\fB\-c\fR, \fB\-\-compatibility\fR[=\fImode\fR]
+Specify the compatibility mode, 'dos' or 'nondos'. The default is non-DOS
+mode. For backward compatibility, it is possible to use the option without
+the \fImode\fR argument -- then the default is used. Note that the optional
+\fImode\fR argument cannot be separated from the \fB\-c\fR option by a space,
+the correct form is for example '\-c=dos'.
+.TP
+\fB\-h\fR, \fB\-\-help\fR
+Display a help text and exit.
+.TP
+\fB\-L\fR, \fB\-\-color\fR[=\fIwhen\fR]
+Colorize the output. The optional argument \fIwhen\fP
+can be \fBauto\fR, \fBnever\fR or \fBalways\fR. If the \fIwhen\fR argument is omitted,
+it defaults to \fBauto\fR. The colors can be disabled; for the current built-in default
+see the \fB\-\-help\fR output. See also the \fBCOLORS\fR section.
+.TP
+\fB\-l\fR, \fB\-\-list\fR
+List the partition tables for the specified devices and then exit.
+If no devices are given, those mentioned in
+.I /proc/partitions
+(if that file exists) are used.
+.TP
+\fB\-x\fR, \fB\-\-list\-details\fR
+Like \fB\-\-list\fR, but provides more details.
+.TP
+\fB\-\-lock\fR[=\fImode\fR]
+Use exclusive BSD lock for device or file it operates. The optional argument
+\fImode\fP can be \fByes\fR, \fBno\fR (or 1 and 0) or \fBnonblock\fR. If the \fImode\fR
+argument is omitted, it defaults to \fB"yes"\fR. This option overwrites
+environment variable \fB$LOCK_BLOCK_DEVICE\fR. The default is not to use any
+lock at all, but it's recommended to avoid collisions with udevd or other
+tools.
+.TP
+\fB\-n\fR, \fB\-\-noauto\-pt\fR
+Don't automatically create a default partition table on empty device. The partition table
+has to be explicitly created by user (by command like 'o', 'g', etc.).
+.TP
+.BR \-o , " \-\-output " \fIlist\fP
+Specify which output columns to print. Use
+.B \-\-help
+to get a list of all supported columns.
+
+The default list of columns may be extended if \fIlist\fP is
+specified in the format \fI+list\fP (e.g., \fB\-o +UUID\fP).
+.TP
+\fB\-s\fR, \fB\-\-getsz\fR
+Print the size in 512-byte sectors of each given block device. This option is DEPRECATED
+in favour of
+.BR blockdev (8).
+.TP
+\fB\-t\fR, \fB\-\-type\fR \fItype\fR
+Enable support only for disklabels of the specified \fItype\fP, and disable
+support for all other types.
+.TP
+\fB\-u\fR, \fB\-\-units\fR[=\fIunit\fR]
+When listing partition tables, show sizes in 'sectors' or in 'cylinders'. The
+default is to show sizes in sectors. For backward compatibility, it is possible
+to use the option without the \fIunit\fR argument -- then the default is used.
+Note that the optional \fIunit\fR argument cannot be separated from the \fB\-u\fR
+option by a space, the correct form is for example '\-u=cylinders'.
+
+.TP
+\fB\-C\fR, \fB\-\-cylinders\fR \fInumber\fR
+Specify the number of cylinders of the disk.
+I have no idea why anybody would want to do so.
+.TP
+\fB\-H\fR, \fB\-\-heads\fR \fInumber\fR
+Specify the number of heads of the disk. (Not the physical number,
+of course, but the number used for partition tables.)
+Reasonable values are 255 and 16.
+.TP
+\fB\-S\fR, \fB\-\-sectors\fR \fInumber\fR
+Specify the number of sectors per track of the disk.
+(Not the physical number, of course, but the number used for
+partition tables.) A reasonable value is 63.
+
+.TP
+\fB\-w\fR, \fB\-\-wipe\fR \fIwhen\fR
+Wipe filesystem, RAID and partition-table signatures from the device, in order
+to avoid possible collisions. The argument \fIwhen\fR can be \fBauto\fR,
+\fBnever\fR or \fBalways\fR. When this option is not given, the default is
+\fBauto\fR, in which case signatures are wiped only when in interactive mode.
+In all cases detected signatures are reported by warning messages
+before a new partition table is created. See also
+.BR wipefs (8)
+command.
+
+.TP
+\fB\-W\fR, \fB\-\-wipe-partitions\fR \fIwhen\fR
+Wipe filesystem, RAID and partition-table signatures from a newly created
+partitions, in order to avoid possible collisions. The argument \fIwhen\fR can
+be \fBauto\fR, \fBnever\fR or \fBalways\fR. When this option is not given, the
+default is \fBauto\fR, in which case signatures are wiped only when in
+interactive mode and after confirmation by user. In all cases detected
+signatures are reported by warning messages before a new partition is
+created. See also
+.BR wipefs (8)
+command.
+
+.TP
+\fB\-V\fR, \fB\-\-version\fR
+Display version information and exit.
+
+.SH DEVICES
+The
+.I device
+is usually /dev/sda, /dev/sdb or so. A device name refers to the entire disk.
+Old systems without libata (a library used inside the Linux kernel to support
+ATA host controllers and devices) make a difference between IDE and SCSI disks.
+In such cases the device name will be /dev/hd* (IDE) or /dev/sd* (SCSI).
+
+The
+.I partition
+is a device name followed by a partition number. For example, /dev/sda1 is the
+first partition on the first hard disk in the system. See also Linux kernel
+documentation (the Documentation/admin-guide/devices.txt file).
+
+.SH SIZES
+The "last sector" dialog accepts partition size specified by number of sectors
+or by +/-<size>{K,B,M,G,...} notation.
+
+If the size is prefixed by '+' then it is interpreted as relative to the
+partition first sector. If the size is prefixed by '\-' then it is interpreted
+as relative to the high limit (last available sector for the partition).
+
+In the case the size is specified in bytes than the number may be followed by
+the multiplicative suffixes KiB=1024, MiB=1024*1024, and so on for GiB, TiB,
+PiB, EiB, ZiB and YiB. The "iB" is optional, e.g., "K" has the same meaning as
+"KiB".
+
+The relative sizes are always aligned according to device I/O limits. The
++/-<size>{K,B,M,G,...} notation is recommended.
+
+For backward compatibility fdisk also accepts the suffixes KB=1000,
+MB=1000*1000, and so on for GB, TB, PB, EB, ZB and YB. These 10^N suffixes
+are deprecated.
+
+.SH SCRIPT FILES
+.B fdisk
+allows reading (by 'I' command) sfdisk compatible script files. The script is
+applied to in-memory partition table, and then it is possible to modify the
+partition table before you write it to the device.
+.PP
+And vice-versa it is possible to write the current in-memory disk layout
+to the script file by command 'O'.
+.PP
+The script files are compatible between cfdisk, sfdisk, fdisk and other
+libfdisk applications. For more details see
+.BR sfdisk (8).
+
+.SH DISK LABELS
+.B GPT (GUID Partition Table)
+.RS
+GPT is modern standard for the layout of the partition table. GPT uses 64-bit
+logical block addresses, checksums, UUIDs and names for partitions and an
+unlimited number of partitions (although the number of partitions is
+usually restricted to 128 in many partitioning tools).
+
+Note that the first sector is still reserved for a
+.B protective MBR
+in the GPT specification. It prevents MBR-only partitioning tools
+from mis-recognizing and overwriting GPT disks.
+
+GPT is always a better choice than MBR, especially on modern hardware with a UEFI
+boot loader.
+.RE
+
+.B DOS-type (MBR)
+.RS
+A DOS-type partition table can describe an unlimited number of partitions. In sector 0
+there is room for the description of 4 partitions (called `primary'). One of
+these may be an extended partition; this is a box holding logical partitions,
+with descriptors found in a linked list of sectors, each preceding the
+corresponding logical partitions. The four primary partitions, present or not,
+get numbers 1-4. Logical partitions are numbered starting from 5.
+
+In a DOS-type partition table the starting offset and the size of each
+partition is stored in two ways: as an absolute number of sectors (given in 32
+bits), and as a
+.B Cylinders/Heads/Sectors
+triple (given in 10+8+6 bits). The former is OK -- with 512-byte sectors this
+will work up to 2 TB. The latter has two problems. First, these C/H/S fields
+can be filled only when the number of heads and the number of sectors per track
+are known. And second, even if we know what these numbers should be, the 24
+bits that are available do not suffice. DOS uses C/H/S only, Windows uses
+both, Linux never uses C/H/S. The
+.B C/H/S addressing is deprecated
+and may be unsupported in some later fdisk version.
+
+.B Please, read the DOS-mode section if you want DOS-compatible partitions.
+.B fdisk
+does not care about cylinder boundaries by default.
+.RE
+
+.B BSD/Sun-type
+.RS
+A BSD/Sun disklabel can describe 8 partitions, the third of which should be a `whole
+disk' partition. Do not start a partition that actually uses its first sector
+(like a swap partition) at cylinder 0, since that will destroy the disklabel.
+Note that a
+.B BSD label
+is usually nested within a DOS partition.
+.RE
+
+.B IRIX/SGI-type
+.RS
+An IRIX/SGI disklabel can describe 16 partitions, the eleventh of which should be an entire
+`volume' partition, while the ninth should be labeled `volume header'. The
+volume header will also cover the partition table, i.e., it starts at block
+zero and extends by default over five cylinders. The remaining space in the
+volume header may be used by header directory entries. No partitions may
+overlap with the volume header. Also do not change its type or make some
+filesystem on it, since you will lose the partition table. Use this type of
+label only when working with Linux on IRIX/SGI machines or IRIX/SGI disks under
+Linux.
+.RE
+
+A sync() and an ioctl(BLKRRPART) (rereading the partition table from disk)
+are performed before exiting when the partition table has been updated.
+
+.SH DOS mode and DOS 6.x WARNING
+.B Note that all this is deprecated. You don't have to care about things like
+.B geometry and cylinders on modern operating systems. If you really want
+.B DOS-compatible partitioning then you have to enable DOS mode and cylinder
+.B units by using the '\-c=dos \-u=cylinders' fdisk command-line options.
+
+The DOS 6.x FORMAT command looks for some information in the first sector of
+the data area of the partition, and treats this information as more reliable
+than the information in the partition table. DOS FORMAT expects DOS FDISK to
+clear the first 512 bytes of the data area of a partition whenever a size
+change occurs. DOS FORMAT will look at this extra information even if the /U
+flag is given -- we consider this a bug in DOS FORMAT and DOS FDISK.
+
+The bottom line is that if you use \fBfdisk\fR or \fBcfdisk\fR to change the
+size of a DOS partition table entry, then you must also use
+.BR dd "(1) to " "zero the first 512 bytes"
+of that partition before using DOS FORMAT to format the partition. For
+example, if you were using \fBfdisk\fR to make a DOS partition table entry for
+/dev/sda1, then (after exiting \fBfdisk\fR and rebooting Linux so that the
+partition table information is valid) you would use the command "dd
+if=/dev/zero of=/dev/sda1 bs=512 count=1" to zero the first 512 bytes of the
+partition.
+
+.B fdisk
+usually obtains the disk geometry automatically. This is not necessarily the
+physical disk geometry (indeed, modern disks do not really have anything like a
+physical geometry, certainly not something that can be described in the simplistic
+Cylinders/Heads/Sectors form), but it is the disk geometry that MS-DOS uses for
+the partition table.
+
+Usually all goes well by default, and there are no problems if Linux is the
+only system on the disk. However, if the disk has to be shared with other
+operating systems, it is often a good idea to let an fdisk from another
+operating system make at least one partition. When Linux boots it looks at the
+partition table, and tries to deduce what (fake) geometry is required for good
+cooperation with other systems.
+
+Whenever a partition table is printed out in DOS mode, a consistency check is
+performed on the partition table entries. This check verifies that the
+physical and logical start and end points are identical, and that each
+partition starts and ends on a cylinder boundary (except for the first
+partition).
+
+Some versions of MS-DOS create a first partition which does not begin
+on a cylinder boundary, but on sector 2 of the first cylinder.
+Partitions beginning in cylinder 1 cannot begin on a cylinder boundary, but
+this is unlikely to cause difficulty unless you have OS/2 on your machine.
+
+For best results, you should always use an OS-specific partition table
+program. For example, you should make DOS partitions with the DOS FDISK
+program and Linux partitions with the Linux fdisk or Linux cfdisk programs.
+.SH COLORS
+Implicit coloring can be disabled by an empty file \fI/etc/terminal-colors.d/fdisk.disable\fR.
+
+See
+.BR terminal-colors.d (5)
+for more details about colorization configuration. The logical color names
+supported by
+.B fdisk
+are:
+.TP
+.B header
+The header of the output tables.
+.TP
+.B help-title
+The help section titles.
+.TP
+.B warn
+The warning messages.
+.TP
+.B welcome
+The welcome message.
+
+.SH ENVIRONMENT
+.IP FDISK_DEBUG=all
+enables fdisk debug output.
+.IP LIBFDISK_DEBUG=all
+enables libfdisk debug output.
+.IP LIBBLKID_DEBUG=all
+enables libblkid debug output.
+.IP LIBSMARTCOLS_DEBUG=all
+enables libsmartcols debug output.
+.IP LIBSMARTCOLS_DEBUG_PADDING=on
+use visible padding characters. Requires enabled LIBSMARTCOLS_DEBUG.
+.IP LOCK_BLOCK_DEVICE=<mode>
+use exclusive BSD lock. The mode is "1" or "0". See \fB\-\-lock\fR for more details.
+
+.SH AUTHORS
+.MT kzak@redhat.com
+Karel Zak
+.ME
+.br
+.MT dave@gnu.org
+Davidlohr Bueso
+.ME
+.br
+.PP
+The original version was written by
+Andries E. Brouwer, A. V. Le Blanc and others.
+
+.SH SEE ALSO
+.BR cfdisk (8),
+.BR mkfs (8),
+.BR partx (8),
+.BR sfdisk (8)
+
+.SH AVAILABILITY
+The fdisk command is part of the util-linux package and is available from
+https://www.kernel.org/pub/linux/utils/util-linux/.