//po4a: entry man manual
////
cfdisk.8 -- man page for cfdisk
Copyright 1994 Kevin E. Martin (martin@cs.unc.edu)
Copyright (C) 2014 Karel Zak <kzak@redhat.com>

Permission is granted to make and distribute verbatim copies of this
manual provided the copyright notice and this permission notice are
preserved on all copies.

Permission is granted to copy and distribute modified versions of this
manual under the conditions for verbatim copying, provided that the
entire resulting derived work is distributed under the terms of a
permission notice identical to this one.
////
= cfdisk(8)
:doctype: manpage
:man manual: System Administration
:man source: util-linux {release-version}
:page-layout: base
:command: cfdisk

== NAME

cfdisk - display or manipulate a disk partition table

== SYNOPSIS

*cfdisk* [options] [_device_]

== DESCRIPTION

*cfdisk* is a curses-based program for partitioning any block device. The default device is _/dev/sda_.

Note that *cfdisk* provides basic partitioning functionality with a user-friendly interface. If you need advanced features, use *fdisk*(8) instead.

All disk label changes will remain in memory only, and the disk will be unmodified until you decide to write your changes. Be careful before using the write command.

Since version 2.25 *cfdisk* supports MBR (DOS), GPT, SUN and SGI disk labels, but no longer provides any functionality for CHS (Cylinder-Head-Sector) addressing. CHS has never been important for Linux, and this addressing concept does not make any sense for new devices.

Since version 2.25 *cfdisk* also does not provide a 'print' command any more. This functionality is provided by the utilities *partx*(8) and *lsblk*(8) in a very comfortable and rich way.

If you want to remove an old partition table from a device, use *wipefs*(8).

== OPTIONS

*-L*, *--color*[**=**__when__]::
Colorize the output. The optional argument _when_ can be *auto*, *never* or *always*. If the _when_ argument is omitted, it defaults to *auto*. The colors can be disabled, for the current built-in default see *--help* output. See also the *COLORS* section.

*--lock*[**=**_mode_]::
Use exclusive BSD lock for device or file it operates. The optional argument _mode_ can be *yes*, *no* (or 1 and 0) or *nonblock*. If the _mode_ argument is omitted, it defaults to *yes*. This option overwrites environment variable *$LOCK_BLOCK_DEVICE*. The default is not to use any lock at all, but it's recommended to avoid collisions with *systemd-udevd*(8) or other tools.

*-r*, *--read-only*::
Forced open in read-only mode.

*-b*, *--sector-size* _sectorsize_::
Specify the sector size of the disk. Valid values are 512, 1024, 2048, and 4096. The kernel is aware of the sector size for regular block devices. Use this option only on very old kernels, when working with disk images, or to override the kernel's default sector size. Since util-linux-2.17, *fdisk* distinguishes between logical and physical sector size. This option changes both sector sizes to the specified _sectorsize_.

*-z*, *--zero*::
Start with an in-memory zeroed partition table. This option does not zero the partition table on the disk; rather, it simply starts the program without reading the existing partition table. This option allows you to create a new partition table from scratch or from an *sfdisk*(8)-compatible script.

include::man-common/help-version.adoc[]

== COMMANDS

The commands for *cfdisk* can be entered by pressing the corresponding key (pressing _Enter_ after the command is not necessary). Here is a list of the available commands:

*b*::
Toggle the bootable flag of the current partition. This allows you to select which primary partition is bootable on the drive. This command may not be available for all partition label types.

*d*::
Delete the current partition. This will convert the current partition into free space and merge it with any free space immediately surrounding the current partition. A partition already marked as free space or marked as unusable cannot be deleted.

*h*::
Show the help screen.

*n*::
Create a new partition from free space. *cfdisk* then prompts you for the size of the partition you want to create. The default size is equal to the entire available free space at the current position.
+
The size may be followed by a multiplicative suffix: 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").

*q*::
Quit the program. This will exit the program without writing any data to the disk.

*r*::
Reduce or enlarge the current partition. *cfdisk* then prompts you for the new size of the partition. The default size is the current size. A partition marked as free space or marked as unusable cannot be resized.
+
*Note that reducing the size of a partition might destroy data on that partition.*

*s*::
Sort the partitions in ascending start-sector order. When deleting and adding partitions, it is likely that the numbering of the partitions will no longer match their order on the disk. This command restores that match.

*t*::
Change the partition type. By default, new partitions are created as _Linux_ partitions.

*u*::
Dump the current in-memory partition table to an **sfdisk**(8)-compatible script file.
+
The script files are compatible between *cfdisk*, *fdisk*(8) *sfdisk*(8) and other libfdisk applications. For more details see *sfdisk*(8).
+
It is also possible to load an sfdisk-script into *cfdisk* if there is no partition table on the device or when you start *cfdisk* with the *--zero* command-line option.

*W*::
Write the partition table to disk (you must enter an uppercase W). Since this might destroy data on the disk, you must either confirm or deny the write by entering `yes' or `no'. If you enter `yes', *cfdisk* will write the partition table to disk and then tell the kernel to re-read the partition table from the disk.
+
The re-reading of the partition table does not always work. In such a case you need to inform the kernel about any new partitions by using *partprobe*(8) or *partx*(8), or by rebooting the system.

*x*::
Toggle extra information about a partition.

_Up Arrow_, _Down Arrow_::
Move the cursor to the previous or next partition. If there are more partitions than can be displayed on a screen, you can display the next (previous) set of partitions by moving down (up) at the last (first) partition displayed on the screen.

_Left Arrow_, _Right Arrow_::
Select the preceding or the next menu item. Hitting _Enter_ will execute the currently selected item.

All commands can be entered with either uppercase or lowercase letters (except for **W**rite). When in a submenu or at a prompt, you can hit the _Esc_ key to return to the main menu.

include::man-common/colors.adoc[]
*cfdisk* does not support color customization with a color-scheme file.

== ENVIRONMENT

*CFDISK_DEBUG*=all::
enables cfdisk debug output.

*LIBFDISK_DEBUG*=all::
enables libfdisk debug output.

*LIBBLKID_DEBUG*=all::
enables libblkid debug output.

*LIBSMARTCOLS_DEBUG*=all::
enables libsmartcols debug output.

*LIBSMARTCOLS_DEBUG_PADDING*=on::
use visible padding characters. Requires enabled *LIBSMARTCOLS_DEBUG*.

*LOCK_BLOCK_DEVICE*=<mode>::
use exclusive BSD lock. The mode is "1" or "0". See *--lock* for more details.

== AUTHORS

mailto:kzak@redhat.com[Karel Zak]

The current *cfdisk* implementation is based on the original *cfdisk* from mailto:martin@cs.unc.edu[Kevin E. Martin].

== SEE ALSO

*fdisk*(8),
*parted*(8),
*partprobe*(8),
*partx*(8),
*sfdisk*(8)

include::man-common/bugreports.adoc[]

include::man-common/footer.adoc[]

ifdef::translation[]
include::man-common/translation.adoc[]
endif::[]
