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

FreeBSD Manual Pages

  
 
  

home | help
GPART(8)		FreeBSD	System Manager's Manual		      GPART(8)

NAME
     gpart -- control utility for the disk partitioning	GEOM class

SYNOPSIS
     gpart add -t type [-a alignment] [-b start] [-s size] [-i index]
	   [-l label] [-f flags] geom
     gpart backup geom
     gpart bootcode [-b	bootcode] [-p partcode -i index] [-f flags] geom
     gpart commit geom
     gpart create -s scheme [-n	entries] [-f flags] provider
     gpart delete -i index [-f flags] geom
     gpart destroy [-F]	[-f flags] geom
     gpart modify -i index [-l label] [-t type]	[-f flags] geom
     gpart recover [-f flags] geom
     gpart resize -i index [-a alignment] [-s size] [-f	flags] geom
     gpart restore [-lF] [-f flags] provider [...]
     gpart set -a attrib -i index [-f flags] geom
     gpart show	[-l | -r] [-p] [geom ...]
     gpart undo	geom
     gpart unset -a attrib -i index [-f	flags] geom
     gpart list
     gpart status
     gpart load
     gpart unload

DESCRIPTION
     The gpart utility is used to partition GEOM providers, normally disks.
     The first argument	is the action to be taken:

     add       Add a new partition to the partitioning scheme given by geom.
	       The partition begins on the logical block address given by the
	       -b start	option.	 Its size is given by the -s size option.  SI
	       unit suffixes are allowed.  One or both -b and -s options can
	       be omitted.  If so they are automatically calculated.  The type
	       of the partition	is given by the	-t type	option.	 Partition
	       types are discussed below in the	section	entitled PARTITION
	       TYPES.

	       Additional options include:

	       -a alignment  If	specified, then	gpart utility tries to align
			     start offset and partition	size to	be multiple of
			     alignment value.

	       -i index	     The index in the partition	table at which the new
			     partition is to be	placed.	 The index determines
			     the name of the device special file used to rep-
			     resent the	partition.

	       -l label	     The label attached	to the partition.  This	option
			     is	only valid when	used on	partitioning schemes
			     that support partition labels.

	       -f flags	     Additional	operational flags.  See	the section
			     entitled OPERATIONAL FLAGS	below for a discussion
			     about its use.

     backup    Dump a partition	table to standard output in a special format
	       used by the restore action.

     bootcode  Embed bootstrap code into the partitioning scheme's metadata on
	       the geom	(using -b bootcode) or write bootstrap code into a
	       partition (using	-p partcode and	-i index).  Not	all partition-
	       ing schemes have	embedded bootstrap code, so the	-b bootcode
	       option is scheme-specific in nature (see	the section entitled
	       BOOTSTRAPPING below).  The -b bootcode option specifies a file
	       that contains the bootstrap code.  The contents and size	of the
	       file are	determined by the partitioning scheme.	The -p
	       partcode	option specifies a file	that contains the bootstrap
	       code intended to	be written to a	partition.  The	partition is
	       specified by the	-i index option.  The size of the file must be
	       smaller than the	size of	the partition.

	       Additional options include:

	       -f flags	   Additional operational flags.  See the section en-
			   titled OPERATIONAL FLAGS below for a	discussion
			   about its use.

     commit    Commit any pending changes for geom geom.  All actions are com-
	       mitted by default and will not result in	pending	changes.  Ac-
	       tions can be modified with the -f flags option so that they are
	       not committed, but become pending.  Pending changes are re-
	       flected by the geom and the gpart utility, but they are not ac-
	       tually written to disk.	The commit action will write all pend-
	       ing changes to disk.

     create    Create a	new partitioning scheme	on a provider given by
	       provider.  The -s scheme	option determines the scheme to	use.
	       The kernel must have support for	a particular scheme before
	       that scheme can be used to partition a disk.

	       Additional options include:

	       -n entries  The number of entries in the	partition table.  Ev-
			   ery partitioning scheme has a minimum and maximum
			   number of entries.  This option allows tables to be
			   created with	a number of entries that is within the
			   limits.  Some schemes have a	maximum	equal to the
			   minimum and some schemes have a maximum large
			   enough to be	considered unlimited.  By default,
			   partition tables are	created	with the minimum num-
			   ber of entries.

	       -f flags	   Additional operational flags.  See the section en-
			   titled OPERATIONAL FLAGS below for a	discussion
			   about its use.

     delete    Delete a	partition from geom geom and further identified	by the
	       -i index	option.	 The partition cannot be actively used by the
	       kernel.

	       Additional options include:

	       -f flags	   Additional operational flags.  See the section en-
			   titled OPERATIONAL FLAGS below for a	discussion
			   about its use.

     destroy   Destroy the partitioning	scheme as implemented by geom geom.

	       Additional options include:

	       -F	   Forced destroying of	the partition table even if it
			   is not empty.

	       -f flags	   Additional operational flags.  See the section en-
			   titled OPERATIONAL FLAGS below for a	discussion
			   about its use.

     modify    Modify a	partition from geom geom and further identified	by the
	       -i index	option.	 Only the type and/or label of the partition
	       can be modified.	 To change the type of a partition, specify
	       the new type with the -t	type option.  To change	the label of a
	       partition, specify the new label	with the -l label option.  Not
	       all partitioning	schemes	support	labels and it is invalid to
	       try to change a partition label in such cases.

	       Additional options include:

	       -f flags	   Additional operational flags.  See the section en-
			   titled OPERATIONAL FLAGS below for a	discussion
			   about its use.

     recover   Recover a corrupt partition's scheme metadata on	the geom geom.
	       See the section entitled	RECOVERING below for the additional
	       information.

	       Additional options include:

	       -f flags	   Additional operational flags.  See the section en-
			   titled OPERATIONAL FLAGS below for a	discussion
			   about its use.

     resize    Resize a	partition from geom geom and further identified	by the
	       -i index	option.	 New partition size is expressed in logical
	       block numbers and can be	given by the -s	size option.  If -s
	       option is omitted then new size is automatically	calculated to
	       maximum available from given geom geom.

	       Additional options include:

	       -a alignment  If	specified, then	gpart utility tries to align
			     partition size to be multiple of alignment	value.

	       -f flags	     Additional	operational flags.  See	the section
			     entitled OPERATIONAL FLAGS	below for a discussion
			     about its use.

     restore   Restore the partition table from	a backup previously created by
	       the backup action and read from standard	input.	Only the par-
	       tition table is restored.  This action does not affect the con-
	       tent of partitions.  After restoring the	partition table	and
	       writing bootcode	if needed, user	data must be restored from
	       backup.

	       Additional options include:

	       -F	   Destroy partition table on the given	provider be-
			   fore	doing restore.

	       -l	   Restore partition labels for	partitioning schemes
			   that	support	them.

	       -f flags	   Additional operational flags.  See the section en-
			   titled OPERATIONAL FLAGS below for a	discussion
			   about its use.

     set       Set the named attribute on the partition	entry.	See the	sec-
	       tion entitled ATTRIBUTES	below for a list of available at-
	       tributes.

	       Additional options include:

	       -f flags	   Additional operational flags.  See the section en-
			   titled OPERATIONAL FLAGS below for a	discussion
			   about its use.

     show      Show current partition information for the specified geoms, or
	       all geoms if none are specified.	 The default output includes
	       the logical starting block of each partition, the partition
	       size in blocks, the partition index number, the partition type,
	       and a human readable partition size.  Block sizes and locations
	       are based on the	device's Sectorsize as shown by	gpart list.
	       Additional options include:

	       -l	   For partitioning schemes that support partition la-
			   bels, print them instead of partition type.

	       -p	   Show	provider names instead of partition indexes.

	       -r	   Show	raw partition type instead of symbolic name.

     undo      Revert any pending changes for geom geom.  This action is the
	       opposite	of the commit action and can be	used to	undo any
	       changes that have not been committed.

     unset     Clear the named attribute on the	partition entry.  See the sec-
	       tion entitled ATTRIBUTES	below for a list of available at-
	       tributes.

	       Additional options include:

	       -f flags	   Additional operational flags.  See the section en-
			   titled OPERATIONAL FLAGS below for a	discussion
			   about its use.

     list      See geom(8).

     status    See geom(8).

     load      See geom(8).

     unload    See geom(8).

PARTITIONING SCHEMES
     Several partitioning schemes are supported	by the gpart utility:

     APM    Apple Partition Map, used by PowerPC(R) Macintosh(R) computers.
	    Requires the GEOM_PART_APM kernel option.

     BSD    Traditional	BSD disklabel, usually used to subdivide MBR parti-
	    tions.  (This scheme can also be used as the sole partitioning
	    method, without an MBR.  Partition editing tools from other
	    operating systems often do not understand the bare disklabel
	    partition layout, so this is sometimes called "dangerously
	    dedicated".)  Requires the GEOM_PART_BSD kernel option.

     BSD64  64-bit implementation of BSD disklabel used	in DragonFlyBSD	to
	    subdivide MBR or GPT partitions.  Requires the GEOM_PART_BSD64
	    kernel option.

     LDM    The	Logical	Disk Manager is	an implementation of volume manager
	    for	Microsoft Windows NT.  Requires	the GEOM_PART_LDM kernel op-
	    tion.

     GPT    GUID Partition Table is used on Intel-based	Macintosh computers
	    and	gradually replacing MBR	on most	PCs and	other systems.	Re-
	    quires the GEOM_PART_GPT kernel option.

     MBR    Master Boot	Record is used on PCs and removable media.  Requires
	    the	GEOM_PART_MBR kernel option.  The GEOM_PART_EBR	option adds
	    support for	the Extended Boot Record (EBR),	which is used to de-
	    fine a logical partition.  The GEOM_PART_EBR_COMPAT	option enables
	    backward compatibility for partition names in the EBR scheme.  It
	    also prevents any type of actions on such partitions.

     PC98   An MBR variant for NEC PC-98 and compatible	computers.  Requires
	    the	GEOM_PART_PC98 kernel option.

     VTOC8  Sun's SMI Volume Table Of Contents,	used by	SPARC64	and UltraSPARC
	    computers.	Requires the GEOM_PART_VTOC8 kernel option.

PARTITION TYPES
     Partition types are identified on disk by particular strings or magic
     values.  The gpart	utility	uses symbolic names for	common partition types
     so	the user does not need to know these values or other details of	the
     partitioning scheme in question.  The gpart utility also allows the user
     to	specify	scheme-specific	partition types	for partition types that do
     not have symbolic names.  Symbolic	names currently	understood and used by
     FreeBSD are:

     apple-boot		    The	system partition dedicated to storing boot
			    loaders on some Apple systems.  The	scheme-spe-
			    cific types	are "!171" for MBR, "!Apple_Bootstrap"
			    for	APM, and
			    "!426f6f74-0000-11aa-aa11-00306543ecac" for	GPT.

     bios-boot		    The	system partition dedicated to second stage of
			    the	boot loader program.  Usually it is used by
			    the	GRUB 2 loader for GPT partitioning schemes.
			    The	scheme-specific	type is
			    "!21686148-6449-6E6F-744E-656564454649".

     efi		    The	system partition for computers that use	the
			    Extensible Firmware	Interface (EFI).  In such
			    cases, the GPT partitioning	scheme is used and the
			    actual partition type for the system partition can
			    also be specified as
			    "!c12a7328-f81f-11d2-ba4b-00a0c93ec93b".

     freebsd		    A FreeBSD partition	subdivided into	filesystems
			    with a BSD disklabel.  This	is a legacy partition
			    type and should not	be used	for the	APM or GPT
			    schemes.  The scheme-specific types	are "!165" for
			    MBR, "!FreeBSD" for	APM, and
			    "!516e7cb4-6ecf-11d6-8ff8-00022d09712b" for	GPT.

     freebsd-boot	    A FreeBSD partition	dedicated to bootstrap code.
			    The	scheme-specific	type is
			    "!83bd6b9d-7f41-11dc-be0b-001560b84f0f" for	GPT.

     freebsd-swap	    A FreeBSD partition	dedicated to swap space.  The
			    scheme-specific types are "!FreeBSD-swap" for APM,
			    "!516e7cb5-6ecf-11d6-8ff8-00022d09712b" for	GPT,
			    and	tag 0x0901 for VTOC8.

     freebsd-ufs	    A FreeBSD partition	that contains a	UFS or UFS2
			    filesystem.	 The scheme-specific types are
			    "!FreeBSD-UFS" for APM,
			    "!516e7cb6-6ecf-11d6-8ff8-00022d09712b" for	GPT,
			    and	tag 0x0902 for VTOC8.

     freebsd-vinum	    A FreeBSD partition	that contains a	Vinum volume.
			    The	scheme-specific	types are "!FreeBSD-Vinum" for
			    APM, "!516e7cb8-6ecf-11d6-8ff8-00022d09712b" for
			    GPT, and tag 0x0903	for VTOC8.

     freebsd-zfs	    A FreeBSD partition	that contains a	ZFS volume.
			    The	scheme-specific	types are "!FreeBSD-ZFS" for
			    APM, "!516e7cba-6ecf-11d6-8ff8-00022d09712b" for
			    GPT, and 0x0904 for	VTOC8.

     Another symbolic names that can be	used with gpart	utility	are:

     apple-core-storage	    An Apple Mac OS X partition	used by	logical	volume
			    manager known as Core Storage.  The	scheme-spe-
			    cific type is
			    "!53746f72-6167-11aa-aa11-00306543ecac" for	GPT.

     apple-hfs		    An Apple Mac OS X partition	that contains a	HFS or
			    HFS+ filesystem.  The scheme-specific types	are
			    "!175" for MBR, "!Apple_HFS" for APM and
			    "!48465300-0000-11aa-aa11-00306543ecac" for	GPT.

     apple-label	    An Apple Mac OS X partition	dedicated to partition
			    metadata that descibes disk	device.	 The scheme-
			    specific type is
			    "!4c616265-6c00-11aa-aa11-00306543ecac" for	GPT.

     apple-raid		    An Apple Mac OS X partition	used in	a software
			    RAID configuration.	 The scheme-specific type is
			    "!52414944-0000-11aa-aa11-00306543ecac" for	GPT.

     apple-raid-offline	    An Apple Mac OS X partition	used in	a software
			    RAID configuration.	 The scheme-specific type is
			    "!52414944-5f4f-11aa-aa11-00306543ecac" for	GPT.

     apple-tv-recovery	    An Apple Mac OS X partition	used by	Apple TV.  The
			    scheme-specific type is
			    "!5265636f-7665-11aa-aa11-00306543ecac" for	GPT.

     apple-ufs		    An Apple Mac OS X partition	that contains a	UFS
			    filesystem.	 The scheme-specific types are "!168"
			    for	MBR, "!Apple_UNIX_SVR2"	for APM	and
			    "!55465300-0000-11aa-aa11-00306543ecac" for	GPT.

     dragonfly-label32	    A DragonFlyBSD partition subdivided	into filesys-
			    tems with a	BSD disklabel.	The scheme-specific
			    type is "!9d087404-1ca5-11dc-8817-01301bb8a9f5"
			    for	GPT.

     dragonfly-label64	    A DragonFlyBSD partition subdivided	into filesys-
			    tems with a	disklabel64.  The scheme-specific type
			    is "!3d48ce54-1d16-11dc-8696-01301bb8a9f5" for
			    GPT.

     dragonfly-legacy	    A legacy partition type used in DragonFlyBSD.  The
			    scheme-specific type is
			    "!bd215ab2-1d16-11dc-8696-01301bb8a9f5" for	GPT.

     dragonfly-ccd	    A DragonFlyBSD partition used with Concatenated
			    Disk driver.  The scheme-specific type is
			    "!dbd5211b-1ca5-11dc-8817-01301bb8a9f5" for	GPT.

     dragonfly-hammer	    A DragonFlyBSD partition that contains a Hammer
			    filesystem.	 The scheme-specific type is
			    "!61dc63ac-6e38-11dc-8513-01301bb8a9f5" for	GPT.

     dragonfly-hammer2	    A DragonFlyBSD partition that contains a Hammer2
			    filesystem.	 The scheme-specific type is
			    "!5cbb9ad1-862d-11dc-a94d-01301bb8a9f5" for	GPT.

     dragonfly-swap	    A DragonFlyBSD partition dedicated to swap space.
			    The	scheme-specific	type is
			    "!9d58fdbd-1ca5-11dc-8817-01301bb8a9f5" for	GPT.

     dragonfly-ufs	    A DragonFlyBSD partition that contains an UFS1
			    filesystem.	 The scheme-specific type is
			    "!9d94ce7c-1ca5-11dc-8817-01301bb8a9f5" for	GPT.

     dragonfly-vinum	    A DragonFlyBSD partition used with Logical Volume
			    Manager.  The scheme-specific type is
			    "!9dd4478f-1ca5-11dc-8817-01301bb8a9f5" for	GPT.

     ebr		    A partition	subdivided into	filesystems with a
			    EBR.  The scheme-specific type is "!5" for MBR.

     fat16		    A partition	that contains a	FAT16 filesystem.  The
			    scheme-specific type is "!6" for MBR.

     fat32		    A partition	that contains a	FAT32 filesystem.  The
			    scheme-specific type is "!11" for MBR.

     linux-data		    A Linux partition that contains some filesystem
			    with data.	The scheme-specific types are "!131"
			    for	MBR and
			    "!0fc63daf-8483-4772-8e79-3d69d8477de4" for	GPT.

     linux-lvm		    A Linux partition dedicated	to Logical Volume Man-
			    ager.  The scheme-specific types are "!142"	for
			    MBR	and "!e6d6d379-f507-44c2-a23c-238f2a3df928"
			    for	GPT.

     linux-raid		    A Linux partition used in a	software RAID configu-
			    ration.  The scheme-specific types are "!253" for
			    MBR	and "!a19d880f-05fc-4d3b-a006-743f0f84911e"
			    for	GPT.

     linux-swap		    A Linux partition dedicated	to swap	space.	The
			    scheme-specific types are "!130" for MBR and
			    "!0657fd6d-a4ab-43c4-84e5-0933c84b4f4f" for	GPT.

     mbr		    A partition	that is	sub-partitioned	by a Master
			    Boot Record	(MBR).	This type is known as
			    "!024dee41-33e7-11d3-9d69-0008c781f39f" by GPT.

     ms-basic-data	    A basic data partition (BDP) for Microsoft operat-
			    ing	systems.  In the GPT this type is the equiva-
			    lent to partition types fat16, fat32 and ntfs in
			    MBR.  The scheme-specific type is
			    "!ebd0a0a2-b9e5-4433-87c0-68b6b72699c7" for	GPT.

     ms-ldm-data	    A partition	that contains Logical Disk Manager
			    (LDM) volumes.  The	scheme-specific	types are
			    "!66" for MBR,
			    "!af9b60a0-1431-4f62-bc68-3311714a69ad" for	GPT.

     ms-ldm-metadata	    A partition	that contains Logical Disk Manager
			    (LDM) database.  The scheme-specific type is
			    "!5808c8aa-7e8f-42e0-85d2-e1e90434cfb3" for	GPT.

     netbsd-ccd		    A NetBSD partition used with Concatenated Disk
			    driver.  The scheme-specific type is
			    "!2db519c4-b10f-11dc-b99b-0019d1879648" for	GPT.

     netbsd-cgd		    An encrypted NetBSD	partition.  The	scheme-spe-
			    cific type is
			    "!2db519ec-b10f-11dc-b99b-0019d1879648" for	GPT.

     netbsd-ffs		    A NetBSD partition that contains an	UFS filesys-
			    tem.  The scheme-specific type is
			    "!49f48d5a-b10e-11dc-b99b-0019d1879648" for	GPT.

     netbsd-lfs		    A NetBSD partition that contains an	LFS filesys-
			    tem.  The scheme-specific type is
			    "!49f48d82-b10e-11dc-b99b-0019d1879648" for	GPT.

     netbsd-raid	    A NetBSD partition used in a software RAID config-
			    uration.  The scheme-specific type is
			    "!49f48daa-b10e-11dc-b99b-0019d1879648" for	GPT.

     netbsd-swap	    A NetBSD partition dedicated to swap space.	 The
			    scheme-specific type is
			    "!49f48d32-b10e-11dc-b99b-0019d1879648" for	GPT.

     ntfs		    A partition	that contains a	NTFS or	exFAT filesys-
			    tem.  The scheme-specific type is "!7" for MBR.

     prep-boot		    The	system partition dedicated to storing boot
			    loaders on some PowerPC systems, notably those
			    made by IBM.  The scheme-specific types are	"!65"
			    for	MBR and
			    "!0x9e1a2d38-c612-4316-aa26-8b49521e5a8b" for GPT.

     vmware-vmfs	    A partition	that contains a	VMware File System
			    (VMFS).  The scheme-specific types are "!251" for
			    MBR	and "!aa31e02a-400f-11db-9590-000c2911d1b8"
			    for	GPT.

     vmware-vmkdiag	    A partition	that contains a	VMware diagostic
			    filesystem.	 The scheme-specific types are "!252"
			    for	MBR and
			    "!9d275380-40ad-11db-bf97-000c2911d1b8" for	GPT.

     vmware-reserved	    A VMware reserved partition.  The scheme-specific
			    type is "!9198effc-31c0-11db-8f-78-000c2911d1b8"
			    for	GPT.

     vmware-vsanhdr	    A partition	claimed	by VMware VSAN.	 The scheme-
			    specific type is
			    "!381cfccc-7288-11e0-92ee-000c2911d0b2" for	GPT.

ATTRIBUTES
     The scheme-specific attributes for	EBR:

     active

     The scheme-specific attributes for	GPT:

     bootme	 When set, the gptboot stage 1 boot loader will	try to boot
		 the system from this partition.  Multiple partitions can be
		 marked	with the bootme	attribute.  See	gptboot(8) for more
		 details.

     bootonce	 Setting this attribute	automatically sets the bootme attri-
		 bute.	When set, the gptboot stage 1 boot loader will try to
		 boot the system from this partition only once.	 Multiple par-
		 titions can be	marked with the	bootonce and bootme attribute
		 pairs.	 See gptboot(8)	for more details.

     bootfailed	 This attribute	should not be manually managed.	 It is managed
		 by the	gptboot	stage 1	boot loader and	the /etc/rc.d/gptboot
		 start-up script.  See gptboot(8) for more details.

     lenovofix	 Setting this attribute	overwrites the Protective MBR with a
		 new one where the 0xee	partition is the second, rather	than
		 the first record.  This resolves a BIOS compatibility issue
		 with some Lenovo models including the X220, T420, and T520,
		 allowing them to boot from GPT	partitioned disks without us-
		 ing EFI.

     The scheme-specific attributes for	MBR:

     active

     The scheme-specific attributes for	PC98:

     active

     bootable

BOOTSTRAPPING
     FreeBSD supports several partitioning schemes and each scheme uses	dif-
     ferent bootstrap code.  The bootstrap code	is located in a	specific disk
     area for each partitioning	scheme,	and may	vary in	size for different
     schemes.

     Bootstrap code can	be separated into two types.  The first	type is	embed-
     ded in the	partitioning scheme's metadata,	while the second type is lo-
     cated on a	specific partition.  Embedding bootstrap code should only be
     done with the gpart bootcode command with the -b bootcode option.	The
     GEOM PART class knows how to safely embed bootstrap code into specific
     partitioning scheme metadata without causing any damage.

     The Master	Boot Record (MBR) uses a 512-byte bootstrap code image,	embed-
     ded into the partition table's metadata area.  There are two variants of
     this bootstrap code: /boot/mbr and	/boot/boot0.  /boot/mbr	searches for a
     partition with the	active attribute (see the ATTRIBUTES section) in the
     partition table.  Then it runs next bootstrap stage.  The /boot/boot0 im-
     age contains a boot manager with some additional interactive functions
     for multi-booting from a user-selected partition.

     A BSD disklabel is	usually	created	inside an MBR partition	(slice)	with
     type freebsd (see the PARTITION TYPES section).  It uses 8	KB size	boot-
     strap code	image /boot/boot, embedded into	the partition table's metadata
     area.

     Both types	of bootstrap code are used to boot from	the GUID Partition Ta-
     ble.  First, a protective MBR is embedded into the	first disk sector from
     the /boot/pmbr image.  It searches	through	the GPT	for a freebsd-boot
     partition (see the	PARTITION TYPES	section) and runs the next bootstrap
     stage from	it.  The freebsd-boot partition	should be smaller than 545 KB.
     It	can be located either before or	after other FreeBSD partitions on the
     disk.  There are two variants of bootstrap	code to	write to this parti-
     tion: /boot/gptboot and /boot/gptzfsboot.

     /boot/gptboot is used to boot from	UFS partitions.	 gptboot searches
     through freebsd-ufs partitions in the GPT and selects one to boot based
     on	the bootonce and bootme	attributes.  If	neither	attribute is found,
     /boot/gptboot boots from the first	freebsd-ufs partition.	/boot/loader
     (the third	bootstrap stage) is loaded from	the first partition that
     matches these conditions.	See gptboot(8) for more	information.

     /boot/gptzfsboot is used to boot from ZFS.	 It searches through the GPT
     for freebsd-zfs partitions, trying	to detect ZFS pools.  After all	pools
     are detected, /boot/zfsloader is started from the first one found.

     The VTOC8 scheme does not support embedding bootstrap code.  Instead, the
     8 KBytes bootstrap	code image /boot/boot1 should be written with the
     gpart bootcode command with the -p	bootcode option	to all sufficiently
     large VTOC8 partitions.  To do this the -i	index option could be omitted.

     The APM scheme also does not support embedding bootstrap code.  Instead,
     the 800 KBytes bootstrap code image /boot/boot1.hfs should	be written
     with the gpart bootcode command to	a partition of type apple-boot,	which
     should also be 800	KB in size.

OPERATIONAL FLAGS
     Actions other than	the commit and undo actions take an optional -f	flags
     option.  This option is used to specify action-specific operational
     flags.  By	default, the gpart utility defines the `C' flag	so that	the
     action is immediately committed.  The user	can specify "-f	x" to have the
     action result in a	pending	change that can	later, with other pending
     changes, be committed as a	single compound	change with the	commit action
     or	reverted with the undo action.

RECOVERING
     The GEOM PART class supports recovering of	partition tables only for GPT.
     The GPT primary metadata is stored	at the beginning of the	device.	 For
     redundancy, a secondary (backup) copy of the metadata is stored at	the
     end of the	device.	 As a result of	having two copies, some	corruption of
     metadata is not fatal to the working of GPT.  When	the kernel detects
     corrupt metadata, it marks	this table as corrupt and reports the problem.
     destroy and recover are the only operations allowed on corrupt tables.

     If	one GPT	header appears to be corrupt but the other copy	remains	in-
     tact, the kernel will log the following:

	   GEOM: provider: the primary GPT table is corrupt or invalid.
	   GEOM: provider: using the secondary instead -- recovery strongly advised.

     or

	   GEOM: provider: the secondary GPT table is corrupt or invalid.
	   GEOM: provider: using the primary only -- recovery suggested.

     Also gpart	commands such as show, status and list will report about cor-
     rupt tables.

     If	the size of the	device has changed (e.g., volume expansion) the	sec-
     ondary GPT	header will no longer be located in the	last sector.  This is
     not a metadata corruption,	but it is dangerous because any	corruption of
     the primary GPT will lead to loss of the partition	table.	This problem
     is	reported by the	kernel with the	message:

	   GEOM: provider: the secondary GPT header is not in the last LBA.

     This situation can	be recovered with the recover command.	This command
     reconstructs the corrupt metadata using known valid metadata and relo-
     cates the secondary GPT to	the end	of the device.

     NOTE: The GEOM PART class can detect the same partition table visible
     through different GEOM providers, and some	of them	will be	marked as cor-
     rupt.  Be careful when choosing a provider	for recovery.  If you choose
     incorrectly you can destroy the metadata of another GEOM class, e.g.,
     GEOM MIRROR or GEOM LABEL.

SYSCTL VARIABLES
     The following sysctl(8) variables can be used to control the behavior of
     the PART GEOM class.  The default value is	shown next to each variable.

     kern.geom.part.check_integrity: 1
	     This variable controls the	behaviour of metadata integrity
	     checks.  When integrity checks are	enabled, the PART GEOM class
	     verifies all generic partition parameters obtained	from the disk
	     metadata.	If some	inconsistency is detected, the partition table
	     will be rejected with a diagnostic	message: GEOM_PART: Integrity
	     check failed (provider, scheme).

     kern.geom.part.ldm.debug: 0
	     Debug level of the	Logical	Disk Manager (LDM) module.  This can
	     be	set to a number	between	0 and 2	inclusive.  If set to 0	mini-
	     mal debug information is printed, and if set to 2 the maximum
	     amount of debug information is printed.

     kern.geom.part.ldm.show_mirrors: 0
	     This variable controls how	the Logical Disk Manager (LDM) module
	     handles mirrored volumes.	By default mirrored volumes are	shown
	     as	partitions with	type ms-ldm-data (see the PARTITION TYPES sec-
	     tion).  If	this variable set to 1 each component of the mirrored
	     volume will be present as independent partition.  NOTE: This may
	     break a mirrored volume and lead to data damage.

     kern.geom.part.mbr.enforce_chs: 0
	     Specify how the Master Boot Record	(MBR) module does alignment.
	     If	this variable is set to	a non-zero value, the module will au-
	     tomatically recalculate the user-specified	offset and size	for
	     alignment with the	CHS geometry.  Otherwise the values will be
	     left unchanged.

EXIT STATUS
     Exit status is 0 on success, and 1	if the command fails.

EXAMPLES
     The examples below	assume that the	disk's logical block size is 512
     bytes, regardless of its physical block size.

   GPT
     In	this example, we will format ada0 with the GPT scheme and create boot,
     swap and root partitions.	First, we need to create the partition table:

	   /sbin/gpart create -s GPT ada0

     Next, we install a	protective MBR with the	first-stage bootstrap code.
     The protective MBR	lists a	single,	bootable partition spanning the	entire
     disk, thus	allowing non-GPT-aware BIOSes to boot from the disk and	pre-
     venting tools which do not	understand the GPT scheme from considering the
     disk to be	unformatted.

	   /sbin/gpart bootcode	-b /boot/pmbr ada0

     We	then create a dedicated	freebsd-boot partition to hold the second-
     stage boot	loader,	which will load	the FreeBSD kernel and modules from a
     UFS or ZFS	filesystem.  This partition must be larger than	the bootstrap
     code (either /boot/gptboot	for UFS	or /boot/gptzfsboot for	ZFS), but
     smaller than 545 kB since the first-stage loader will load	the entire
     partition into memory during boot,	regardless of how much data it actu-
     ally contains.  We	create a 472-block (236	kB) boot partition at offset
     40, which is the size of the partition table (34 blocks or	17 kB) rounded
     up	to the nearest 4 kB boundary.

	   /sbin/gpart add -b 40 -s 472	-t freebsd-boot	ada0
	   /sbin/gpart bootcode	-p /boot/gptboot -i 1 ada0

     We	now create a 4 GB swap partition at the	first available	offset,	which
     is	40 + 472 = 512 blocks (256 kB).

	   /sbin/gpart add -s 4G -t freebsd-swap ada0

     Aligning the swap partition and all subsequent partitions on a 256	kB
     boundary ensures optimal performance on a wide range of media, from plain
     old disks with 512-byte blocks, through modern "advanced format" disks
     with 4096-byte physical blocks, to	RAID volumes with stripe sizes of up
     to	256 kB.

     Finally, we create	and format an 8	GB freebsd-ufs partition for the root
     filesystem, leaving the rest of the slice free for	additional filesys-
     tems:

	   /sbin/gpart add -s 8G -t freebsd-ufs	ada0
	   /sbin/newfs -Uj /dev/ada0p3

   MBR
     In	this example, we will format ada0 with the MBR scheme and create a
     single partition which we subdivide using a traditional BSD disklabel.

     First, we create the partition table and a	single 64 GB partition,	then
     we	mark that partition active (bootable) and install the first-stage boot
     loader:

	   /sbin/gpart create -s MBR ada0
	   /sbin/gpart add -t freebsd -s 64G ada0
	   /sbin/gpart set -a active -i	1 ada0
	   /sbin/gpart bootcode	-b /boot/boot0 ada0

     Next, we create a disklabel in that partition ("slice" in disklabel
     terminology) with room for	up to 20 partitions:

	   /sbin/gpart create -s BSD -n	20 ada0s1

     We	then create an 8 GB root partition and a 4 GB swap partition:

	   /sbin/gpart add -t freebsd-ufs -s 8G	ada0s1
	   /sbin/gpart add -t freebsd-swap -s 4G ada0s1

     Finally, we install the appropriate boot loader for the BSD label:

	   /sbin/gpart bootcode	-b /boot/boot ada0s1

   VTOC8
     Create a VTOC8 scheme on da0:

	   /sbin/gpart create -s VTOC8 da0

     Create a 512MB-sized freebsd-ufs partition	to contain a UFS filesystem
     from which	the system can boot.

	   /sbin/gpart add -s 512M -t freebsd-ufs da0

     Create a 15GB-sized freebsd-ufs partition to contain a UFS	filesystem and
     aligned on	4KB boundaries:

	   /sbin/gpart add -s 15G -t freebsd-ufs -a 4k da0

     After creating all	required partitions, embed bootstrap code into them:

	   /sbin/gpart bootcode	-p /boot/boot1 da0

   Backup and Restore
     Create a backup of	the partition table from da0:

	   /sbin/gpart backup da0 > da0.backup

     Restore the partition table from the backup to da0:

	   /sbin/gpart restore -l da0 <	/mnt/da0.backup

     Clone the partition table from ada0 to ada1 and ada2:

	   /sbin/gpart backup ada0 | /sbin/gpart restore -F ada1 ada2

SEE ALSO
     geom(4), boot0cfg(8), geom(8), gptboot(8)

HISTORY
     The gpart utility appeared	in FreeBSD 7.0.

AUTHORS
     Marcel Moolenaar <marcel@FreeBSD.org>

FreeBSD	13.0			 July 25, 2016			  FreeBSD 13.0

NAME | SYNOPSIS | DESCRIPTION | PARTITIONING SCHEMES | PARTITION TYPES | ATTRIBUTES | BOOTSTRAPPING | OPERATIONAL FLAGS | RECOVERING | SYSCTL VARIABLES | EXIT STATUS | EXAMPLES | SEE ALSO | HISTORY | AUTHORS

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=gpart&sektion=8&manpath=FreeBSD+11.3-RELEASE>

home | help