Welcome to Linux Knowledge Base and Tutorial
"The place where you learn linux"
Linux Magazine: The source for advanced Linux know-how

 Create an AccountHome | Submit News | Your Account  

Tutorial Menu
Linux Tutorial Home
Table of Contents

· Introduction to Operating Systems
· Linux Basics
· Working with the System
· Shells and Utilities
· Editing Files
· Basic Administration
· The Operating System
· The X Windowing System
· The Computer Itself
· Networking
· System Monitoring
· Solving Problems
· Security
· Installing and Upgrading
· Linux and Windows

Man Pages
Linux Topics
Test Your Knowledge

Site Menu
Site Map
Copyright Info
Terms of Use
Privacy Info
Masthead / Impressum
Your Account

Private Messages

News Archive
Submit News
User Articles
Web Links


The Web

Who's Online
There are currently, 88 guest(s) and 0 member(s) that are online.

You are an Anonymous user. You can register for free by clicking here




       fdisk [-u] [-b sectorsize] [-C cyls] [-H heads] [-S sects]

       fdisk -l [-u] [device ...]

       fdisk -s partition ...

       fdisk -v


       Hard disks can be divided into one or more  logical  disks
       called partitions.  This division is described in the par­
       tition table found in sector 0 of the disk.

       In the BSD world one  talks  about  `disk  slices'  and  a

       Linux  needs  at  least one partition, namely for its root
       file system.  It can use swap  files  and/or  swap  parti­
       tions,  but the latter are more efficient. So, usually one
       will want a second Linux partition dedicated as swap  par­
       tition.  On Intel compatible hardware, the BIOS that boots
       the system can often only access the first 1024  cylinders
       of  the  disk.   For  this  reason people with large disks
       often create a third partition, just a few MB large, typi­
       cally  mounted  on  /boot, to store the kernel image and a
       few auxiliary files needed at boot time,  so  as  to  make
       sure that this stuff is accessible to the BIOS.  There may
       be reasons of security, ease of administration and backup,
       or  testing, to use more than the minimum number of parti­

       fdisk (in the first form of invocation) is a  menu  driven
       program for creation and manipulation of partition tables.
       It understands DOS type partition tables and  BSD  or  SUN
       type disklabels.

       The device is usually one of the following:
       (/dev/hd[a-h]  for IDE disks, /dev/sd[a-p] for SCSI disks,
       /dev/ed[a-d] for ESDI disks, /dev/xd[ab] for XT disks).  A
       device name refers to the entire disk.

       The  partition  is  a  device name followed by a partition
       number.  For example, /dev/hda1 is the first partition  on
       the first IDE hard disk in the system.  IDE disks can have
       up to 63 partitions,  SCSI  disks  up  to  15.   See  also
       overlap with the volume header.  Also do  not  change  its
       type  and make some file system on it, since you will lose
       the partition table.  Use this type  of  label  only  when
       working  with Linux on IRIX/SGI machines or IRIX/SGI disks
       under Linux.

       A DOS type partition table can describe an unlimited  num­
       ber  of  partitions.  In  sector  0  there is room for the
       description of 4 partitions  (called  `primary').  One  of
       these  may be an extended partition; this is a box holding
       logical partitions, with descriptors  found  in  a  linked
       list  of sectors, each preceding the corresponding logical
       partitions.  The four primary partitions, present or  not,
       get  numbers 1-4.  Logical partitions start numbering from

       In a DOS type partition table the starting offset and  the
       size  of each partition is stored in two ways: as an abso­
       lute number of sectors (given in 32 bits) and as a  Cylin­
       ders/Heads/Sectors triple (given in 10+8+6 bits). The for­
       mer is OK - with 512-byte sectors this will work up  to  2
       TB.  The  latter has two different problems. First of all,
       these C/H/S fields can be filled only when the  number  of
       heads  and the number of sectors per track are known. Sec­
       ondly, even if we know what these numbers should  be,  the
       24 bits that are available do not suffice.  DOS uses C/H/S
       only, Windows uses both, Linux never uses C/H/S.

       If possible, fdisk will obtain the disk geometry automati­
       cally.  This is not necessarily the physical disk geometry
       (indeed, modern disks do not really have anything  like  a
       physical  geometry,  certainly  not  something that can be
       described in simplistic Cylinders/Heads/Sectors form), but
       is  the  disk  geometry that MS-DOS uses for the partition

       Usually all goes well by default, and there are  no  prob­
       lems  if Linux is the only system on the disk. However, if
       the disk has to be shared with other operating systems, it
       is  often a good idea to let an fdisk from another operat­
       ing system make at least one partition. When  Linux  boots
       it  looks at the partition table, and tries to deduce what
       (fake) geometry is  required  for  good  cooperation  with
       other systems.

       Whenever  a  partition table is printed out, a consistency
       check is performed on the partition table  entries.   This
       check verifies that the physical and logical start and end
       points are identical, and that the  partition  starts  and
       ends  on  a cylinder boundary (except for the first parti­


       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.

       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.


       -b sectorsize
              Specify the sector size of the disk.  Valid  values
              are  512,  1024, or 2048.  (Recent kernels know the
              sector size. Use this only on  old  kernels  or  to
              override the kernel's ideas.)

       -C cyls
              Specify  the  number  of  cylinders of the disk.  I
              have no idea why anybody would want to do so.

       -H heads
              Specify the number of heads of the disk.  (Not  the
              physical number, of course, but the number used for
              partition tables.)  Reasonable values are  255  and

       -S sects
              Specify  the  number  of  sectors  per track of the
              disk.  (Not the physical number, of course, but the
              number  used  for  partition tables.)  A reasonable

       -v     Print version number of fdisk program and exit.


       There  are  several  *fdisk programs around.  Each has its
       problems and strengths.  Try them  in  the  order  cfdisk,
       fdisk,  sfdisk.   (Indeed,  cfdisk  is a beautiful program
       that has strict requirements on the  partition  tables  it
       accepts,  and  produces high quality partition tables. Use
       it if you can.  fdisk is a buggy program that  does  fuzzy
       things - usually it happens to produce reasonable results.
       Its single advantage is that it has some support  for  BSD
       disk  labels and other non-DOS partition tables.  Avoid it
       if you can.  sfdisk is for hackers only - the user  inter­
       face  is  terrible,  but it is more correct than fdisk and
       more powerful than both fdisk and  cfdisk.   Moreover,  it
       can be used noninteractively.)

       The  IRIX/SGI type disklabel is currently not supported by
       the kernel.  Moreover, IRIX/SGI header directories are not
       fully supported yet.

       The option `dump partition table to file' is missing.


       cfdisk(8), mkfs(8), parted(8), sfdisk(8)

Linux 2.0                  11 June 1998                  FDISK(8)
Show your Support for the Linux Tutorial

Purchase one of the products from our new online shop. For each product you purchase, the Linux Tutorial gets a portion of the proceeds to help keep us going.



Security Code
Security Code
Type Security Code

Don't have an account yet? You can create one. As a registered user you have some advantages like theme manager, comments configuration and post comments with your name.

Help if you can!

Amazon Wish List

Did You Know?
You can get all the latest Site and Linux news by checking out our news page.


Tell a Friend About Us

Bookmark and Share

Web site powered by PHP-Nuke

Is this information useful? At the very least you can help by spreading the word to your favorite newsgroups, mailing lists and forums.
All logos and trademarks in this site are property of their respective owner. The comments are property of their posters. Articles are the property of their respective owners. Unless otherwise stated in the body of the article, article content (C) 1994-2013 by James Mohr. All rights reserved. The stylized page/paper, as well as the terms "The Linux Tutorial", "The Linux Server Tutorial", "The Linux Knowledge Base and Tutorial" and "The place where you learn Linux" are service marks of James Mohr. All rights reserved.
The Linux Knowledge Base and Tutorial may contain links to sites on the Internet, which are owned and operated by third parties. The Linux Tutorial is not responsible for the content of any such third-party site. By viewing/utilizing this web site, you have agreed to our disclaimer, terms of use and privacy policy. Use of automated download software ("harvesters") such as wget, httrack, etc. causes the site to quickly exceed its bandwidth limitation and are therefore expressly prohibited. For more details on this, take a look here

PHP-Nuke Copyright © 2004 by Francisco Burzi. This is free software, and you may redistribute it under the GPL. PHP-Nuke comes with absolutely no warranty, for details, see the license.
Page Generation: 0.13 Seconds