cfdisk(8) - display or manipulate disk partition table

  • CFDISK(8)		     System Administration		     CFDISK(8)
           cfdisk - display or manipulate disk partition table
           cfdisk  [-agvz]	[-c  cylinders]	 [-h heads] [-s sectors-per-track] [-P
           opt] [device]
           cfdisk is a curses-based program for partitioning any hard disk	drive.
           Typical values of the device argument are:
    	      /dev/hda [default]
           Note  that cfdisk does not align partitions to block device I/O limits.
           This functionality is provided by fdisk(8).
           In order to write the partition table cfdisk needs something called the
           `geometry'  of  the disk: the number of `heads' and the number of `sec‐
           tors per track'. Linux does not use any geometry, so if the  disk  will
           not  be	accessed by other operating systems, you can safely accept the
           defaults that cfdisk chooses for you. The geometry used	by  cfdisk  is
           found  as  follows.  First the partition table is examined, to see what
           geometry was used by the previous program that changed it. If the  par‐
           tition table is empty, or contains garbage, or does not point at a con‐
           sistent geometry, the kernel is asked for advice. If nothing works  255
           heads  and  63 sectors/track is assumed. The geometry can be overridden
           on the command line or by use of the `g' command. When partitioning  an
           empty  large  modern  disk,  picking  255 heads and 63 sectors/track is
           always a good idea.  There is no need to set the number	of  cylinders,
           since cfdisk knows the disk size.
           Next,  cfdisk  tries  to read the current partition table from the disk
           drive.  If it is unable to figure out the partition table, an error  is
           displayed  and  the  program  will  exit.  This might also be caused by
           incorrect geometry information, and can be overridden  on  the  command
           line.   Another	way  around  this problem is with the -z option.  This
           will ignore the partition table on the disk.
           The main display is composed of four sections, from top to bottom:  the
           header,	the  partitions,  the  command	line  and a warning line.  The
           header contains the program name and version  number  followed  by  the
           disk  drive  and	 its geometry.	The partitions section always displays
           the current partition table.  The command line is the place where  com‐
           mands  and  text	 are entered.  The available commands are usually dis‐
           played in brackets.  The warning line  is  usually  empty  except  when
           there  is important information to be displayed.	 The current partition
           is highlighted with reverse video (or an arrow  if  the	-a  option  is
           given).	 All  partition	 specific commands apply to the current parti‐
           The format of the partition table in the partitions  section  is,  from
           left  to	 right: Name, Flags, Partition Type, Filesystem Type and Size.
           The name is the partition device name.  The flags can  be  Boot,	 which
           designates a bootable partition or NC, which stands for "Not Compatible
           with DOS or OS/2".  DOS, OS/2  and  possibly  other  operating  systems
           require	the  first  sector  of the first partition on the disk and all
           logical partitions to begin on the second head.	This wastes the second
           through the last sector of the first track of the first head (the first
           sector is taken by the partition table itself).	cfdisk allows  you  to
           recover	these  "lost"  sectors	with  the maximize command (m).	 Note:
           fdisk(8) and some early versions of DOS create all partitions with  the
           number  of  sectors  already  maximized.	 For more information, see the
           maximize command below.	The partition type can be one  of  Primary  or
           Logical.	  For  unallocated  space on the drive, the partition type can
           also be Pri/Log, or empty (if the space is unusable).   The  filesystem
           type section displays the name of the filesystem used on the partition,
           if known.  If it is unknown, then Unknown and  the  hex	value  of  the
           filesystem  type	 are  displayed.  A special case occurs when there are
           sections of the disk drive that cannot be used (because all of the pri‐
           mary  partitions are used).  When this is detected, the filesystem type
           is displayed as Unusable.  The size field displays the size of the par‐
           tition in megabytes (by default).  It can also display the size in sec‐
           tors and cylinders (see the change units command below).	 If an	aster‐
           isk  (*)	 appears  after the size, this means that the partition is not
           aligned on cylinder boundaries.
           The DOS 6.x FORMAT command looks for some information in the first sec‐
           tor  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 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 parti‐
           tion table entry for /dev/hda1, 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/hda1 bs=512 count=1"  to
           zero the first 512 bytes of the partition. Note:
           BE  EXTREMELY CAREFUL if you use the 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
           cfdisk  commands	 can  be entered by pressing the desired key (pressing
           Enter after the command is not necessary).   Here  is  a	 list  of  the
           available commands:
           b      Toggle  bootable flag of the current partition.  This allows you
    	      to select which primary partition is bootable on the drive.
           d      Delete the current partition.  This  will	 convert  the  current
    	      partition into free space and merge it with any free space imme‐
    	      diately surrounding the current partition.  A partition  already
    	      marked as free space or marked as unusable cannot be deleted.
           g      Change  the  disk	 geometry  (cylinders,	heads, or sectors-per-
    	      track).  WARNING: This option should only be used by people  who
    	      know  what they are doing.  A command line option is also avail‐
    	      able to change the disk geometry.	  While	 at  the  change  disk
    	      geometry	command	 line, you can choose to change cylinders (c),
    	      heads (h), and sectors per track (s).  The default value will be
    	      printed  at  the	prompt which you can accept by simply pressing
    	      the Enter key, or you can exit without changes by	 pressing  the
    	      ESC  key.	 If you want to change the default value, simply enter
    	      the desired value and press Enter.  The altered  disk  parameter
    	      values  do not take effect until you return to the main menu (by
    	      pressing Enter or ESC at the change disk geometry command line).
    	      If  you  change  the geometry such that the disk appears larger,
    	      the extra sectors are added at the  end  of  the	disk  as  free
    	      space.   If  the	disk  appears smaller, the partitions that are
    	      beyond the new last sector are deleted and the last partition on
    	      the drive (or the free space at the end of the drive) is made to
    	      end at the new last sector.
           h      Print the help screen.
           m      Maximize disk usage of the current partition.  This command will
    	      recover  the  unused  space  between the partition table and the
    	      beginning of the partition, but at the cost of making the parti‐
    	      tion  incompatible  with	DOS, OS/2 and possibly other operating
    	      systems.	This option will toggle between maximal disk usage and
    	      DOS,  OS/2, etc. compatible disk usage.  The default when creat‐
    	      ing a partition is to create DOS, OS/2, etc.  compatible	parti‐
           n      Create  new partition from free space.  If the partition type is
    	      Primary or Logical, a partition of that type  will  be  created,
    	      but  if  the partition type is Pri/Log, you will be prompted for
    	      the type you want to create.  Be aware that (1) there  are  only
    	      four  slots available for primary partitions and (2) since there
    	      can be only one extended partition, which contains  all  of  the
    	      logical  drives,	all  of	 the logical drives must be contiguous
    	      (with no intervening primary partition).	 cfdisk	 next  prompts
    	      you  for	the  size  of  the  partition you want to create.  The
    	      default size, equal to the entire free space of the current par‐
    	      tition,  is  displayed  in  megabytes.  You can either press the
    	      Enter key to accept the default size or enter a  different  size
    	      at  the  prompt.	 cfdisk	 accepts size entries in megabytes (M)
    	      [default], kilobytes (K),	 cylinders  (C)	 and  sectors  (S)  by
    	      entering	the  number immediately followed by one of (M, K, C or
    	      S).  If the partition fills the free space available, the parti‐
    	      tion  is	created and you are returned to the main command line.
    	      Otherwise, the partition can be created at the beginning or  the
    	      end  of  the free space, and cfdisk will ask you to choose where
    	      to place the partition.  After the partition is created,	cfdisk
    	      automatically  adjusts  the other partitions' partition types if
    	      all of the primary partitions are used.
           p      Print the partition table to the screen or to a file. There  are
    	      several  different formats for the partition that you can choose
    	      r	     Raw data format (exactly what would be written to disk)
    	      s	     Partition table in sector order format
    	      t	     Partition table in raw format
    	      The raw data format will print the sectors that would be written
    	      to disk if a write command is selected.  First, the primary par‐
    	      tition table is printed, followed by the partition tables	 asso‐
    	      ciated  with each logical partition.  The data is printed in hex
    	      byte by byte with 16 bytes per line.
    	      The partition table in sector order format will print the parti‐
    	      tion  table  ordered by sector number.  The fields, from left to
    	      right, are the number of the partition, the partition type,  the
    	      first  sector, the last sector, the offset from the first sector
    	      of the partition to the start of the data,  the  length  of  the
    	      partition,  the filesystem type (with the hex value in parenthe‐
    	      sis), and the flags (with the hex	 value	in  parenthesis).   In
    	      addition	to  the primary and logical partitions, free and unus‐
    	      able space is printed and	 the  extended	partition  is  printed
    	      before the first logical partition.
    	      If  a  partition does not start or end on a cylinder boundary or
    	      if the partition length is not divisible by the  cylinder	 size,
    	      an  asterisk  (*)	 is  printed after the non-aligned sector num‐
    	      ber/count.  This usually indicates that a partition was  created
    	      by  an operating system that either does not align partitions to
    	      cylinder boundaries or that used different disk geometry	infor‐
    	      mation.	If  you	 know the disk geometry of the other operating
    	      system, you could enter the geometry information with the change
    	      geometry command (g).
    	      For  the	first partition on the disk and for all logical parti‐
    	      tions, if the offset from the beginning of the partition is  not
    	      equal  to	 the  number of sectors per track (i.e., the data does
    	      not start on the first head), a number sign (#) is printed after
    	      the  offset.  For the remaining partitions, if the offset is not
    	      zero, a number sign will be printed after the offset.  This cor‐
    	      responds	to  the	 NC flag in the partitions section of the main
    	      The partition table in raw format will print the partition table
    	      ordered  by  partition  number.	It will leave out all free and
    	      unusable space.  The fields, from left to right, are the	number
    	      of  the partition, the flags (in hex), the starting head, sector
    	      and cylinder, the filesystem ID (in hex), the ending head,  sec‐
    	      tor  and	cylinder, the starting sector in the partition and the
    	      number of sectors in the partition.  The information in this ta‐
    	      ble can be directly translated to the raw data format.
    	      The  partition table entries only have 10 bits available to rep‐
    	      resent the starting and ending cylinders.	 Thus, when the	 abso‐
    	      lute  starting  (ending)	sector number is on a cylinder greater
    	      than 1023, the maximal values for starting (ending) head, sector
    	      and  cylinder are printed.  This is the method used by OS/2, and
    	      thus fixes the problems associated with OS/2's  fdisk  rewriting
    	      the  partition table when it is not in this format.  Since Linux
    	      and OS/2 use absolute sector counts, the values in the  starting
    	      and ending head, sector and cylinder are not used.
           q      Quit  program.   This  will exit the program without writing any
    	      data to disk.
           t      Change the filesystem type.  By default, new partitions are cre‐
    	      ated as Linux partitions, but since cfdisk can create partitions
    	      for other operating systems, change partition type allows you to
    	      enter the hex value of the filesystem you desire.	 A list of the
    	      know filesystem  types  is  displayed.   You  can	 type  in  the
    	      filesystem  type	at the prompt or accept the default filesystem
    	      type [Linux].
           u      Change units of the partition  size  display.   It  will	rotate
    	      through megabytes, sectors and cylinders.
           W      Write  partition	table  to  disk	 (must enter an upper case W).
    	      Since this might destroy data on the disk, you must either  con‐
    	      firm  or deny the write by entering `yes' or `no'.  If you enter
    	      `yes', cfdisk will write the partition table  to	disk  and  the
    	      tell  the	 kernel	 to re-read the partition table from the disk.
    	      The re-reading of the partition table  does  not	work  in  some
    	      cases,  for  example  for	 device-mapper devices.	 In particular
    	      case you need to inform kernel about  new	 partitions  by	 part‐
    	      probe(8), kpartx(8) or reboot the system.
           Up Arrow
           Down Arrow
    	      Move  cursor  to	the  previous or next partition.  If there are
    	      more partitions than can be displayed on a screen, you can  dis‐
    	      play  the	 next (previous) set of partitions by moving down (up)
    	      at the last (first) partition displayed on the screen.
           CTRL-L Redraws the screen.  In case something goes wrong and you cannot
    	      read  anything, you can refresh the screen from the main command
           ?      Print the help screen.
           All of the commands can be entered with either upper or lower case let‐
           ters (except for Writes).  When in a sub-menu or at a prompt to enter a
           filename, you can hit the ESC key to return to the main command line.
           -a     Use an arrow cursor instead of reverse  video  for  highlighting
    	      the current partition.
           -g     Do  not  use  the	 geometry given by the disk driver, but try to
    	      guess a geometry from the partition table.
           -v     Print the version number and copyright.
           -z     Start with zeroed partition table.  This option is  useful  when
    	      you  want	 to  repartition  your entire disk.  Note: this option
    	      does not zero the partition table on the disk; rather, it simply
    	      starts the program without reading the existing partition table.
           -c cylinders
           -h heads
           -s sectors-per-track
    	      Override	the  number  of cylinders, heads and sectors per track
    	      read from the BIOS.  If your BIOS or  adapter  does  not	supply
    	      this  information	 or  if it supplies incorrect information, use
    	      these options to set the disk geometry values.
           -P opt Prints the partition table in specified formats.	opt can be one
    	      or  more	of "r", "s" or "t".  See the print command (above) for
    	      more information on the print formats.
           0: No errors; 1: Invocation error; 2: I/O error; 3: cannot  get	geome‐
           try; 4: bad partition table on disk.
           fdisk(8), sfdisk(8), mkfs(8), parted(8), partprobe(8), kpartx(8)
           The current version does not support multiple disks.
           Kevin E. Martin (
           The  cfdisk  command is part of the util-linux package and is available
    util-linux			   July 2009			     CFDISK(8)

Log in to reply

© Lightnetics 2019