bsdlabel(8)
NAME
bsdlabel - read and write disk pack label
SYNOPSIS
bsdlabel [-A] disk | -f file bsdlabel -w [-An] [-B [-b boot]] [-m machine] disk | -f file [type] bsdlabel -e [-An] [-B [-b boot]] [-m machine] disk | -f file bsdlabel -R [-An] [-B [-b boot]] [-m machine] [-f] disk | -f file protofile
DESCRIPTION
- The bsdlabel utility installs, examines or modifies the BSD
- label on a
disk partition, or on a file containing a partition image. - In addition,
bsdlabel can install bootstrap code. - Disk Device Name
- When specifying the device (i.e., when the -f option is not
- used), the
/dev/ path prefix may be omitted; the bsdlabel utility will - automatically
prepend it. - General Options
- The -A option enables processing of the historical parts of
- the BSD
label. If the option is not given, suitable values are set - for these
fields. - The -f option tells bsdlabel that the program will operate
- on a file
instead of a disk partition. - The -n option stops the bsdlabel program right before the
- disk would have
been modified, and displays the result instead of writing - it.
- The -m machine argument forces bsdlabel to use a layout
- suitable for a
different architecture. Current valid values are i386, - amd64, ia64,
pc98, and alpha. If this option is omitted, bsdlabel will - use a layout
suitable for the current machine. - Reading the Disk Label
- To examine the label on a disk drive, use bsdlabel without
- options:
- bsdlabel [-A] [-m machine] disk
- disk represents the disk in question, and may be in the form
- da0 or
/dev/da0. It will display the partition layout. - Writing a Standard Label
- To write a standard label, use the form
- bsdlabel -w [-An] [-m machine] disk [type]
- If the drive type is specified, the entry of that name in
- the disktab(5)
file is used; otherwise a default layout is used. - Editing an Existing Disk Label
- To edit an existing disk label, use the form
- bsdlabel -e [-An] [-m machine] disk
- This command opens the disk label in the default editor, and
- when the
editor exits, the label is validated and if OK written to - disk.
- Restoring a Disk Label From a File
- To restore a disk label from a file, use the form
- bsdlabel -R [-An] [-m machine] disk protofile
- bsdlabel is capable of restoring a disk label that was pre
- viously saved
in a file in ASCII format. The prototype file used to cre - ate the label
should be in the same format as that produced when reading - or editing a
label. Comments are delimited by `#' and newline. - Installing Bootstraps
- If the -B argument is specified, bootstrap code will be read
- from the
file /boot/boot and written to the disk. The -b boot argu - ment allows a
different file to be used.
FILES
/boot/boot Default boot image.
/etc/disktab Disk description file.
SAVED FILE FORMAT
- The bsdlabel utility uses an ASCII version of the label when
- examining,
editing, or restoring a disk label. The format is:
8 partitions:
# size offset fstype [fsize bsize bps/cpg]a: 81920 16 4.2BSD 1024 8192 16
b: 160000 81936 swap
c: 1173930 0 unused 0 0# "raw" part, don't edit- If the -A option is specified, the format is:
# /dev/da1c:
type: SCSI
disk: da0s1
label:
flags:
bytes/sector: 512
sectors/track: 51
tracks/cylinder: 19
sectors/cylinder: 969
cylinders: 1211
sectors/unit: 1173930
rpm: 3600
interleave: 1
trackskew: 0
cylinderskew: 0
headswitch: 0 # milliseconds
track-to-track seek: 0 # milliseconds
drivedata: 08 partitions:
# size offset fstype [fsize bsize bps/cpg]a: 81920 16 4.2BSD 1024 8192 16
b: 160000 81936 swap
c: 1173930 0 unused 0 0# "raw" part, don't editLines starting with a `#' mark are comments.The partition table can have up to 8 entries. It containsthe following
information:# The partition identifier is a single letter in therange `a' to`h'. By convention, partition `c' is reserved todescribe the
entire disk. - size The size of the partition in sectors, K (kilobytes
- 1024), M
- (megabytes - 1024*1024), G (gigabytes
- 1024*1024*1024), % (percentage of free space after removing any fixed-size
- partitions
other than partition `c'), or * (all remaining free - space after
fixed-size and percentage partitions). For parti - tion `c', a size
of * indicates the entire disk. Lowercase versions - of K, M, and
G are allowed. Size and type should be specified - without any
spaces between them. - Example: 2097152, 1G, 1024M and 1048576K are all the
- same size
(assuming 512-byte sectors). - offset The offset of the start of the partition from the
- beginning of
- the drive in sectors, or * to have bsdlabel calcu
- late the correct
offset to use (the end of the previous partition - plus one, ignoring partition `c'. For partition `c', * will be in
- terpreted as
an offset of 0. The first partition should start at - offset 16,
because the first 16 sectors are reserved for meta - data.
- fstype Describes the purpose of the partition. The example
- shows all
- currently used partition types. For UFS file sys
- tems and ccd(4)
partitions, use type 4.2BSD. For Vinum drives, use - type vinum.
Other common types are swap and unused. By conven - tion, partition
`c' represents the entire slice and should be of - type unused,
though bsdlabel does not enforce this convention. - The bsdlabel
utility also knows about a number of other partition - types, none
of which are in current use. (See the definitions - starting with
FS_UNUSED in #include <sys/disklabel.h> for more details.) - fsize For 4.2BSD and LFS file systems only, the fragment
- size.
- Defaults to 1024 for partitions smaller than 1GB,
- 4096 for partitions 1GB or larger.
- bsize For 4.2BSD and LFS file systems only, the block
- size. Defaults
- to 8192 for partitions smaller than 1GB, 16384 for
- partitions 1GB
or larger. - bps/cpg
- For 4.2BSD file systems, the number of cylinders in
- a cylinder
group. For LFS file systems, the segment shift val - ue. Defaults
to 16 for partitions smaller than 1GB, 64 for parti - tions 1GB or
larger.
EXAMPLES
- bsdlabel da0s1
- Display the label for the first slice of the da0 disk, as
- obtained via
/dev/da0s1.
bsdlabel da0s1 > savedlabel- Save the in-core label for da0s1 into the file savedlabel.
- This file can
be used with the -R option to restore the label at a later - date.
bsdlabel -w /dev/da0s1- Create a label for da0s1.
bsdlabel -e da0s1- Read the label for da0s1, edit it, and install the result.
bsdlabel -e -n da0s1- Read the on-disk label for da0s1, edit it, and display what
- the new label
would be (in sectors). It does not install the new label - either in-core
or on-disk.
bsdlabel -w da0s1- Write a default label on da0s1. Use another bsdlabel -e
- command to edit
the partitioning and file system information.
bsdlabel -R da0s1 savedlabel- Restore the on-disk and in-core label for da0s1 from infor
- mation in
savedlabel.
bsdlabel -R -n da0s1 label_layout- Display what the label would be for da0s1 using the parti
- tion layout in
label_layout. This is useful for determining how much space - would be
allotted for various partitions with a labeling scheme using - %-based or *
partition sizes.
bsdlabel -B da0s1- Install a new bootstrap on da0s1. The boot code comes from
- /boot/boot.
bsdlabel -w -B -b newboot /dev/da0s1- Install a new label and bootstrap. The bootstrap code comes
- from the
file newboot in the current working directory.
dd if=/dev/zero of=/dev/da0 bs=512 count=32
fdisk -BI da0
dd if=/dev/zero of=/dev/da0s1 bs=512 count=32
bsdlabel -w -B da0s1
bsdlabel -e da0s1- Completely wipe any prior information on the disk, creating
- a new
bootable disk with a DOS partition table containing one - slice, covering
the whole disk. Initialize the label on this slice, then - edit it. The
dd(1) commands are optional, but may be necessary for some - BIOSes to
properly recognize the disk. - This is an example disk label that uses some of the new par
- tition size
types such as %, M, G, and *, which could be used as a - source file for
``bsdlabel -R ad0s1c new_label_file'':
# /dev/ad0s1c:- 8 partitions:
# size offset fstype [fsize bsize bps/cpg]a: 400M 16 4.2BSD 4096 16384 75# (Cyl. 0 - 812*)
b: 1G * swap
c: * * unused
e: 204800 * 4.2BSD
f: 5g * 4.2BSD
g: * * 4.2BSD
DIAGNOSTICS
- The kernel device drivers will not allow the size of a disk
- partition to
be decreased or the offset of a partition to be changed - while it is open.
COMPATIBILITY
- Due to the use of an u_int32_t to store the number of sec
- tors, BSD labels
are restricted to a maximum of 2^32-1 sectors. This usually - means 2TB of
disk space. Larger disks should be partitioned using anoth - er method such
as gpt(8). - The various BSDs all use slightly different versions of BSD
- labels and
are not generally compatible.
SEE ALSO
- ccd(4), geom(4), md(4), disktab(5), boot0cfg(8), fdisk(8),
- gpt(8)
- BSD March 15, 2003