Home : Computers : Linux : Man Pages : cfdisk



       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-

       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.

              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-

              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.
              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.
Subscribe to us on YouTube