*nix Documentation Project
·  Home
 +   man pages
·  Linux HOWTOs
·  FreeBSD Tips
·  *niX Forums

  man pages->OpenBSD man pages -> macppc/fdisk (8)              



NAME    [Toc]    [Back]

     fdisk - DOS partition maintenance program

SYNOPSIS    [Toc]    [Back]

     fdisk [-ieu] [-f mbrname]  [-c  cylinders]  [-h  heads]  [-s
sectors] device

DESCRIPTION    [Toc]    [Back]

     In  order  for  the BIOS to boot the kernel, certain conventions must be adhered
 to.  Sector 0 of a bootable  hard  disk  must  contain
boot code, an
     MBR partition table, and a magic number (0xAA55).  These MBR
     (also known as BIOS partitions) can be  used  to  break  the
disk up into
     several pieces.

     The  BIOS loads sector 0 of the boot disk into memory, verifies the magic
     number, and begins executing the code  at  the  first  byte.
The normal DOS
     MBR  boot code searches the MBR partition table for an ``active'' partition
 (indicated by a `*' in the first column), and if one is
found, the
     boot  block  from  that  partition is loaded and executed in
place of the
     original (MBR) boot block.

     The options are as follows:

     -i      Initialize the MBR sector.

     -e      Edit existing MBR sectors.

     -f mbrname
             Specifies an alternate MBR template file.

     -u       Update  MBR  code,  preserving  existing  partition

     -c cylinders, -h heads, -s sectors
             Specifies  an  alternate  BIOS geometry for fdisk to

     The DOS fdisk program can be used to  divide  space  on  the
disk into partitions
 and set one active.  This fdisk program serves a similar purpose to
     the DOS program.  When called  with  no  special  flags,  it
prints the MBR
     partition table of the specified device, i.e.,

         # fdisk fd0
         Disk: fd0       geometry: 80/2/18 [2880 sectors]
         Offset: 0       Signature: 0xAA55
                  Starting        Ending
          #:  id   cyl   hd  sec  -   cyl   hd  sec [     start -
         *0:  A6     0    0    1  -    79    1   18 [         0 -
2880] OpenBSD
          1: 00    0   0    0  -     0    0    0  [          0  -
0] unused
          2:  A7     0    0    2  -    79    1   18 [         1 -
          3: 00    0   0    0  -     0    0    0  [          0  -
0] unused

     The  geometry  displayed is the BIOS geometry unless another
geometry has
     been selected using the -c, -h, and -s options.

     This disk is divided into two partitions that happen to fill
the disk.
     The first partition overlaps the third partition.  (Used for

     #           Number of partition table entry.   A  ``*''  denotes the
                 bootable partition.

     id           System  identifier.  OpenBSD reserves the magic
number 166
                 decimal (A6 in hex).  If  no  166  partition  is
found, it will
                 use  an  older  FreeBSD  partition (with a magic
number of 165 or
                 A5 in hex).

     cyl/hd/sec  These fields provide the starting and ending address of the
                 partition in BIOS geometry.

     start/size   These  fields  provide  the starting sector and
size in sectors
                 of the partition in linear block addresses.

     NOTE: The sectors field is ``1 based'', and the start  field
is ``0
     based''.  The CHS values will need to be in the BIOS's geometry for the
     system to be able to boot and use the drive correctly.

     The -i flag is used to indicate that the partition  data  is
to be initialized.
   In  this  mode,  fdisk will completely overwrite the
primary MBR and
     partition table, either using the default MBR  template,  or
the one specified
  by  the  -f  flag.  In the default template, partition
number 3 will be
     configured as an OpenBSD partition spanning from cylinder 0,
head 1, sector
  1,  and extending to the end of the disk.  This mode is
designed to
     initialize an MBR the very first time, or when it  has  been
corrupted beyond

     The -u flag is used to update the MBR code on a given drive.
     code extends from offset 0x000 to the start of the partition
table at
     offset  0x1BE.  It is similar to the -i flag, except the existing partition
 table is preserved.  This is useful for writing new MBR
code onto an
     existing drive, and is equivalent to the DOS command ``FDISK
     Note that this option will overwrite the NT disk  signature,
if present.

     The -e flag is used to modify a partition table using an interactive edit
     mode of the fdisk program.  This mode is designed  to  allow
you to change
     any  partition  on  the drive you choose, including extended
partitions.  It
     is a very powerful mode, but is safe as long as you  do  not
execute the
     write  command, or answer in the negative (the default) when
fdisk asks
     you about writing out changes.

COMMAND MODE    [Toc]    [Back]

     When you first enter this mode, you  are  presented  with  a
prompt, that
     looks  like  so:  fdisk:  0>.  This prompt has two important
pieces of information
 for you.  It will tell you if the in-memory  copy  of
the boot block
     has  been  modified  or  not.   If it has been modified, the
prompt will
     change to look like: fdisk:*0>.  The second piece of  information pertains
     to  the  number  given in the prompt.  This number specifies
the disk offset
     of the currently selected boot block you are editing.   This
number could
     be  something  other than zero when you are editing extended
     The list of commands and their explanations are given below.

     help    Display a list of commands that fdisk understands in
the interactive
 edit mode.

     manual  Display this manual page.

     reinit  Initialize the currently selected, in-memory copy of
the boot

     disk     Display  the  current drive geometry that fdisk has
probed.  You
             are given a chance to edit it if you wish.

     edit    Edit a given table entry in the memory copy  of  the
current boot
             block.   You  may edit either in BIOS geometry mode,
or in sector
             offsets and sizes.

     setpid  Change the partition identifier of the given  partition table entry.
   This command is particularly useful for reassigning an existing
 partition to OpenBSD.

     flag    Make the given partition table entry bootable.  Only
one entry
             can be marked bootable.  If you wish to boot from an
             partition, you will need to mark the partition table
entry for
             the extended partition as bootable.

     update   Update the machine code and 0xAA55 signature in the
memory copy
             of the currently selected  boot  block.   Note  that
this option will
             overwrite the NT disk signature, if present.

     select   Select  and load into memory the boot block pointed
to by the extended
 partition table entry  in  the  current  boot

     print    Print  the currently selected in-memory copy of the
boot block and
             its MBR table to the terminal.

     write   Write the in-memory copy of the boot block to  disk.
You will be
             asked to confirm this operation.

     exit    Exit the current level of fdisk, either returning to
the previously
 selected in-memory copy of a  boot  block,  or
exiting the
             program if there is none.

     quit    Exit the current level of fdisk, either returning to
the previously
 selected in-memory copy of a  boot  block,  or
exiting the
             program if there is none.  Unlike exit it does write
the modified
             block out.

     abort   Quit program without saving current changes.

NOTES    [Toc]    [Back]

     The automatic calculation of starting cylinder etc.  uses  a
set of figures
     that  represent  what the BIOS thinks is the geometry of the
drive.  These
     figures are by default taken from the in-core disklabel,  or
values that
     /boot  has  passed to the kernel, but fdisk gives you an opportunity to
     change them if there is a need to.  This allows the user  to
create a
     bootblock that can work with drives that use geometry translation under a
     potentially different BIOS.

     If you hand craft your disk layout, please  make  sure  that
the OpenBSD
     partition  starts on a cylinder boundary.  (This restriction
may be
     changed in the future.)

     Editing an existing partition is risky, and may cause you to
lose all the
     data in that partition.

     You  should  run this program interactively once or twice to
see how it
     works.  This is completely safe as long as  you  answer  the
``write'' questions
 in the negative.

FILES    [Toc]    [Back]

     /usr/mdec/mbr  default MBR template

SEE ALSO    [Toc]    [Back]

     boot_i386(8), disklabel(8)

BUGS    [Toc]    [Back]

     There are subtleties fdisk detects that are not explained in
this manual
     page.  As well, chances are that some of the  subtleties  it
should detect
     are being steamrolled.  Caveat Emptor.

OpenBSD      3.6                          January     3,     2002
[ Back ]
 Similar pages
Name OS Title
pdisk OpenBSD HFS(DPME) partition maintenance program
pdisk OpenBSD HFS(DPME) partition maintenance program
radisk Tru64 Digital Storage Architecture (DSA) disk maintenance program
parted Linux a partition manipulation program
set_usage Tru64 checks whether a disk partition is in use and sets the fstype of the partition in the disk label
monthly OpenBSD periodic system maintenance
daily OpenBSD periodic system maintenance
weekly OpenBSD periodic system maintenance
fddisk Tru64 FDI disk maintenance utility
dtrebuild IRIX ``desktop'' maintenance of AppleShare volumes
Copyright © 2004-2005 DeniX Solutions SRL
newsletter delivery service