CFDISK(8)	    Linux Programmer's Manual		CFDISK(8)



NAME
       cfdisk - Curses based disk partition table manipulator for
       Linux

SYNOPSIS
       cfdisk [ -agvz ] [ -c cylinders ] [ -h heads ] [  -s  sec­
       tors-per-track ] [ -P opt ] [ device ]

DESCRIPTION
       cfdisk is a curses based program for partitioning any hard
       disk drive.  Typical values of the device argument are:

	      /dev/hda [default]
	      /dev/hdb
	      /dev/sda
	      /dev/sdb
	      /dev/sdc
	      /dev/sdd

       In order to write the partition table cfdisk  needs  some­
       thing  called  the  `geometry'  of the disk: the number of
       `heads' and the number of `sectors 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 partition table is  empty,
       or  contains  garbage,  or  does not point at a consistent
       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 geome­
       try 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  geome­
       try.   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 displayed in brackets.  The warning line  is  usu­
       ally  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  par­
       tition.

       The  format  of the partition table in the partitions sec­
       tion 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  maxi­
       mized.	For  more  information,  see the maximize command
       below.  The partition type can be one of Primary or  Logi­
       cal.   For  unallocated	space on the drive, the partition
       type can also be Pri/Log, or empty (if the space is  unus­
       able).	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 primary partitions are  used).   When  this  is
       detected,  the  filesystem  type is displayed as Unusable.
       The size field displays	the  size  of  the  partition  in
       megabytes  (by  default).  It can also display the size in
       sectors	and  cylinders	(see  the  change  units  command
       below).	 If an asterisks (*) appears after the size, this
       means that the partition is not aligned on cylinder bound­
       aries.

DOS 6.x WARNING
       The  DOS  6.x FORMAT command looks for some information in
       the first sector of the data area of  the  partition,  and
       treats this information as more reliable than the informa­
       tion in the partition table.  DOS FORMAT expects DOS FDISK
       to  clear the first 512 bytes of the data area of a parti­
       tion 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  par­
       tition  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 program.


COMMANDS
       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  immediately  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 sec­
	      tors-per-track).	WARNING: This option should  only
	      be  used by people who know what they are doing.	A
	      command line option is also available 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, sim­
	      ply enter the desired value and press  Enter.   The
	      altered  disk  parameter	values do not take effect
	      until you return 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 the unused space between
	      the partition table and the beginning of the parti­
	      tion,  but  at  the  cost  of  making the partition
	      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 creating a partition
	      is to create DOS, OS/2, etc. compatible partitions.

       n      Create  new partition from free space.  If the par­
	      tition 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 parti­
	      tion, 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 partition, is display 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  immedi­
	      ately  followed  by  one of (M, K, C or S).  If the
	      partition fills the free space available, the  par­
	      tition  is created and you are returned to the main
	      command line.  Otherwise, the partition can be cre­
	      ated 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  partition's
	      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 from:


	      r      Raw data format (exactly what would be writ­
		     ten 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 partition table is
	      printed, followed by the partition  tables  associ­
	      ated  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 partition table ordered by sector number.
	      The  fields,  from left to right, are the number of
	      the partition, the partition type, the  first  sec­
	      tor,  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 parenthesis), and the  flags
	      (with  the  hex value in parenthesis).  In addition
	      to the primary and  logical  partitions,	free  and
	      unusable	space  is printed and the extended parti­
	      tion 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  divisi­
	      ble  by  the  cylinder  size,  an  asterisks (*) is
	      printed after the non-aligned sector  number/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 dif­
	      ferent disk geometry information.  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 partitions, if the offset from  the  begin­
	      ning 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 corresponds to the NC  flag
	      in the partitions section of the main display.

	      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, sector and cylinder, the starting
	      sector in the partition and the number  of  sectors
	      in  the  partition.   The information in this table
	      can be directly translated to the raw data  format.

	      The  partition  table  entries  only  have  10 bits
	      available to  represent  the  starting  and  ending
	      cylinders.   Thus, when the absolute starting (end­
	      ing) 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  parti­
	      tion  table  when  it is not in this format.  Since
	      Linux and OS/2 use absolute sector counts, the val­
	      ues  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 parti­
	      tions are created 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 cylin­
	      ders.

       W      Write partition table to disk (must enter an  upper
	      case  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 the tell
	      the  kernel to re-read the partition table from the
	      disk.  The re-reading of the partition table  works
	      is  most	cases,	but  I	have seen it fail.  Don't
	      panic.  It will be correct  after  you  reboot  the
	      system.	In all cases, I still recommend rebooting
	      the system--just to be safe.

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

       ?      Print the help screen.

       All of the commands can be entered with	either	upper  or
       lower  case  letters  (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.

OPTIONS
       -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  parti­
	      tion  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.

EXIT STATUS
       0: No errors; 1: Invocation error; 2: I/O error; 3: cannot
       get geometry; 4: bad partition table on disk.

SEE ALSO
       fdisk(8), parted(8), sfdisk(8)

BUGS
       The current version does not support multiple disks.

AUTHOR
       Kevin E. Martin (martin@cs.unc.edu)



The BOGUS Linux Release    3 June 1995			CFDISK(8)