Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages


home | help
DISKLABEL(5)		  FreeBSD File Formats Manual		  DISKLABEL(5)

     disklabel -- disk pack label

     #include <sys/disklabel.h>

     Each disk or disk pack on a system	may contain a disk label which pro-
     vides detailed information	about the geometry of the disk and the parti-
     tions into	which the disk is divided.  It should be initialized when the
     disk is formatted,	and may	be changed later with the disklabel(8) pro-
     gram.  This information is	used by	the system disk	driver and by the
     bootstrap program to determine how	to program the drive and where to find
     the filesystems on	the disk partitions.  Additional information is	used
     by	the filesystem in order	to use the disk	most efficiently and to	locate
     important filesystem information.	The description	of each	partition con-
     tains an identifier for the partition type	(standard filesystem, swap
     area, etc.).  The filesystem updates the in-core copy of the label	if it
     contains incomplete information about the filesystem.

     The label is located in sector number LABELSECTOR of the drive, usually
     sector 0 where it may be found without any	information about the disk ge-
     ometry.  It is at an offset LABELOFFSET from the beginning	of the sector,
     to	allow room for the initial bootstrap.

     A copy of the in-core label for a disk can	be obtained with the
     DIOCGDINFO	ioctl; this works with a file descriptor for a block or	char-
     acter ("raw") device for any partition of the disk.  The in-core copy of
     the label is set by the DIOCSDINFO	ioctl.	The offset of a	partition can-
     not generally be changed while it is open,	nor can	it be made smaller
     while it is open.	One exception is that any change is allowed if no la-
     bel was found on the disk,	and the	driver was able	to construct only a
     skeletal label without partition information.  The	DIOCWDINFO ioctl oper-
     ation sets	the in-core label and then updates the on-disk label; there
     must be an	existing label on the disk for this operation to succeed.
     Thus, the initial label for a disk	or disk	pack must be installed by
     writing to	the raw	disk.  The DIOCGPDINFO ioctl operation gets the	de-
     fault label for a disk.  This simulates the case where there is no	physi-
     cal label on the disk itself and can be used to see the label the kernel
     would construct in	that case.  The	DIOCRLDINFO ioctl operation causes the
     kernel to update its copy of the label based on the physical label	on the
     disk.  It can be used when	the on-disk version of the label was changed
     directly or, if there is no physical label, to update the kernel's	skele-
     tal label if some variable	affecting label	generation has changed (e.g.
     the fdisk partition table).  All of these operations are normally done
     using disklabel(8).

     Note that when a disk has no real BSD disklabel the kernel	creates	a de-
     fault label so that the disk can be used.	This default label will	in-
     clude other partitions found on the disk if they are supported on your
     architecture.  For	example, on systems that support fdisk(8) partitions
     the default label will also include DOS and Linux partitions.  However,
     these entries are not dynamic, they are fixed at the time disklabel(8) is
     run.  That	means that subsequent changes that affect non-OpenBSD parti-
     tions will	not be present in the default label, though you	may update
     them by hand.  To see the default label, run disklabel(8) with the	-d
     flag.  You	can then run disklabel(8) with the -e flag and paste any en-
     tries you want from the default label into	the real one.

     disktab(5), disklabel(8)

     disklabel only supports up	to a maximum of	15 partitions, `a' through
     `p', excluding `c'.  The `c' partition is reserved	for the	entire physi-
     cal disk.	By convention, the `a' partition of the	boot disk is the root
     partition,	and the	`b' partition of the boot disk is the swap partition,
     but all other letters can be used in any order for	any other partitions
     as	desired.

FreeBSD	13.0		      September	10, 2015		  FreeBSD 13.0


Want to link to this manual page? Use this URL:

home | help