You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
620 lines
27 KiB
620 lines
27 KiB
.\" Copyright 2011-2018 Roderick W. Smith (rodsmith@rodsbooks.com)
|
|
.\" May be distributed under the GNU General Public License
|
|
.TH "SGDISK" "8" "1.0.4" "Roderick W. Smith" "GPT fdisk Manual"
|
|
.SH "NAME"
|
|
sgdisk \- Command\-line GUID partition table (GPT) manipulator for Linux and Unix
|
|
.SH "SYNOPSIS"
|
|
.BI "sgdisk "
|
|
[ options ]
|
|
.I device
|
|
|
|
.SH "DESCRIPTION"
|
|
GPT fdisk is a text\-mode menu\-driven package for creation and manipulation of
|
|
partition tables. It consists of two programs: the text\-mode interactive
|
|
\fBgdisk\fR and the command\-line \fBsgdisk\fR. Either program will
|
|
automatically convert an old\-style Master Boot Record (MBR) partition table
|
|
or BSD disklabel stored without an MBR carrier partition to the newer Globally
|
|
Unique Identifier (GUID) Partition Table (GPT) format, or will load a GUID
|
|
partition table. This man page documents the command\-line \fBsgdisk\fR
|
|
program.
|
|
|
|
Some advanced data manipulation and
|
|
recovery options require you to understand the distinctions between the
|
|
main and backup data, as well as between the GPT headers and the partition
|
|
tables. For information on MBR vs. GPT, as well as GPT terminology and
|
|
structure, see the extended \fBgdisk\fR documentation at
|
|
\fIhttp://www.rodsbooks.com/gdisk/\fR or consult Wikipedia.
|
|
|
|
The \fBsgdisk\fR program employs a user interface that's based entirely on
|
|
the command line, making it suitable for use in scripts or by experts who
|
|
want to make one or two quick changes to a disk. (The program may query the
|
|
user when certain errors are encountered, though.) The program's name is
|
|
based on \fBsfdisk\fR, but the user options of the two programs are
|
|
entirely different from one another.
|
|
|
|
Ordinarily, \fBsgdisk\fR operates on disk device files, such as
|
|
\fI/dev/sda\fR or \fI/dev/hda\fR under Linux, \fI/dev/disk0\fR under
|
|
Mac OS X, or \fI/dev/ad0\fR or \fI/dev/da0\fR under FreeBSD. The program
|
|
can also operate on disk image files, which can be either copies of whole
|
|
disks (made with \fBdd\fR, for instance) or raw disk images used by
|
|
emulators such as QEMU or VMWare. Note that only \fIraw\fR disk images
|
|
are supported; \fBsgdisk\fR cannot work on compressed or other advanced
|
|
disk image formats.
|
|
|
|
The MBR partitioning system uses a combination of cylinder/head/sector
|
|
(CHS) addressing and logical block addressing (LBA). The former is klunky
|
|
and limiting. GPT drops CHS addressing and uses 64\-bit LBA mode
|
|
exclusively. Thus, GPT data structures, and therefore
|
|
\fBsgdisk\fR, do not need to deal with CHS geometries and all the problems
|
|
they create.
|
|
|
|
For best results, you should use an OS\-specific partition table
|
|
program whenever possible. For example, you should make Mac OS X
|
|
partitions with the Mac OS X Disk Utility program and Linux partitions
|
|
with the Linux \fBgdisk\fR, \fBsgdisk\fR, or GNU Parted programs.
|
|
|
|
Upon start, \fBsgdisk\fR attempts to identify the partition type in use on
|
|
the disk. If it finds valid GPT data, \fBsgdisk\fR will use it. If
|
|
\fBsgdisk\fR finds a valid MBR or BSD disklabel but no GPT data, it will
|
|
attempt to convert the MBR or disklabel into GPT form. (BSD disklabels are
|
|
likely to have unusable first and/or final partitions because they overlap
|
|
with the GPT data structures, though.) GPT fdisk can identify, but not use
|
|
data in, Apple Partition Map (APM) disks, which are used on 680x0\- and
|
|
PowerPC\-based Macintoshes. If you specify any option that results in
|
|
changes to an MBR or BSD disklabel, \fBsgdisk\fR ignores those changes
|
|
unless the \fI\-g\fR (\fI\-\-mbrtogpt\fR), \fI\-z\fR (\fI\-\-zap\fR), or
|
|
\fI\-Z\fR (\fI\-\-zap\-all\fR) option is used. If you use the \fI\-g\fR
|
|
option, \fBsgdisk\fR replaces the MBR or disklabel with a GPT. \fIThis
|
|
action is potentially dangerous!\fR Your system may become unbootable, and
|
|
partition type codes may become corrupted if the disk uses unrecognized
|
|
type codes. Boot problems are particularly likely if you're multi\-booting
|
|
with any GPT\-unaware OS.
|
|
|
|
The MBR\-to\-GPT conversion will leave at least one gap in the partition
|
|
numbering if the original MBR used logical partitions. These gaps are
|
|
harmless, but you can eliminate them by using the \fI\-s\fR (\fI\-\-sort\fR)
|
|
option, if you like. (Doing this may require you to update your
|
|
\fI/etc/fstab\fR file.)
|
|
|
|
When creating a fresh partition table, certain considerations may be in
|
|
order:
|
|
|
|
.TP
|
|
.B *
|
|
For data (non\-boot) disks, and for boot disks used on BIOS\-based computers
|
|
with GRUB as the boot loader, partitions may be created in whatever order
|
|
and in whatever sizes are desired.
|
|
|
|
.TP
|
|
.B *
|
|
Boot disks for EFI\-based systems require an \fIEFI System Partition\fR
|
|
(\fBgdisk\fR internal code 0xEF00) formatted as FAT\-32. I recommended
|
|
making this partition 550 MiB. (Smaller ESPs are common, but some EFIs have
|
|
flaky FAT drivers that necessitate a larger partition for reliable
|
|
operation.) Boot\-related files are stored here. (Note that GNU Parted
|
|
identifies such partitions as having the "boot flag" set.)
|
|
|
|
.TP
|
|
.B *
|
|
Some boot loaders for BIOS\-based systems make use of a \fIBIOS Boot
|
|
Partition\fR (\fBgdisk\fR internal code 0xEF02), in which the secondary
|
|
boot loader is stored, possibly without the benefit of a filesystem. (GRUB2
|
|
may optionally use such a partition.) This partition can typically be quite
|
|
small (roughly 32 to 200 KiB, although 1 MiB is more common in practice),
|
|
but you should consult your boot loader documentation for details.
|
|
|
|
.TP
|
|
.B *
|
|
If Windows is to boot from a GPT disk, a partition of type \fIMicrosoft
|
|
Reserved\fR (\fBsgdisk\fR
|
|
internal code 0x0C01) is recommended. This partition should be about 128 MiB
|
|
in size. It ordinarily follows the EFI System Partition and immediately
|
|
precedes the Windows data partitions. (Note that GNU Parted creates all
|
|
FAT partitions as this type, which actually makes the partition unusable
|
|
for normal file storage in both Windows and Mac OS X.)
|
|
|
|
.TP
|
|
.B *
|
|
Some OSes' GPT utilities create some blank space (typically 128 MiB) after
|
|
each partition. The intent is to enable future disk utilities to use this
|
|
space. Such free space is not required of GPT disks, but creating it may
|
|
help in future disk maintenance.
|
|
|
|
.SH "OPTIONS"
|
|
Some options take no arguments, others take one argument (typically a partition
|
|
number), and others take compound arguments with colon delimitation. For
|
|
instance, \fI\-n\fR (\fI\-\-new\fR) takes a partition number, a starting
|
|
sector number, and an ending sector number, as in \fBsgdisk \-n 2:2000:50000
|
|
/dev/sdc\fR, which creates a new partition, numbered 2, starting at sector
|
|
2000 an ending at sector 50,000, on \fI/dev/sdc\fR.
|
|
|
|
Unrelated options may be combined; however, some such combinations will be
|
|
nonsense (such as deleting a partition and then changing its GUID type code).
|
|
\fBsgdisk\fR interprets options in the order in which they're entered, so
|
|
effects can vary depending on order. For instance, \fBsgdisk \-s \-d 2\fR
|
|
sorts the partition table entries and then deletes partition 2 from the
|
|
newly\-sorted list; but \fBsgdisk \-d 2 \-s\fR deletes the original partition
|
|
2 and then sorts the modified partition table.
|
|
|
|
Error checking and opportunities to correct mistakes in \fBsgdisk\fR are
|
|
minimal. Although the program endeavors to keep the GPT data structures legal,
|
|
it does not prompt for verification before performing its actions. Unless you
|
|
require a command\-line\-driven program, you should use the interactive
|
|
\fBgdisk\fR instead of \fBsgdisk\fR, since \fBgdisk\fR allows you to
|
|
quit without saving your changes, should you make a mistake.
|
|
|
|
Although \fBsgdisk\fR is based on the same partition\-manipulation code as
|
|
\fBgdisk\fR, \fBsgdisk\fR implements fewer features than its interactive
|
|
sibling. Options available in \fBsgdisk\fR are:
|
|
|
|
.TP
|
|
.B \-a, \-\-set\-alignment=value
|
|
Set the sector alignment multiple. GPT fdisk aligns the start of partitions
|
|
to sectors that are multiples of this value, which defaults to 1 MiB (2048
|
|
on disks with 512-byte sectors) on freshly formatted disks. This alignment
|
|
value is necessary to obtain optimum performance with Western Digital
|
|
Advanced Format and similar drives with larger physical than logical sector
|
|
sizes, with some types of RAID arrays, and with SSD devices.
|
|
|
|
.TP
|
|
.B \-A, \-\-attributes=list|[partnum:show|or|nand|xor|=|set|clear|toggle|get[:bitnum|hexbitmask]]
|
|
View or set partition attributes. Use \fIlist\fR to see defined (known)
|
|
attribute values. Omit the partition number (and even the device filename)
|
|
when using this option. The others require a partition number. The
|
|
\fIshow\fR and \fIget\fR options show the current attribute settings
|
|
(all attributes or for a particular bit, respectively). The \fIor\fR,
|
|
\fInand\fR, \fIxor\fR, \fI=\fR, \fIset\fR, \fIclear\fR, and
|
|
\fItoggle\fR options enable you to change the attribute bit value. The
|
|
\fIset\fR, \fIclear\fR, \fItoggle\fR, and \fIget\fR options work on a
|
|
bit number; the others work on a hexadecimal bit mask. For example, type
|
|
\fBsgdisk -A 4:set:2 /dev/sdc\fR to set the bit 2 attribute (legacy BIOS
|
|
bootable) on partition 4 on \fI/dev/sdc\fR.
|
|
|
|
.TP
|
|
.B \-b, \-\-backup=file
|
|
Save partition data to a backup file. You can back up your current
|
|
in\-memory partition table to a disk file using this option. The resulting
|
|
file is a binary file consisting of the protective MBR, the main GPT
|
|
header, the backup GPT header, and one copy of the partition table, in that
|
|
order. Note that the backup is of the current in\-memory data structures, so
|
|
if you launch the program, make changes, and then use this option, the
|
|
backup will reflect your changes. If the GPT data structures are damaged,
|
|
the backup may not accurately reflect the damaged state; instead, they
|
|
will reflect GPT fdisk's first\-pass interpretation of the GPT.
|
|
|
|
.TP
|
|
.B \-c, \-\-change\-name=partnum:name
|
|
Change the GPT name of a partition. This name is encoded as a UTF\-16
|
|
string, but proper entry and display of anything beyond basic ASCII values
|
|
requires suitable locale and font support. For the most part, Linux ignores
|
|
the partition name, but it may be important in some OSes. If you want to
|
|
set a name that includes a space, enclose it in quotation marks, as in
|
|
\fIsgdisk \-c 1:"Sample Name" /dev/sdb\fR. Note that the GPT name of a
|
|
partition is distinct from the filesystem name, which is encoded in the
|
|
filesystem's data structures.
|
|
|
|
.TP
|
|
.B \-C, \-\-recompute-chs
|
|
Recompute CHS values in protective or hybrid MBR. This option can sometimes
|
|
help if a disk utility, OS, or BIOS doesn't like the CHS values used by the
|
|
partitions in the protective or hybrid MBR. In particular, the GPT
|
|
specification requires a CHS value of 0xFFFFFF for over-8GiB partitions,
|
|
but this value is technically illegal by the usual standards. Some BIOSes
|
|
hang if they encounter this value. This option will recompute a more normal
|
|
CHS value -- 0xFEFFFF for over-8GiB partitions, enabling these BIOSes to
|
|
boot.
|
|
|
|
.TP
|
|
.B \-d, \-\-delete=partnum
|
|
Delete a partition. This action deletes the entry from the partition table
|
|
but does not disturb the data within the sectors originally allocated to
|
|
the partition on the disk. If a corresponding hybrid MBR partition exists,
|
|
\fBgdisk\fR deletes it, as well, and expands any adjacent 0xEE (EFI GPT)
|
|
MBR protective partition to fill the new free space.
|
|
|
|
.TP
|
|
.B \-D, \-\-display\-alignment
|
|
Display current sector alignment value. Partitions will be created on multiples
|
|
of the sector value reported by this option. You can change the alignment value
|
|
with the \-a option.
|
|
|
|
.TP
|
|
.B \-e, \-\-move\-second\-header
|
|
Move backup GPT data structures to the end of the disk. Use this option if
|
|
you've added disks to a RAID array, thus creating a virtual disk with space
|
|
that follows the backup GPT data structures. This command moves the backup
|
|
GPT data structures to the end of the disk, where they belong.
|
|
|
|
.TP
|
|
.B \-E, \-\-end\-of\-largest
|
|
Displays the sector number of the end of the largest available block of
|
|
sectors on the disk. A script may store this value and pass it back as
|
|
part of \fI\-n\fR's option to create a partition. If no unallocated
|
|
sectors are available, this function returns the value 0.
|
|
|
|
.TP
|
|
.B \-f, \-\-first\-in\-largest
|
|
Displays the sector number of the start of the largest available block of
|
|
sectors on the disk. A script may store this value and pass it back as
|
|
part of \fI\-n\fR's option to create a partition. If no unallocated
|
|
sectors are available, this function returns the value 0. Note that this
|
|
parameter is blind to partition alignment; when you actually create a
|
|
partition, its start point might be changed from this value.
|
|
|
|
.TP
|
|
.B \-F, \-\-first\-aligned\-in\-largest
|
|
Similar to \fI\-f\fR (\fI\-\-first\-in\-largest\fR), except returns the
|
|
sector number with the current alignment correction applied. Use this
|
|
function if you need to compute the actual partition start point rather
|
|
than a theoretical start point or the actual start point if you set the
|
|
alignment value to 1.
|
|
|
|
.TP
|
|
.B \-g, \-\-mbrtogpt
|
|
Convert an MBR or BSD disklabel disk to a GPT disk. As a safety measure, use of
|
|
this option is required on MBR or BSD disklabel disks if you intend to save your
|
|
changes, in order to prevent accidentally damaging such disks.
|
|
|
|
.TP
|
|
.B \-G, \-\-randomize\-guids
|
|
Randomize the disk's GUID and all partitions' unique GUIDs (but not their
|
|
partition type code GUIDs). This function may be used after cloning a disk
|
|
in order to render all GUIDs once again unique.
|
|
|
|
.TP
|
|
.B \-h, \-\-hybrid
|
|
Create a hybrid MBR. This option takes from one to three partition numbers,
|
|
separated by colons, as arguments. You may optionally specify a final partition
|
|
"EE" to indicate that the EFI GPT (type 0xEE) should be placed last in the table,
|
|
otherwise it will be placed first, followed by the partition(s) you specify.
|
|
Their type codes are based on the GPT fdisk type codes divided by 0x0100, which
|
|
is usually correct for Windows partitions. If the active/bootable flag should
|
|
be set, you must do so in another program, such as \fBfdisk\fR. The \fBgdisk\fR
|
|
program offers additional hybrid MBR creation options.
|
|
|
|
.TP
|
|
.B \-i, \-\-info=partnum
|
|
Show detailed partition information. The summary information produced by
|
|
the \fI\-p\fR command necessarily omits many details, such as the partition's
|
|
unique GUID and the translation of \fBsgdisk\fR's
|
|
internal partition type code to a plain type name. The \fI\-i\fR option
|
|
displays this information for a single partition.
|
|
|
|
.TP
|
|
.B \-j, \-\-adjust\-main\-table=sector
|
|
Adjust the location of the main partition table. This value is normally 2,
|
|
but it may need to be increased in some cases, such as when a
|
|
system\-on\-chip (SoC) is hard\-coded to read boot code from sector 2. I
|
|
recommend against adjusting this value unless doing so is absolutely
|
|
necessary.
|
|
|
|
.TP
|
|
.B \-l, \-\-load\-backup=file
|
|
Load partition data from a backup file. This option is the reverse of the
|
|
\fI\-b\fR option. Note that restoring partition data from anything
|
|
but the original disk is not recommended. This option will work even if the
|
|
disk's original partition table is bad; however, most other options on the
|
|
same command line will be ignored.
|
|
|
|
.TP
|
|
.B \-L, \-\-list\-types
|
|
Display a summary of partition types. GPT uses a GUID to identify partition
|
|
types for particular OSes and purposes. For ease of data entry,
|
|
\fBsgdisk\fR compresses these into two\-byte (four\-digit hexadecimal)
|
|
values that are related to their equivalent MBR codes. Specifically, the
|
|
MBR code is multiplied by hexadecimal 0x0100. For instance, the code for
|
|
Linux swap space in MBR is 0x82, and it's 0x8200 in \fBgdisk\fR. A
|
|
one\-to\-one correspondence is impossible, though. Most notably, the codes
|
|
for all varieties of FAT and NTFS partition correspond to a single GPT code
|
|
(entered as 0x0700 in \fBsgdisk\fR). Some OSes use a single MBR code but
|
|
employ many more codes in GPT. For these, \fBsgdisk\fR adds code numbers
|
|
sequentially, such as 0xa500 for a FreeBSD disklabel, 0xa501 for FreeBSD
|
|
boot, 0xa502 for FreeBSD swap, and so on. Note that these two\-byte codes
|
|
are unique to \fBgdisk\fR and \fBsgdisk\fR. This option does not require
|
|
you to specify a valid disk device filename.
|
|
|
|
.TP
|
|
.B \-m, \-\-gpttombr
|
|
Convert disk from GPT to MBR form. This option takes from one to four
|
|
partition numbers, separated by colons, as arguments. Their type codes are
|
|
based on the GPT fdisk type codes divided by 0x0100. If the active/bootable
|
|
flag should be set, you must do so in another program, such as \fBfdisk\fR.
|
|
The \fBgdisk\fR program offers additional MBR conversion options. It is not
|
|
possible to convert more than four partitions from GPT to MBR form or to
|
|
convert partitions that start above the 2TiB mark or that are larger than
|
|
2TiB.
|
|
|
|
.TP
|
|
.B \-n, \-\-new=partnum:start:end
|
|
Create a new partition. You enter a partition number, starting sector, and
|
|
an ending sector. Both start and end sectors can be specified in absolute
|
|
terms as sector numbers or as positions measured in kibibytes (K),
|
|
mebibytes (M), gibibytes (G), tebibytes (T), or pebibytes (P); for
|
|
instance, \fI\fB40M\fR\fR specifies a position 40MiB from the start of the
|
|
disk. You can specify locations relative to the start or end of the
|
|
specified default range by preceding the number by a '+' or '\-' symbol, as
|
|
in \fI\fB+2G\fR\fR to specify a point 2GiB after the default start sector,
|
|
or \fI\fB\-200M\fR\fR to specify a point 200MiB before the last available
|
|
sector. A start or end value of 0 specifies the default value, which is the
|
|
start of the largest available block for the start sector and the end of
|
|
the same block for the end sector. A partnum value of 0 causes the program
|
|
to use the first available partition number. Subsequent uses of the
|
|
\fI\-A\fR, \fI\-c\fR, \fI\-t\fR, and \fI\-u\fR options may also use
|
|
\fI0\fR to refer to the same partition.
|
|
|
|
.TP
|
|
.B \-N, \-\-largest\-new=num
|
|
Create a new partition that fills the largest available block of space on
|
|
the disk. You can use the \fI\-a\fR (\fI\-\-set\-alignment\fR) option to
|
|
adjust the alignment, if desired. A num value of 0 causes the program to
|
|
use the first available partition number.
|
|
|
|
.TP
|
|
.B \-o, \-\-clear
|
|
Clear out all partition data. This includes GPT header data, all partition
|
|
definitions, and the protective MBR. Note that this operation will, like
|
|
most other operations, fail on a damaged disk. If you want to prepare a
|
|
disk you know to be damaged for GPT use, you should first wipe it with -Z
|
|
and then partition it normally. This option will work even if the
|
|
disk's original partition table is bad; however, most other options on the
|
|
same command line will be ignored.
|
|
|
|
.TP
|
|
.B \-O, \-\-print\-mbr
|
|
Display basic \fIMBR\fR partition summary data. This includes partition
|
|
numbers, starting and ending sector numbers, partition sizes, MBR partition
|
|
types codes, and partition names. This option is useful mainly for
|
|
diagnosing partition table problems, particularly on disks with hybrid
|
|
MBRs.
|
|
|
|
.TP
|
|
.B \-p, \-\-print
|
|
Display basic GPT partition summary data. This includes partition numbers,
|
|
starting and ending sector numbers, partition sizes, \fBsgdisk\fR's
|
|
partition types codes, and partition names. For additional information, use
|
|
the \fI\-i\fR (\fI\-\-info\fR) option.
|
|
|
|
.TP
|
|
.B \-P, \-\-pretend
|
|
Pretend to make specified changes. In\-memory GPT data structures are
|
|
altered according to other parameters, but changes are not written
|
|
to disk.
|
|
|
|
.TP
|
|
.B \-r, \-\-transpose
|
|
Swap two partitions' entries in the partition table. One or both partitions
|
|
may be empty, although swapping two empty partitions is pointless. For
|
|
instance, if partitions 1\-4 are defined, transposing 1 and 5 results in a
|
|
table with partitions numbered from 2\-5. Transposing partitions in this
|
|
way has no effect on their disk space allocation; it only alters their
|
|
order in the partition table.
|
|
|
|
.TP
|
|
.B \-R, \-\-replicate=second_device_filename
|
|
Replicate the main device's partition table on the specified second device.
|
|
Note that the replicated partition table is an exact copy, including all
|
|
GUIDs; if the device should have its own unique GUIDs, you should use the
|
|
\-G option on the new disk.
|
|
|
|
.TP
|
|
.B \-s, \-\-sort
|
|
Sort partition entries. GPT partition numbers need not match the order of
|
|
partitions on the disk. If you want them to match, you can use this option.
|
|
Note that some partitioning utilities sort partitions whenever they make
|
|
changes. Such changes will be reflected in your device filenames, so you
|
|
may need to edit \fI/etc/fstab\fR if you use this option.
|
|
|
|
.TP
|
|
.B \-t, \-\-typecode=partnum:{hexcode|GUID}
|
|
Change a single partition's type code. You enter the type code using either
|
|
a two\-byte hexadecimal number, as described earlier, or a fully-specified
|
|
GUID value, such as EBD0A0A2-B9E5-4433-87C0-68B6B72699C7.
|
|
|
|
.TP
|
|
.B \-T, \-\-transform\-bsd=partnum
|
|
Transform BSD partitions into GPT partitions. This option works on BSD
|
|
disklabels held within GPT (or converted MBR) partitions. Converted
|
|
partitions' type codes are likely to need manual adjustment. \fBsgdisk\fR
|
|
will attempt to convert BSD disklabels stored on the main disk when
|
|
launched, but this conversion is likely to produce first and/or last
|
|
partitions that are unusable. The many BSD variants means that the
|
|
probability of \fBsgdisk\fR being unable to convert a BSD disklabel is
|
|
high compared to the likelihood of problems with an MBR conversion.
|
|
|
|
.TP
|
|
.B \-u, \-\-partition-guid=partnum:guid
|
|
Set the partition unique GUID for an individual partition. The GUID may be
|
|
a complete GUID or 'R' to set a random GUID.
|
|
|
|
.TP
|
|
.B \-U, \-\-disk-guid=guid
|
|
Set the GUID for the disk. The GUID may be a complete GUID or 'R' to set a
|
|
random GUID.
|
|
|
|
.TP
|
|
.B \-\-usage
|
|
Print a brief summary of available options.
|
|
|
|
.TP
|
|
.B \-v, \-\-verify
|
|
Verify disk. This option checks for a variety of problems, such as
|
|
incorrect CRCs and mismatched main and backup data. This option does not
|
|
automatically correct most problems, though; for that, you must use options
|
|
on the recovery & transformation menu. If no problems are found, this
|
|
command displays a summary of unallocated disk space. This option will work
|
|
even if the disk's original partition table is bad; however, most other
|
|
options on the same command line will be ignored.
|
|
|
|
.TP
|
|
.B \-V, \-\-version
|
|
Display program version information. This option may be used without
|
|
specifying a device filename.
|
|
|
|
.TP
|
|
.B \-z, \-\-zap
|
|
Zap (destroy) the GPT data structures and then exit. Use this option if you
|
|
want to repartition a GPT disk using \fBfdisk\fR or some other GPT\-unaware
|
|
program. This option destroys only the GPT data structures; it leaves the
|
|
MBR intact. This makes it useful for wiping out GPT data structures after a
|
|
disk has been repartitioned for MBR using a GPT\-unaware utility; however,
|
|
there's a risk that it will damage boot loaders or even the start of the
|
|
first or end of the last MBR partition. If you use it on a valid GPT disk,
|
|
the MBR will be left with an inappropriate EFI GPT (0xEE) partition
|
|
definition, which you can delete using another utility.
|
|
|
|
.TP
|
|
.B \-Z, \-\-zap\-all
|
|
Zap (destroy) the GPT and MBR data structures and then exit. This option
|
|
works much like \fI\-z\fR, but as it wipes the MBR as well as the GPT, it's
|
|
more suitable if you want to repartition a disk after using this option,
|
|
and completely unsuitable if you've already repartitioned the disk.
|
|
|
|
.TP
|
|
.B \-?, \-\-help
|
|
Print a summary of options.
|
|
|
|
.SH "RETURN VALUES"
|
|
\fBsgdisk\fR returns various values depending on its success or failure:
|
|
|
|
.TP
|
|
.B 0
|
|
Normal program execution
|
|
|
|
.TP
|
|
.B 1
|
|
Too few arguments
|
|
|
|
.TP
|
|
.B 2
|
|
An error occurred while reading the partition table
|
|
|
|
.TP
|
|
.B 3
|
|
Non\-GPT disk detected and no \fI\-g\fR option, but operation requires a
|
|
write action
|
|
|
|
.TP
|
|
.B 4
|
|
An error prevented saving changes
|
|
|
|
.TP
|
|
.B 5
|
|
An error occurred while reading standard input (should never occur with
|
|
sgdisk, but may with gdisk)
|
|
|
|
.TP
|
|
.B 8
|
|
Disk replication operation (-R) failed
|
|
|
|
.SH "BUGS"
|
|
Known bugs and limitations include:
|
|
|
|
.TP
|
|
.B *
|
|
The program compiles correctly only on Linux, FreeBSD, and Mac OS X. Linux
|
|
versions for x86\-64 (64\-bit), x86 (32\-bit), and PowerPC (32\-bit) have been
|
|
tested, with the x86\-64 version having seen the most testing.
|
|
|
|
.TP
|
|
.B *
|
|
The FreeBSD version of the program can't write changes to the partition
|
|
table to a disk when existing partitions on that disk are mounted. (The
|
|
same problem exists with many other FreeBSD utilities, such as
|
|
\fBgpt\fR, \fBfdisk\fR, and \fBdd\fR.) This limitation can be overcome
|
|
by typing \fBsysctl kern.geom.debugflags=16\fR at a shell prompt.
|
|
|
|
.TP
|
|
.B *
|
|
The fields used to display the start and end sector numbers for partitions
|
|
in the \fI\-p\fR option are 14 characters wide. This translates to a limitation
|
|
of about 45 PiB. On larger disks, the displayed columns will go out of
|
|
alignment.
|
|
|
|
.TP
|
|
.B *
|
|
The program can load only up to 128 partitions (4 primary partitions and
|
|
124 logical partitions) when converting from MBR format. This limit can
|
|
be raised by changing the \fI#define MAX_MBR_PARTS\fR line in the
|
|
\fIbasicmbr.h\fR source code file and recompiling; however, such a change
|
|
will require using a larger\-than\-normal partition table. (The limit
|
|
of 128 partitions was chosen because that number equals the 128 partitions
|
|
supported by the most common partition table size.)
|
|
|
|
.TP
|
|
.B *
|
|
Converting from MBR format sometimes fails because of insufficient space at
|
|
the start or (more commonly) the end of the disk. Resizing the partition
|
|
table (using the 's' option in the experts' menu) can sometimes overcome
|
|
this problem; however, in extreme cases it may be necessary to resize a
|
|
partition using GNU Parted or a similar tool prior to conversion with
|
|
\fBgdisk\fR.
|
|
|
|
.TP
|
|
.B *
|
|
MBR conversions work only if the disk has correct LBA partition
|
|
descriptors. These descriptors should be present on any disk over 8 GiB in
|
|
size or on smaller disks partitioned with any but very ancient software.
|
|
|
|
.TP
|
|
.B *
|
|
BSD disklabel support can create first and/or last partitions that overlap
|
|
with the GPT data structures. This can sometimes be compensated by
|
|
adjusting the partition table size, but in extreme cases the affected
|
|
partition(s) may need to be deleted.
|
|
|
|
.TP
|
|
.B *
|
|
Because of the highly variable nature of BSD disklabel structures,
|
|
conversions from this form may be unreliable \-\- partitions may be dropped,
|
|
converted in a way that creates overlaps with other partitions, or
|
|
converted with incorrect start or end values. Use this feature with
|
|
caution!
|
|
|
|
.TP
|
|
.B *
|
|
Booting after converting an MBR or BSD disklabel disk is likely to be
|
|
disrupted. Sometimes re\-installing a boot loader will fix the problem, but
|
|
other times you may need to switch boot loaders. Except on EFI\-based
|
|
platforms, Windows through at least Windows 7 RC doesn't support booting
|
|
from GPT disks. Creating a hybrid MBR (using the 'h' option on the recovery &
|
|
transformation menu) or abandoning GPT in favor of MBR may be your only
|
|
options in this case.
|
|
|
|
.PP
|
|
|
|
.SH "AUTHORS"
|
|
Primary author: Roderick W. Smith (rodsmith@rodsbooks.com)
|
|
|
|
Contributors:
|
|
|
|
* Yves Blusseau (1otnwmz02@sneakemail.com)
|
|
|
|
* David Hubbard (david.c.hubbard@gmail.com)
|
|
|
|
* Justin Maggard (justin.maggard@netgear.com)
|
|
|
|
* Dwight Schauer (dschauer@gmail.com)
|
|
|
|
* Florian Zumbiehl (florz@florz.de)
|
|
|
|
|
|
.SH "SEE ALSO"
|
|
.BR cfdisk (8),
|
|
.BR cgdisk (8),
|
|
.BR fdisk (8),
|
|
.BR gdisk (8),
|
|
.BR mkfs (8),
|
|
.BR parted (8),
|
|
.BR sfdisk (8),
|
|
.BR fixparts (8).
|
|
|
|
\fIhttp://en.wikipedia.org/wiki/GUID_Partition_Table\fR
|
|
|
|
\fIhttp://developer.apple.com/technotes/tn2006/tn2166.html\fR
|
|
|
|
\fIhttp://www.rodsbooks.com/gdisk/\fR
|
|
|
|
.SH "AVAILABILITY"
|
|
The \fBsgdisk\fR command is part of the \fIGPT fdisk\fR package and is
|
|
available from Rod Smith.
|