disklabel(8)disklabel(8)NAMEdisklabel - Reads and writes a disk pack label and formats disk parti‐
tions
SYNOPSIS
/sbin/disklabel [-r] [disk]
/sbin/disklabel [-r] -f filename
/sbin/disklabel -w disk [type[packid]]
/sbin/disklabel -wr [-n] [-t {ufs | advfs}] [disk] [type [packid]
[xxboot bootxx]]
/sbin/disklabel -wr [-n] [-t {ufs | advfs | cdfs}] -ffilename [packid]
[xxboot bootxx]
/sbin/disklabel -e [-r] [-F] disk
/sbin/disklabel -e-f filename
/sbin/disklabel -R [-t {ufs | advfs}] disk protofile
/sbin/disklabel -Rr [-t {ufs | advfs}] disk protofile { type |
xxboot bootxx }
/sbin/disklabel [-N | -W] disk
/sbin/disklabel -z disk
/sbin/disklabel -s-F disk fstype
/sbin/disklabel -p disk [type]
OPTIONS
Edits an existing label. Specifies the type of image file for opera‐
tions. The default image file type is cdfs, to indicate that the image
file was created in ISO 9660 Rock Ridge format. The cdfs default
applies only when the -f option is used. Enables you to force an over‐
ride of the current file system type. You can set the file system type
by using the -s option. If the target disk partition is in use, the
disklabel command displays a warning message and does not set a file
system type. This safety feature prevents you from accidentally over‐
writing any partition that is in use. If you are certain that you want
to set a new file system type, you can choose to ignore the warning and
specify the -F option to override the safety feature.
When used with the -e option, it enables you to extend a parti‐
tion that is currently open and in use. Writes an initial label
to a disk which is then labeled, but not bootable. Use the -wr
option alone to create a bootable disk. Disallows writing of
the pack label area on the specified disk. (See the -W option.)
Prints label operands for the specified disk to stdout. Reads
or writes the label directly to or from the disk, rather than
operating on the in-memory copy of the label. Used with the -w
option, this option creates a bootable disk. Restores a disk
label that was formatted in a prior operation and saved in an
ASCII file. Sets the file system type (fstype) field in the
disk label. See the -F option, which enables you to force an
override of any existing settings. Specifies which type of the
local file system the boot blocks describe, UFS, AdvFS, or CDFS.
Writes a standard label on the designated drive. Used with the
-r option, this option creates a bootable disk. Allows writing
of the pack label area on the specified disk. (See -N.) Zeros
(clears) the disk label. (See the section Warning a User that a
Disklabel Is Being Zeroed for more information.)
PARAMETERS
Identifies the disk on which you want to perform a labelling operation.
You use the disk's device special file name, such as dsk0 or
/dev/rdisk/dsk0a. If you do not specify the disk partition, the
disklabel command uses the first partition that has a zero offset. Typ‐
ically, this is the a or c partition. If the full path name is used, it
must be a character special device name and not the block device name.
Specifies an image file name that the disklabel command reads to per‐
form the specified operation. Specifies the type (or model) of disk.
This parameter is optional. The /etc/disktab file contains a list of
disk types and their operands and partitions. If you want disks that
are the same type to have different partition operands, create separate
/etc/disktab file entries describing each disk, or edit the disks'
labels after installation with the -e option. See disktab(4) for more
information. If your disk type is not specified in the /etc/disktab
file, the disklabel command uses the default partition information in
the driver. You can also use the following command to display disk
types:
# hwmgr -show comp | grep WWID
COMPONENT NAME SCSI-WWID:0410003a:"DEC RZ26L (C)
DECPCB=ZG51569480 ; HDA=000051892202" SCSI-WWID:04100024:"COMPAQ
HB00931B93 WT7050055125" SCSI-WWID:0c000008:0060-9487-2a12-4ed2
The preceding output is edited to show only the COMPONENT NAME
column. The disk type is contained in the quoted string of the
worldwide identifier (WWID), which is the manufacturer's model
information. This data appears under the COMPONENT NAME column.
The first field contains the manufacturer's code. The second
field contains the disk type, such as RZ26L or HB00931B93. The
example device shown on the last line of the output contains no
information on the disk type. In such cases, you cannot specify
a type, and the disklabel command uses the default partition
information in the device driver.
See hwmgr(8) for more information. Specifies an optional pack
identification string containing up to 16 characters. Use
quotes (" ") around the packid parameter if it contains space
characters. Specifies a prototype file that is used to create
the label. This file is in the same format as the output pro‐
duced when you read or edit a label. You can add comments by
preceding the comment string with a pound sign (#) and ending it
by using the newline character. The primary bootstrap program
which must be a valid boot file residing in the /mdec directory.
The secondary bootstrap program which must be a valid boot file
residing in the /mdec directory. The file system type, which
can be any of the options listed in the following table:
File System Types
Value of fstype Usage Description
unused Available for use
swap Swap space
4.2BSD, ufs, or UFS UNIX file system
AdvFS AdvFS file system. This string is case sen‐
sitive. You cannot use advfs.
cdfs CDFS file system
LSMnoprv An LSM nopriv disk
LSMpriv An LSM private region
LSMpubl An LSM public region
LSMsimp An LSM simple disk
database A database
raw Raw data
DESCRIPTION
Use the disklabel command to install, examine, or modify the label on a
disk drive or pack. The disk label contains information about the disk,
such as its type and physical operands. See rz(7) for information on
SCSI disk partitions. The diskconfig graphical user interface (GUI)
provides an alternate way to label and partition disks. If you need to
create custom partition sizes on a disk, the diskconfig command pro‐
vides you with the easiest method. See diskconfig(8) for more informa‐
tion.
You also use the disklabel command to do the following tasks: Change
the drive identification Modify the size and usage of disk partitions
on the drive Replace a damaged label Change the bootstrap program
These tasks are referred to as formatting operations on other operating
systems.
The disk label is located on one of the first sectors of each disk,
which is usually block 0 (zero). On systems that require a block-zero
bootstrap, the label is inserted into the bootstrap program. There are
two copies of a disk label, one located on the disk and one located in
system memory. Because it is faster to access system memory than to
perform I/O, when a system recognizes a disk, it copies the disk label
into memory.
Reading and Writing a Label
Use the -r option to read the label from or write it to the disk
directly, instead of reading the system's in-memory copy of the label.
When writing a label, the in-memory copy is also updated provided the
label operands are valid. You must use the -r option if a disk has no
label. This option might enable you to install a label on a disk that
does not have kernel support for a label, such as when labels are first
installed on a system. You also use the -r option to examine the label
on the specified disk drive. The disklabel command displays all of the
operands associated with the drive and its partition layout. If the
disk has no label or if the partition types on the disk are incorrect,
the kernel might have constructed or modified the label.
Use the -w option to write a standard label on the designated drive.
You must specify the disk name. The type and packid arguments are
optional. If you specify the -r option with the -w option, the disk
sectors that contain the label and bootstrap are written directly; oth‐
erwise the existing label is updated in place without modifying the
bootstrap. In either case, the kernel's in-memory label is replaced.
You can specify alternate versions of the bootstrap files, using the
xxboot and bootxx arguments. If an alternate bootstrap is not speci‐
fied, the standard bootstrap is used. See Specifying Bootstrap Programs
for more information.
The -wr options create a bootable disk by default and you must specify
the -n option to create a non bootable disk label. When using the -n
option, you can choose to specify the disk, the type, and the packid
depending on how you want the disk labeled.
The -N option disables writing to the disk pack label area. The -W
option enables writing to the disk pack label area. The label sector is
always write-protected when the drive is first opened; the write-enable
option set by -W persists only until all partitions on the drive are
closed.
Specifying Bootstrap Programs
If you specify the -ffilename option with the -w option, the disk
label is written to the specified image file. The default bootstrap
programs are for the CDFS file system. You can use alternative boot‐
strap programs by specifying the -t option and indicating the file sys‐
tem type, such as ufs. Alternatively, you can specify primary and sec‐
ondary (xxboot and bootxx) boot arguments.
The bootstrap programs are located in the /mdec directory. You can
specify the file names of the bootstrap programs in the /etc/disktab
file. If you do not specify the names, the syntax of the default file
names is as follows: xxboot - The primary bootstrap, loaded at block 0
(zero). bootxx - The secondary bootstrap, loaded as follows: Blocks
1-15 for the UFS file system Blocks 64-95 for the AdvFS file system
The replaceable string, xx, specifies the type of disk, such as, rz or
re. For example, the names are /mdec/rzboot and /mdec/bootrz for a UFS
type rz disk.
Note
In Version 5.0 and later the rz device naming convention for SCSI disks
changed to a dsk device naming convention. However, rz basenames still
apply to SCSI disks. The /mdec/*rz* files map to any dsk device. See
System Administration for information on device naming. See hwmgr(8)
for information on finding devices and device names.
For example, If you specify the -t advfs option when labeling dsk1, the
disklabel command uses the /mdec/rzboot.advfs and /mdec/bootrz.advfs
files by default.
Printing a Label
Use the -p option to print the disklabel operands for a specified disk
from the /etc/disktab file to stdout. The type of disk is obtained
directly by querying the disk special file. If there is no matching
entry in the /etc/disktab file for the obtained type, the disklabel
command uses the default partition information in the driver.
If the optional type parameter is specified, it takes precedence over
the disk special file, and the information is obtained from /etc/disk‐
tab providing a matching entry is found for the specified type. If no
matching entry is found, the disklabel command uses the default parti‐
tion information from the device driver.
Editing a Label
You can edit an existing disk label by using the -e option. The label
is read from the in-memory kernel copy, or directly from the disk if
you specify the -r option. The label is formatted and then sent to an
editor. If no editor is specified with the EDITOR environment variable,
the vi editor is used. If vi is not available, the ed editor is used.
If an unexpected error occurs during the ed editing session, the fol‐
lowing message is displayed: Warning, edit session exited abnormally!
You MUST re-edit the disk label to ensure that the modifications you
made were saved correctly.
When the editor terminates, the formatted label is reread and is used
by the disklabel command to rewrite the disk label.
If a disk partition is already in use, the disklabel command may dis‐
play a warning message when trying to extend the partition. You can
force an extension of the partition by using the -F with the -e option.
Restoring a Label
If you specify the -R option, the disklabel command restores a disk
label that was previously formatted and saved in an ASCII file. You can
also specify a prototype file that is used to restore the label. If you
also specify the -r option, a block-0 bootstrap is installed on systems
that use that type of bootstrap. You must specify either the disk type
or the names of the bootstrap files when labelling a disk for use on
such systems. See the Owner's manual for your system for more informa‐
tion.
If you replace an existing label with a new label, the existing parti‐
tion information will be copied to the new label if the new label's
partition is marked unused. This might cause disklabel to fail and you
can avoid this failure by using the -z option to first clear the disk
label before performing the restoration operation.
Changing the File System Type
Use the -s option to change the file system type (fstype) in the disk
label. Specify the disk partition, such as dsk10c, and the new value
for the fstype parameter, such as ufs.
If a partition no longer contains valid file system data, use the -s
option to set the fstype parameter to unused. Or, if the fstype parame‐
ter is unused, but the partition does contain valid data, use the -s
option to set a valid value for the fstype parameter. This prevents
inadvertent loss of data, as applications such as newfs, mkfdmn, vold‐
isk, and swapon check the fstype field in the disk label for the parti‐
tion usage.
If a partition is already in use, the disklabel command might display a
warning message and the partition file system type does not changed.
You can force an override of this safety feature by using the -F option
with the -s option.
Warning a User that a Disklabel Is Being Zeroed
An optional environmental variable is available to warn a user that a
disklabel is being zeroed on an open disk partition. To enable this
feature, set DISK_ZERO_WARN=yes. When this environmental variable is
set, an attempt to zero a disklabel on an open disk partition results
in the system displaying the following message:
/dev/rdisk/dsknnc: an overlapping partition is in-use. Operation
aborted.
NOTES
The kernel device drivers do not allow the size of a disk partition to
be decreased or the offset of a partition to be changed while the par‐
tition is open. Some device drivers create a label containing only a
single large partition if a disk is unlabeled; thus the label must be
written to the a or c partition of the disk while it is open. This
sometimes requires that the desired label be set in two steps, the
first one creating at least one other partition, and the second one
setting the label on the new partition while shrinking the a partition.
The kernel does not allow file system information to be set
unused for open partitions. For example, if you want to set the
a partition to unused, you must write the label using a differ‐
ent partition (such as the c partition). For example:
# disklabel-w /dev/rdisk/dsk0c
If a file system exists for an open partition, the existing file
system information is copied to the new label. This preserves
the existing information without returning an error. When using
LSM, if you try to recover a replaced mirror disk and the disk
has been replaced with a new disk, the disklabel command fails
with the following error, when attempting to write the new
label:
disklabel: ioctl DIOCSDINFO: open partition would move or
shrink
Remove the disk from LSM before attempting to write the new
label:
# voldisk rm dsk8 # disklabel-wr dsk8
EXAMPLES
If you enter the disklabel command but do not specify any options, the
following command usage help is displayed:
# disklabel Usage:
Read 'in-memory copy' of label:
disklabel disk
Read 'on-disk copy' of label:
disklabel-r disk
Read label from image file:
disklabel [-r] -f filename
Write over existing label:
disklabel-w disk [type [packid]]
Write initial label on disk:
disklabel-wr [-n] [-t {advfs | ufs}] disk [type [packid]
[xxboot bootxx]]
Write label to image file:
disklabel-wr [-n] [-t {advfs | ufs | cdfs}] -f filename
[packid] [xxboot bootxx]
Edit label:
disklabel-e [-r] disk
Edit label on image file:
disklabel-e -f filename
Restore label:
disklabel-R [-t {advfs | ufs}] disk protofile
disklabel-Rr [-t {advfs | ufs}] disk protofile
[type | xxboot bootxx]
Write disable/enable label:
disklabel [-N | -W] disk
Zero label:
disklabel-z disk
Set partition fstype:
disklabel-s [-F] disk fstype
Print Default label:
disklabel-p disk [type] The following example indicates
which variants of the device special file name are acceptable.
The disk is labeled with partitions a, b, and g:
# disklabel /dev/disk/dsk1 disklabel: /dev/disk/dsk1: No such
file or directory # disklabel /dev/disk/dsk1c
disklabel: not a character device: /dev/disk/dsk1c # disklabel
/dev/disk/dsk1a
disklabel: not a character device: /dev/disk/dsk1a # disklabel
/dev/rdisk/dsk1 disklabel: /dev/rdisk/dsk1: No such file or
directory # disklabel /dev/rdisk/dsk1c # /dev/rdisk/dsk1c: type:
SCSI disk: RZ28M label: . . . # disklabel dsk1 #
/dev/rdisk/dsk1c: type: SCSI disk: RZ28M label: flags: . . .
# disklabel dsk1g # /dev/rdisk/dsk1g: type: SCSI disk: RZ28M
label: . . . # disklabel /dev/rdisk/dsk1g # /dev/rdisk/dsk1g:
type: SCSI disk: RZ28M label: flags: . . . # disklabel
/dev/disk/dsk1g
disklabel: not a character device: /dev/disk/dsk1g . . .
The following example uses only the -r (read) option to read and
display the on-disk copy of the disk label:
# disklabel-r dsk1 # /dev/rdisk/dsk1c: type: SCSI disk: RZ28M
label: flags: bytes/sector: 512 sectors/track: 99 tracks/cylin‐
der: 16 sectors/cylinder: 1584 cylinders: 2595 sectors/unit:
4110480 rpm: 3600 interleave: 1 trackskew: 0 cylinderskew: 0
headswitch: 0 # milliseconds track-to-track seek: 0 #
milliseconds drivedata: 0
8 partitions: # size offset fstype fsize bsize cpg
# ~Cyl values
a: 262144 0 4.2BSD 1024 8192 16 # 0 - 165*
b: 401404 262144 swap # 165*- 418*
c: 4110480 0 unused 1024 8192 # 0 - 2594
d: 1060869 663547 unused 1024 8192 # 18*- 1088*
e: 1191936 1724416 unused 1024 8192 # 1088*- 1841*
f: 1194128 2916352 unused 1024 8192 # 1841*- 2594
g: 3446932 63548 4.2BSD 1024 8192 16 # 418*- 2594
h: 1790096 2320384 unused 1024 8192 # 1464*- 2594
Note that the asterisks in the “~Cyl values” column indicate
that the beginning or ending cylinders do not fall exactly on a
block boundary. The following command indicates an error caused
by attempting a labeling operation on a disk that is in use. In
this case, a partition on the disk was still mounted when the
command was issued:
# disklabel-rw dsk1
disklabel: ioctl DIOCSDINFO: Open partition would move or
shrink
Use alternate partition
The following example clears the existing label, writes a new
label, and then displays the current label. This disk is the
same disk used in Example 3, and you can compare the differences
in the label:
# disklabel-rw dsk1 # disklabel-r dsk1 # /dev/rdisk/dsk1c:
type: SCSI disk: RZ28M label: flags: bytes/sector: 512 sec‐
tors/track: 99 tracks/cylinder: 16 sectors/cylinder: 1584 cylin‐
ders: 2595 sectors/unit: 4110480 rpm: 5411 interleave: 1
trackskew: 12 cylinderskew: 25 headswitch: 0 # mil‐
liseconds track-to-track seek: 0 # milliseconds drivedata: 0
8 partitions: # size offset fstype fsize bsize cpg
# ~Cyl values
a: 131072 0 unused 0 0 # 0 -
82*
b: 401408 131072 unused 0 0 # 82*-
336*
c: 4110480 0 unused 0 0 # 0 -
2594
d: 1191936 532480 unused 0 0 # 336*-
1088*
e: 1191936 1724416 unused 0 0 # 1088*-
1841*
f: 1194128 2916352 unused 0 0 # 1841*-
2594
g: 1787904 532480 unused 0 0 # 336*-
1464*
h: 1790096 2320384 unused 0 0 # 1464*-
2594
Note that the asterisks in the “~Cyl values” column indicate
that the beginning or ending cylinders do not fall exactly on a
block boundary. The following example marks partition dsk1c for
use by the UFS file system (4.2BSD). The second command issued
attempts to change the usage to swap space but instead returns
an error message stating that the partition is in use. This
safety feature prevents you from losing data by accidentally
overwriting in-use partitions:
# disklabel-s dsk1 ufs # disklabel-s dsk1 swap
disklabel: /dev/rdisk/dsk1c is marked in use for 4.2BSD by the
disklabel.
disklabel: Use -F option to force an override.
The following command overrides the safety feature and the out‐
put shows than usage of partition dsk1c is changed:
# disklabel-s-F dsk1 swap # disklabel-r dsk1 #
/dev/rdisk/dsk1c: type: SCSI disk: RZ28M . . . # size
offset fstype fsize bsize cpg # ~Cyl values
c: 4110480 0 swap # 0 - 2594 .
. . The following example marks partition dsk4c as unused,
which means it is available for use:
# disklabel-s dsk4c unused The following example shows how a
disk label is written to a CDFS image file and then read from
it:
# disklabel-r dsk1 > system.image # disklabel-w-f sys‐
tem.image # disklabel-f system.image # system.image: type:
unknown disk: CDROM label: flags: removeable bytes/sector: 512
sectors/track: 2 tracks/cylinder: 1 sectors/cylinder: 1 cylin‐
ders: 1 sectors/unit: 2 rpm: 300 interleave: 1 trackskew: 0
cylinderskew: 0 headswitch: 0 # milliseconds track-to-
track seek: 0 # milliseconds drivedata: 0
3 partitions: # size offset fstype fsize bsize cpg #
~Cyl values
a: 2 0 CDFS # 0 - 1
b: 0 0 unused 0 0 # 0 - 0
FILES
Contains device special files, such as disk0a Contains raw device spe‐
cial files, such as disk1c Contains information about disks and drives
Contains primary bootstrap programs Contains secondary bootstrap pro‐
grams
SEE ALSO
Commands: diskconfig(8), hwmgr(8)
Files: disklabel(4), disktab(4)
Misc: rz(7), ra(7)
Functions: check_usage(3), set_usage(3)disklabel(8)