272 lines
6.7 KiB
Groff
272 lines
6.7 KiB
Groff
.\" $NetBSD: fdisk.8,v 1.28 2002/02/08 01:30:43 ross Exp $
|
|
.\"
|
|
.Dd December 19, 2000
|
|
.Dt FDISK 8
|
|
.Os
|
|
.Sh NAME
|
|
.Nm fdisk
|
|
.Nd DOS partition maintenance program
|
|
.Sh SYNOPSIS
|
|
.Nm ""
|
|
.Op Fl aiufBS
|
|
.Bk -words
|
|
.Op Fl 0 | 1 | 2 | 3
|
|
.Ek
|
|
.Bk -words
|
|
.Op Fl b Ar cylinders/heads/sectors
|
|
.Ek
|
|
.Bk -words
|
|
.Op Fl s Ar id/start/size
|
|
.Ek
|
|
.Bk -words
|
|
.Op Fl c Ar bootcode
|
|
.Ek
|
|
.Bk -words
|
|
.Op Ar device
|
|
.Ek
|
|
.Sh DESCRIPTION
|
|
In order for the BIOS to boot the kernel, certain conventions must be
|
|
adhered to.
|
|
Sector 0 of the disk must contain boot code, a partition table, and a
|
|
magic number.
|
|
Newer BIOS programs want the entire first track reserved.
|
|
BIOS partitions can be used to break the disk up into several pieces.
|
|
The BIOS brings in sector 0, verifies the magic number, and begins
|
|
executing the code at the first byte.
|
|
This code in turn searches the DOS partition table for an `active'
|
|
partition.
|
|
If one is found, the boot block from that partition is loaded and replaces
|
|
the original boot block.
|
|
Under DOS, you could have one or more partitions with one active.
|
|
The DOS
|
|
.Nm
|
|
program can be used to divide space on the disk into partitions and set
|
|
one active.
|
|
.Pp
|
|
The
|
|
.Nx
|
|
program
|
|
.Nm
|
|
serves a similar purpose to the DOS program.
|
|
When called with no arguments, it prints the sector 0 partition table.
|
|
An example follows:
|
|
.Bd -literal
|
|
NetBSD disklabel disk geometry:
|
|
cylinders: 769 heads: 15 sectors/track: 33 (495 sectors/cylinder)
|
|
|
|
BIOS geometry:
|
|
cylinders: 769 heads: 15 sectors/track: 33 (495 sectors/cylinder)
|
|
|
|
Partition table:
|
|
0: sysid 169 (NetBSD)
|
|
start 495, size 380160 (185 MB), flag 0
|
|
beg: cylinder 1, head 0, sector 1
|
|
end: cylinder 768, head 14, sector 33
|
|
1: sysid 164 (reserved)
|
|
start 378180, size 2475 (1 MB), flag 0
|
|
beg: cylinder 764, head 0, sector 1
|
|
end: cylinder 768, head 14, sector 33
|
|
2: \*[Lt]UNUSED\*[Gt]
|
|
3: sysid 99 (GNU HURD or Mach or Sys V/386 (such as ISC UNIX))
|
|
start 380656, size 224234 (109 MB), flag 80
|
|
beg: cylinder 769, head 0, sector 2
|
|
end: cylinder 197, head 14, sector 33
|
|
.Ed
|
|
.Pp
|
|
This example disk is divided into three partitions that happen to fill the
|
|
disk.
|
|
The second partition overlaps the end of the first
|
|
.Po
|
|
used for debugging purposes
|
|
.Pc .
|
|
.Pp
|
|
The various fields in each partition are:
|
|
.Bl -tag -width "cylinder"
|
|
.It Em "sysid"
|
|
is used to label the partition.
|
|
.Nx
|
|
reserves the magic number 169 decimal (A9 in hex).
|
|
The number 0 is used to mark a partition as unused.
|
|
.It Xo
|
|
.Em start ,
|
|
.Em size
|
|
.Xc
|
|
start address and size of a partition in sectors.
|
|
.It Em "flag 80"
|
|
specifies that this is the active partition.
|
|
.It Xo
|
|
.Em "cylinder" ,
|
|
.Em "head" ,
|
|
.Em "sector"
|
|
.Xc
|
|
the beginning or ending address of a partition.
|
|
.El
|
|
.Pp
|
|
.Em "Note:"
|
|
these numbers are calculated using BIOS's understanding of the disk geometry
|
|
and saved in the bootblock.
|
|
.Pp
|
|
At the start the
|
|
.Nm
|
|
program will determine whether the disk sector 0 is valid as a boot sector.
|
|
(This is determined by checking the magic number.)
|
|
If not,
|
|
.Nm
|
|
will initialize the boot code as well as the partition table.
|
|
During this, all four partitions will be marked empty.
|
|
.Pp
|
|
The flags
|
|
.Fl a ,
|
|
.Fl i
|
|
or
|
|
.Fl u
|
|
are used to indicate that the partition data is to be updated.
|
|
The
|
|
.Nm
|
|
program will enter an interactive conversational mode.
|
|
This mode is designed not to change any data unless you explicitly tell it to;
|
|
.Nm
|
|
selects defaults for its questions to guarantee that behavior.
|
|
.Pp
|
|
.Pp
|
|
Getting the
|
|
.Em cylinder ,
|
|
.Em head ,
|
|
and
|
|
.Em sector
|
|
fields correct is tricky.
|
|
So by default,
|
|
they will be calculated for you;
|
|
you can specify them if you choose.
|
|
.Pp
|
|
Finally,
|
|
when all the data for the first sector has been accumulated,
|
|
.Nm
|
|
will ask if you really want to rewrite sector 0.
|
|
Only if you reply affirmatively to this question will
|
|
.Nm
|
|
write anything to the disk.
|
|
.Pp
|
|
Available options:
|
|
.Pp
|
|
.Bl -tag -width Ds
|
|
.It Fl 0
|
|
Update partition slot 0.
|
|
.It Fl 1
|
|
Update partition slot 1.
|
|
.It Fl 2
|
|
Update partition slot 2.
|
|
.It Fl 3
|
|
Update partition slot 3.
|
|
.It Fl a
|
|
Change the active partition.
|
|
In interactive mode this question will be asked after the partitions
|
|
have been processed.
|
|
.It Fl b Ar cylinders/heads/sectors
|
|
Specify the BIOS parameters for
|
|
.Ar cylinders ,
|
|
.Ar heads
|
|
and
|
|
.Ar sectors .
|
|
It is used only in conjunction with the
|
|
.Fl u
|
|
flag.
|
|
.It Fl B
|
|
Install or update the bootselect code on an i386 machine.
|
|
.It Fl c Ar bootcode
|
|
Specify the filename that
|
|
.Nm
|
|
should read the bootcode from.
|
|
The default is to read from
|
|
.Pa /usr/mdec/mbr
|
|
if run on an i386 machine, and leave the bootcode empty for other
|
|
machines.
|
|
.It Fl f
|
|
Run
|
|
.Nm
|
|
in a non-interactive mode.
|
|
In this mode, you can only change the disk parameters by using the
|
|
.Fl b
|
|
flag.
|
|
This is provided only so scripts or other programs may use
|
|
.Nm
|
|
as part of an automatic installation process.
|
|
Using the
|
|
.Fl f
|
|
flag with
|
|
.Fl u
|
|
makes it impossible to specify the starting and ending
|
|
.Ar cylinder ,
|
|
.Ar head
|
|
and
|
|
.Ar sector
|
|
fields.
|
|
They will be automatically computed using the BIOS geometry.
|
|
.It Fl i
|
|
Explicitly request initialization of the master boot code
|
|
(similar to what
|
|
.Nm fdisk /mbr
|
|
does under
|
|
.Tn MSDOS ) ,
|
|
even if the magic number in the first sector is ok.
|
|
The partition table is left alone by this (but see above).
|
|
.It Fl s Ar id/start/size
|
|
Specify the partition
|
|
.Ar id ,
|
|
.Ar start
|
|
and
|
|
.Ar size .
|
|
This flag requires the use of a partition selection flag
|
|
.Po
|
|
.Fl 0 ,
|
|
.Fl 1 ,
|
|
.Fl 2 ,
|
|
or
|
|
.Fl 3
|
|
.Pc
|
|
.It Fl S
|
|
When used with no other flags print a series of
|
|
.Pa /bin/sh
|
|
commands for setting variables to the partition information.
|
|
This is used by the installation scripts.
|
|
.It Fl u
|
|
Display each partition in turn and interactively ask if you want to edit it.
|
|
If you reply affirmatively, it will step through each field showing the old
|
|
value and asking for a new one.
|
|
When you are done with a partition,
|
|
.Nm
|
|
will display the information again and ask if it is correct.
|
|
.Nm
|
|
will then proceed to the next entry.
|
|
.El
|
|
.Sh NOTES
|
|
The automatic calculation of the starting cylinder and
|
|
other parameters 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 incore disklabel, but
|
|
.Nm
|
|
gives you an opportunity to change them.
|
|
This allows the user to create a bootblock that can work with drives
|
|
that use geometry translation under the BIOS.
|
|
.Pp
|
|
Editing an existing partition is risky, and may cause you to
|
|
lose all the data in that partition.
|
|
.Pp
|
|
You should run this program interactively once or twice to see how it works.
|
|
This is completely safe as long as you answer the last question in the negative.
|
|
.Sh FILES
|
|
.Bl -tag -width /usr/mdec/mbrxxxxxxxx -compact
|
|
.It Pa /usr/mdec/mbr
|
|
Default location of i386 bootcode
|
|
.It Pa /usr/mdec/mbr_bootsel
|
|
Default location of i386 bootselect code
|
|
.El
|
|
.Sh SEE ALSO
|
|
.Xr disklabel 8 ,
|
|
.Xr mbr 8 ,
|
|
.Xr mbrlabel 8
|
|
.Sh BUGS
|
|
There are subtleties that the program detects that are not explained in
|
|
this manual page.
|