summaryrefslogtreecommitdiff
path: root/fdisks/fdisk.8
diff options
context:
space:
mode:
Diffstat (limited to 'fdisks/fdisk.8')
-rw-r--r--fdisks/fdisk.8288
1 files changed, 288 insertions, 0 deletions
diff --git a/fdisks/fdisk.8 b/fdisks/fdisk.8
new file mode 100644
index 0000000..3c53473
--- /dev/null
+++ b/fdisks/fdisk.8
@@ -0,0 +1,288 @@
+.\" 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>
+.\" May be distributed under the GNU General Public License
+.TH FDISK 8 "June 2012" "util-linux" "System Administration"
+.SH NAME
+fdisk \- manipulate disk partition table
+.SH SYNOPSIS
+.B fdisk
+.RB [ \-uc ]
+.RB [ \-b
+.IR sectorsize ]
+.RB [ \-C
+.IR cyls ]
+.RB [ \-H
+.IR heads ]
+.RB [ \-S
+.IR sects ]
+.I device
+.sp
+.B fdisk \-l
+.RB [ \-u ]
+.RI [ device ...]
+.sp
+.B fdisk \-s
+.IR partition ...
+.sp
+.B fdisk \-v
+.sp
+.B fdisk \-h
+.SH DESCRIPTION
+.B fdisk
+(in the first form of invocation)
+is a menu-driven program for creation and manipulation of
+partition tables.
+It understands DOS-type partition tables and BSD- or SUN-type disklabels.
+
+.B fdisk
+does not understand GUID partition tables (GPTs) and it is not designed
+for large partitions. In these cases, use the more advanced GNU
+.BR parted (8).
+
+.B fdisk
+does not use DOS-compatible mode and cylinders as display units by default.
+The old deprecated DOS behavior can be enabled with
+the '-c=dos -u=cylinders' command-line options.
+
+Hard disks can be divided into one or more logical disks called
+.IR partitions .
+This division is recorded in the
+.IR "partition table" ,
+found in sector 0 of the disk.
+(In the BSD world one talks about `disk slices' and a `disklabel'.)
+
+Linux needs at least one partition, namely for its root file system.
+It can use swap files and/or swap partitions, but the latter are more
+efficient. So, usually one will want a second Linux partition
+dedicated as swap partition.
+On Intel-compatible hardware, the BIOS that boots the system
+can often only access the first 1024 cylinders of the disk.
+For this reason people with large disks often create a third partition,
+just a few MB large, typically mounted on
+.IR /boot ,
+to store the kernel image and a few auxiliary files needed at boot time,
+so as to make sure that this stuff is accessible to the BIOS.
+There may be reasons of security, ease of administration and backup,
+or testing, to use more than the minimum number of partitions.
+
+.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/devices.txt file).
+
+.SH DISK LABELS
+A BSD/SUN-type 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.
+
+An IRIX/SGI-type 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.
+
+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 start numbering 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 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.
+
+If possible,
+.B fdisk
+will obtain 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 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, 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.
+
+A sync() and an ioctl(BLKRRPART) (reread partition table from disk)
+are performed before exiting when the partition table has been updated.
+Long ago it used to be necessary to reboot after the use of fdisk.
+I do not think this is the case anymore -- indeed, rebooting too quickly
+might cause loss of not-yet-written data. Note that both the kernel
+and the disk hardware may buffer data.
+
+.SH "DOS 6.x WARNING"
+
+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 cfdisk or fdisk to change the size of a
+DOS partition table entry, then you must also use
+.B dd
+to zero the first 512 bytes of that partition before using DOS FORMAT to
+format the partition. For example, if you were using cfdisk to make a DOS
+partition table entry for /dev/sda1, then (after exiting fdisk or cfdisk
+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 BE EXTREMELY CAREFUL
+if you use the
+.B dd
+command, since a small typo can make all of the data on your disk useless.
+
+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 program.
+
+.SH OPTIONS
+.TP
+.BI "\-b " sectorsize
+Specify the sector size of the disk. Valid values are 512, 1024, 2048 or 4096.
+(Recent kernels know the sector size. Use this only on old kernels or
+to override the kernel's ideas.) Since util-linux-2.17, fdisk differentiates
+between logical and physical sector size. This option changes both sector sizes to
+.IB sectorsize .
+.TP
+.BI "\-c"[=mode]
+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 <mode> argument -- then the default is used. Note that the optional
+<mode> argument cannot be separated from the -c option by a space, the correct
+form is for example '-c=dos'. This option is DEPRECATED.
+.TP
+.BI "\-C " cyls
+Specify the number of cylinders of the disk.
+I have no idea why anybody would want to do so. This option is DEPRECATED.
+.TP
+.BI "\-H " heads
+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. This option is DEPRECATED.
+.TP
+.BI "\-S " sects
+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. This option is DEPRECATED.
+.TP
+.BI \-h
+Print help and then exit.
+.TP
+.B \-l
+List the partition tables for the specified devices and then exit.
+If no devices are given, those mentioned in
+.I /proc/partitions
+(if that exists) are used.
+.TP
+.BI "\-s " partition...
+Print the size (in blocks) of each given partition.
+.TP
+.BI "\-u"[=unit]
+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 <units> argument -- then the default is used.
+Note that the optional <unit> argument cannot be separated from the -u option
+by a space, the correct form is for example '-u=cylinders'.
+.TP
+.B \-v
+Print version number of
+.B fdisk
+program and exit.
+.SH BUGS
+There are several *fdisk programs around.
+Each has its problems and strengths.
+Try them in the order
+.BR cfdisk ,
+.BR fdisk ,
+.BR sfdisk .
+(Indeed,
+.B cfdisk
+is a beautiful program that has strict requirements on
+the partition tables it accepts, and produces high quality partition
+tables. Use it if you can.
+.B fdisk
+is a buggy program that does fuzzy things - usually it happens to
+produce reasonable results. Its single advantage is that it has
+some support for BSD disk labels and other non-DOS partition tables.
+Avoid it if you can.
+.B sfdisk
+is for hackers only -- the user interface is terrible, but it is
+more correct than fdisk and more powerful than both fdisk and cfdisk.
+Moreover, it can be used noninteractively.)
+.PP
+There also is
+.BR parted
+which supports many types of different partition table formats.
+.PP
+The IRIX/SGI-type disklabel is currently not supported by the kernel.
+Moreover, IRIX/SGI header directories are not fully supported yet.
+.PP
+The option `dump partition table to file' is missing.
+.\" .SH AUTHORS
+.\" A. V. Le Blanc (LeBlanc@mcc.ac.uk)
+.\" Bernhard Fastenrath (fasten@informatik.uni-bonn.de)
+.\" Jakub Jelinek (jj@sunsite.mff.cuni.cz)
+.\" Andreas Neuper (ANeuper@GUUG.de)
+.\" and many others.
+
+.SH ENVIRONMENT
+.IP FDISK_DEBUG=0xffff
+enables debug output
+
+.SH "SEE ALSO"
+.BR cfdisk (8),
+.BR sfdisk (8),
+.BR mkfs (8),
+.BR parted (8),
+.BR partprobe (8),
+.BR kpartx (8)
+.SH AVAILABILITY
+The fdisk command is part of the util-linux package and is available from
+ftp://ftp.kernel.org/pub/linux/utils/util-linux/.