CFDISK(8) System Administration CFDISK(8)

cfdisk - display or manipulate a disk partition table

cfdisk [options] [device]

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).

-h, --help

Display help text and exit.

-V, --version

Print version and exit.

-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.


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.

-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.

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:


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.


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.


Show the help screen.


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").


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


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.


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.


Change the partition type. By default, new partitions are created as Linux partitions.


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.


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.


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 Write). When in a submenu or at a prompt, you can hit the Esc key to return to the main menu.

The output colorization is implemented by terminal-colors.d(5) functionality. Implicit coloring can be disabled by an empty file


for the cfdisk command or for all tools by


The user-specific $XDG_CONFIG_HOME/terminal-colors.d or $HOME/.config/terminal-colors.d overrides the global setting.

Note that the output colorization may be enabled by default, and in this case terminal-colors.d directories do not have to exist yet.

cfdisk does not support color customization with a color-scheme file.


enables cfdisk debug output.


enables libfdisk debug output.


enables libblkid debug output.


enables libsmartcols debug output.


use visible padding characters. Requires enabled LIBSMARTCOLS_DEBUG.


use exclusive BSD lock. The mode is "1" or "0". See --lock for more details.

Karel Zak <>

The current cfdisk implementation is based on the original cfdisk from Kevin E. Martin <>.

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

For bug reports, use the issue tracker at

The cfdisk command is part of the util-linux package which can be downloaded from Linux Kernel Archive

2024-07-04 util-linux 2.40.2