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

FreeBSD Manual Pages

  
 
  

home | help
GPART(8)		    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 [-N] [-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 type must be specified with -t type.  The  par-
		 tition's  location, size, and other attributes	will be	calcu-
		 lated automatically if	 the  corresponding  options  are  not
		 specified.

		 The add command accepts these options:

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

		 -b start      The  logical  block address where the partition
			       will begin.  An SI unit suffix is allowed.

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

		 -i index      The index in the	partition table	at  which  the
			       new  partition  is to be	placed.	 The index de-
			       termines	the name of the	 device	 special  file
			       used to represent the partition.

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

		 -s size       Create  a  partition  of	size size.  An SI unit
			       suffix is allowed.

		 -t type       Create a	partition  of  type  type.   Partition
			       types  are discussed below in the section enti-
			       tled "PARTITION TYPES".

       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).

		 The bootcode command accepts these options:

		 -N	     Do	not preserve the Volume	Serial Number for MBR.
			     MBR bootcode contains Volume Serial Number	by de-
			     fault, and	gpart tries to preserve	 it  when  in-
			     stalling  new  bootstrap code.  This option skips
			     preservation  to  help  with  some	 versions   of
			     boot0cfg(8)  that	do  not	 support Volume	Serial
			     Number.

		 -b bootcode
			     Embed bootstrap code from the file	bootcode  into
			     the partitioning scheme's metadata	for geom.  Not
			     all  partitioning schemes have embedded bootstrap
			     code, so the -b bootcode  option  is  scheme-spe-
			     cific   in	  nature  (see	the  section  entitled
			     "BOOTSTRAPPING" below).  The bootcode  file  must
			     match  the	partitioning scheme's requirements for
			     file content and size.

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

		 -i index    Specify the target	partition for -p partcode.

		 -p partcode
			     Write the bootstrap code from the	file  partcode
			     into  the	geom  partition	specified by -i	index.
			     The size of the file must	be  smaller  than  the
			     size of the partition.

       commit	 Commit	 any  pending  changes for geom	geom.  All actions are
		 committed by default and will not result in pending  changes.
		 Actions can be	modified with the -f flags option so that they
		 are  not  committed, but become pending.  Pending changes are
		 reflected by the geom and the gpart utility, but they are not
		 actually written to disk.  The	commit action will  write  all
		 pending changes to disk.

       create	 Create	 a  new	 partitioning  scheme  on  a provider given by
		 provider.  The	scheme to use must be specified	 with  the  -s
		 scheme	option.

		 The create command accepts these options:

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

		 -n entries  The  number  of  entries  in the partition	table.
			     Every partitioning	scheme has a minimum and maxi-
			     mum 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 max-
			     imum large	enough to be considered	unlimited.  By
			     default, partition	tables are  created  with  the
			     minimum number of entries.

		 -s scheme   Specify the partitioning scheme to	use.  The ker-
			     nel must have support for a particular scheme be-
			     fore that scheme can be used to partition a disk.

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

		 The delete command accepts these options:

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

		 -i index    Specifies	the  index  of	the  partition	to  be
			     deleted.

       destroy	 Destroy the partitioning scheme as implemented	by geom	geom.

		 The destroy command accepts these options:

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

		 -f flags    Additional	 operational  flags.   See the section
			     entitled "OPERATIONAL FLAGS" below	for a  discus-
			     sion 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  par-
		 tition	can be modified.  Not all partitioning schemes support
		 labels	 and  it is invalid to try to change a partition label
		 in such cases.

		 The modify command accepts these options:

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

		 -i index    Specifies the index of the	partition to be	 modi-
			     fied.

		 -l label    Change the	partition label	to label.

		 -t type     Change the	partition type to type.

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

		 The recover command accepts these options:

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

       resize	 Resize	 a  partition from geom	geom and further identified by
		 the -i	index option.  If the new size is not specified	it  is
		 automatically	calculated  to	be  the	maximum	available from
		 geom.

		 The resize command accepts these options:

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

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

		 -i index      Specifies the index of the partition to be  re-
			       sized.

		 -s size       Specifies  the  new  size  of the partition, in
			       logical blocks.	An SI unit suffix is allowed.

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

		 The restore command accepts these options:

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

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

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

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

		 The set command accepts these options:

		 -a attrib   Specifies the attribute to	set.

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

		 -i index    Specifies the index of the	partition on which the
			     attribute will be set.

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

		 The show command accepts these	options:

		 -l	     For  partitioning	schemes	that support partition
			     labels, 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
		 section entitled "ATTRIBUTES" below for a list	 of  available
		 attributes.

		 The unset command accepts these options:

		 -a attrib   Specifies the attribute to	clear.

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

		 -i index    Specifies the index of the	partition on which the
			     attribute will be cleared.

       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(8), usually used to subdivide MBR par-
	      titions.	(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 DragonFly to sub-
	      divide MBR or GPT	partitions.  Requires the GEOM_PART_BSD64 ker-
	      nel 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 en-
	      ables backward compatibility for	partition  names  in  the  EBR
	      scheme.	It  also  prevents  any	type of	actions	on such	parti-
	      tions.

       See glabel(8) for additional information	on labelization	of devices and
       partitions.

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).	   The
			      scheme-specific  types  are  "!239" for MBR, and
			      "!c12a7328-f81f-11d2-ba4b-00a0c93ec93b" for GPT.

       freebsd		      A	FreeBSD	partition subdivided into  filesystems
			      with  a  BSD disklabel.  This is a legacy	parti-
			      tion 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,		   and
			      "!516e7cb5-6ecf-11d6-8ff8-00022d09712b" for GPT.

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

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

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

       Other symbolic names that can be	used with the gpart utility are:

       apple-apfs	      An Apple macOS partition used for	the Apple file
			      system, APFS.

       apple-core-storage     An Apple Mac OS X	partition used by logical vol-
			      ume manager known	as Core	Storage.  The  scheme-
			      specific		       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	parti-
			      tion 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.

       apple-zfs	      An  Apple	Mac OS X partition that	contains a ZFS
			      volume.	  The	 scheme-specific    type    is
			      "!6a898cc3-1dd2-11b2-99a6-080020736631" for GPT.
			      The   same   GUID	  is   being   used  also  for
			      illumos/Solaris /usr partition.	See  "CAVEATS"
			      section below.

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

       dragonfly-label64      A	DragonFly 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 DragonFly.  The
			      scheme-specific		  type		    is
			      "!bd215ab2-1d16-11dc-8696-01301bb8a9f5" for GPT.

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

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

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

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

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

       dragonfly-vinum	      A	 DragonFly  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.

       fat32lba		      A	partition that contains	a FAT32	(LBA) filesys-
			      tem.  The	scheme-specific	type is	"!12" for MBR.

       hifive-fsbl	      A	raw partition containing a HiFive first	 stage
			      bootloader.    The   scheme-specific   type   is
			      "!5b193300-fc78-40cd-8002-e86c45580b47" for GPT.

       hifive-bbl	      A	raw partition containing a HiFive second stage
			      bootloader.    The   scheme-specific   type   is
			      "!2e54b353-1271-4842-806f-e436d6af6985" for GPT.

       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
			      Manager.	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  con-
			      figuration.    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 oper-
			      ating  systems.	In  the	 GPT  this type	is the
			      equivalent to partition types fat16,  fat32  and
			      ntfs  in	MBR.   This type is used for GPT exFAT
			      partitions.    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  con-
			      figuration.    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
			      filesystem.  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
			      "!9e1a2d38-c612-4316-aa26-8b49521e5a8b" for GPT.

       solaris-boot	      A	 illumos/Solaris  partition  dedicated to boot
			      loader.	  The	 scheme-specific    type    is
			      "!6a82cb45-1dd2-11b2-99a6-080020736631" for GPT.

       solaris-root	      A	 illumos/Solaris  partition  dedicated to root
			      filesystem.    The   scheme-specific   type   is
			      "!6a85cf4d-1dd2-11b2-99a6-080020736631" for GPT.

       solaris-swap	      A	 illumos/Solaris  partition dedicated to swap.
			      The	 scheme-specific	type	    is
			      "!6a87c46f-1dd2-11b2-99a6-080020736631" for GPT.

       solaris-backup	      A	illumos/Solaris	partition dedicated to backup.
			      The	 scheme-specific	type	    is
			      "!6a8b642b-1dd2-11b2-99a6-080020736631" for GPT.

       solaris-var	      A	illumos/Solaris	partition  dedicated  to  /var
			      filesystem.    The   scheme-specific   type   is
			      "!6a8ef2e9-1dd2-11b2-99a6-080020736631" for GPT.

       solaris-home	      A	illumos/Solaris	partition dedicated  to	 /home
			      filesystem.    The   scheme-specific   type   is
			      "!6a90ba39-1dd2-11b2-99a6-080020736631" for GPT.

       solaris-altsec	      A	illumos/Solaris	partition dedicated to	alter-
			      nate   sector.	The  scheme-specific  type  is
			      "!6a9283a5-1dd2-11b2-99a6-080020736631" for GPT.

       solaris-reserved	      A	illumos/Solaris	 partition  dedicated  to  re-
			      served   space.	The  scheme-specific  type  is
			      "!6a945a3b-1dd2-11b2-99a6-080020736631" 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-spe-
			      cific		      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  at-
		   tribute.   When  set,  the gptboot stage 1 boot loader will
		   try to boot the system from this partition only once.  Mul-
		   tiple partitions 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  man-
		   aged	  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
		   using EFI.

       The scheme-specific attributes for MBR:

       active

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  dif-
       ferent schemes.

       Bootstrap  code can be separated	into two types.	 The first type	is em-
       bedded in the partitioning scheme's metadata, while the second type  is
       located	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 spe-
       cific partitioning scheme metadata without causing any damage.

       The Master Boot Record (MBR) uses a 512-byte bootstrap code image,  em-
       bedded  into  the partition table's metadata area.  There are two vari-
       ants 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	 boot-
       strap  stage.   The /boot/boot0 image 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
       bootstrap  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
       Table.	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 partition:	/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/loader	is started from	the  first  one	 found
       set as bootable.

       The  APM	 scheme	 also  does not	support	embedding bootstrap code.  In-
       stead, 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	opera-
       tional 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 de-
       vice.  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 al-
       lowed 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
       corrupt 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 corrup-
       tion 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
       corrupt.	  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	 vari-
       able.

       kern.geom.part.allow_nesting: 0
	       By  default, some schemes (currently BSD	and BSD64) do not per-
	       mit further nested partitioning.	 This variable overrides  this
	       restriction  and	allows arbitrary nesting (except within	parti-
	       tions created at	offset 0).  Some schemes have their own	 sepa-
	       rate checks, for	which see below.

       kern.geom.part.auto_resize: 1
	       This  variable  controls	 automatic resize behavior of the PART
	       GEOM class.  When this variable	is  enable  and	 new  size  of
	       provider	 is  detected,	the schema metadata is resized but all
	       changes are not saved to	disk, until gpart  commit  is  run  to
	       confirm	changes.  This behavior	is also	reported with diagnos-
	       tic message: GEOM_PART: (provider) was  automatically  resized.
	       Use  `gpart  commit  (provider)`	to save	changes	or `gpart undo
	       (provider)` to revert them.

       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	parti-
	       tion   table  will  be  rejected	 with  a  diagnostic  message:
	       GEOM_PART: Integrity check failed (provider, scheme).

       kern.geom.part.gpt.allow_nesting: 0
	       By default the GPT scheme is  allowed  only  at	the  outermost
	       nesting level.  This variable allows this restriction to	be re-
	       moved.

       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 min-
	       imal  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)  mod-
	       ule  handles mirrored volumes.  By default mirrored volumes are
	       shown as	partitions with	type ms-ldm-data (see  the  "PARTITION
	       TYPES"  section).   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
	       automatically recalculate the user-specified  offset  and  size
	       for alignment with the CHS geometry.  Otherwise the values will
	       be left unchanged.

       kern.geom.part.separator:
	       Specify an optional separator that will be inserted between the
	       GEOM  name  and	partition  name.  This variable	is a loader(8)
	       tunable.	 Note that setting this	variable  may  break  software
	       which assumes a particular naming scheme.

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  en-
       tire disk, thus allowing	non-GPT-aware BIOSes to	boot from the disk and
       preventing  tools which do not understand the GPT scheme	from consider-
       ing 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	 boot-
       strap  code (either /boot/gptboot for UFS or /boot/gptzfsboot for ZFS),
       but smaller than	545 kB since the first-stage loader will load the  en-
       tire  partition into memory during boot,	regardless of how much data it
       actually	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 device free	for additional
       filesystems:

	     /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 as well as a single partition 64
       GB in size and an alignment of 4	kB, 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 -a 4k 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

   Deleting Partitions and Destroying the Partitioning Scheme
       If  a Device busy error is shown	when trying to destroy a partition ta-
       ble, remember that all of the partitions	must be	deleted	first with the
       delete action.  In this example,	da0 has	three partitions:

	     /sbin/gpart delete	-i 3 da0
	     /sbin/gpart delete	-i 2 da0
	     /sbin/gpart delete	-i 1 da0
	     /sbin/gpart destroy da0

       Rather than deleting each partition and then destroying the  partition-
       ing  scheme,  the  -F option can	be given with destroy to delete	all of
       the partitions before destroying	 the  partitioning  scheme.   This  is
       equivalent to the previous example:

	     /sbin/gpart destroy -F 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), glabel(8), gptboot(8)

HISTORY
       The gpart utility appeared in FreeBSD 7.0.

AUTHORS
       Marcel Moolenaar	<marcel@FreeBSD.org>

CAVEATS
       Partition type apple-zfs	(6a898cc3-1dd2-11b2-99a6-080020736631) is also
       being used on illumos/Solaris platforms for ZFS volumes.

FreeBSD	13.2			 July 26, 2023			      GPART(8)

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

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

home | help