cfdisk
display or manipulate a disk partition table
TLDR
Start the partition manipulator with a specific device
Create a new partition table for a specific device and manage it
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
-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.
--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.
-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.
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 Write). When in a submenu or at a prompt, you can hit the Esc key to return to the main menu.
COLORS
The output colorization is implemented by terminal-colors.d(5) functionality. Implicit coloring can be disabled by an empty file
/etc/terminal-colors.d/cfdisk.disable
for the cfdisk command or for all tools by
/etc/terminal-colors.d/disable
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.
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
The current cfdisk implementation is based on the original cfdisk from
REPORTING BUGS
For bug reports, use the issue tracker at <https://github.com/util-linux/util-linux/issues>.
AVAILABILITY
The cfdisk command is part of the util-linux package which can be downloaded from Linux Kernel Archive <https://www.kernel.org/pub/linux/utils/util-linux/>.