Content
Dateianzeige für gptfdisk (3.4.1)
usr/share/doc/gptfdisk/gptfdisk.txtGDISK(8) GPT fdisk Manual GDISK(8)
NAME
gdisk - Interactive GUID partition table (GPT) manipulator
SYNOPSIS
gdisk [ -l ] device
DESCRIPTION
GPT fdisk (aka gdisk) is a text-mode menu-driven program for creation and
manipulation of partition tables. It 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) Parti-
tion Table (GPT) format, or will load a GUID partition table. When used with
the -l command-line option, the program displays the current partition table
and then exits.
GPT fdisk operates mainly on the GPT headers and partition tables; however,
it can and will generate a fresh protective MBR, when required. (Any boot
loader code in the protective MBR will not be disturbed.) If you've created
an unusual protective MBR, such as a hybrid MBR created by gptsync or
gdisk's own hybrid MBR creation feature, this should not be disturbed by
most ordinary actions. Some advanced data 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 gdisk docu-
mentation at http://www.rodsbooks.com/gdisk/ or consult Wikipedia.
The gdisk program employs a user interface similar to that of Linux's fdisk,
but gdisk modifies GPT partitions. It also has the capability of transform-
ing MBR partitions or BSD disklabels into GPT partitions. Like the original
fdisk program, gdisk does not modify disk structures until you explicitly
write them to disk, so if you make a mistake, you can exit from the program
with the 'q' option to leave your partitions unmodified.
Ordinarily, gdisk operates on disk device files, such as /dev/sda or
/dev/hda under Linux, /dev/disk0 under Mac OS X, or /dev/ad0 or /dev/da0
under FreeBSD. The program can also operate on disk image files, which can
be either copies of whole disks (made with dd, for instance) or raw disk
images used by emulators such as QEMU or VMWare. Note that only raw disk
images are supported; gdisk 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 lim-
iting. GPT drops CHS addressing and uses 64-bit LBA mode exclusively. Thus,
GPT data structures, and therefore gdisk, do not need to deal with CHS
geometries and all the problems they create. Users of fdisk will note that
gdisk lacks the options and limitations associated with CHS geometries.
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 gdisk or
GNU Parted program.
Upon start, gdisk attempts to identify the partition type in use on the
disk. If it finds valid GPT data, gdisk will use it. If gdisk 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. Upon
exiting with the 'w' option, gdisk replaces the MBR or disklabel with a GPT.
This action is potentially dangerous! 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. If you mistakenly launch gdisk on an MBR disk, you can
safely exit the program without making any changes by using the 'q' option.
The MBR-to-GPT conversion will leave at least one gap in the partition num-
bering if the original MBR used logical partitions. These gaps are harmless,
but you can eliminate them by using the 's' option, if you like. (Doing
this may require you to update your /etc/fstab file.)
When creating a fresh partition table, certain considerations may be in
order:
* For data (non-boot) disks, and for boot disks used on BIOS-based com-
puters with GRUB as the boot loader, partitions may be created in
whatever order and in whatever sizes are desired.
* Boot disks for EFI-based systems require an EFI System Partition
(gdisk internal code 0xEF00) formatted as FAT-32. The recommended
size of this partition is between 100 and 300 MiB. Boot-related
files are stored here. (Note that GNU Parted identifies such parti-
tions as having the "boot flag" set.)
* Some boot loaders for BIOS-based systems make use of a BIOS Boot Par-
tition (gdisk 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 typi-
cally be quite small (roughly 32 to 200 KiB), but you should consult
your boot loader documentation for details.
* If Windows is to boot from a GPT disk, a partition of type Microsoft
Reserved (gdisk 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 old versions of GNU Parted create all FAT partitions as this
type, which actually makes the partition unusable for normal file
storage in both Windows and Mac OS X.)
* 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. You can use GPT
fdisk's relative partition positioning option (specifying the start-
ing sector as '+128M', for instance) to simplify creating such gaps.
OPTIONS
-l List the partition table for the specified device and then exits.
Most interactions with gdisk occur with its interactive text-mode menus.
Three menus exist: the main menu, the recovery & transformation menu, and
the experts' menu. The main menu provides the functions that are most likely
to be useful for typical partitioning tasks, such as creating and deleting
partitions, changing partition type codes, and so on. Specific functions
are:
b 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-mem-
ory data structures, so if you launch the program, make changes, and
then use this option, the backup will reflect your changes. Note also
that the restore option is on the recovery & transformation menu; the
backup option is on the main menu to encourage its use.
c 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. GPT fdisk sets a default name based on the partition type code.
Note that the GPT partition name is different from the filesystem
name, which is encoded in the filesystem's data structures.
d 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, gdisk deletes it, as well, and expands any adjacent
0xEE (EFI GPT) MBR protective partition to fill the new free space.
i Show detailed partition information. The summary information produced
by the 'p' command necessarily omits many details, such as the parti-
tion's unique GUID and the translation of gdisk's internal partition
type code to a plain type name. The 'i' option displays this informa-
tion for a single partition.
l Display a summary of partition types. GPT uses a GUID to identify
partition types for particular OSes and purposes. For ease of data
entry, gdisk 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 gdisk. 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 sgdisk). Some OSes use a single
MBR code but employ many more codes in GPT. For these, gdisk 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 gdisk.
n Create a new partition. This command is modelled after the equivalent
fdisk option, although some differences exist. 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, 40M specifies a posi-
tion 40MiB from the start of the disk. You can specify locations rel-
ative to the start or end of the specified default range by preceding
the number by a '+' or '-' symbol, as in +2G to specify a point 2GiB
after the default start sector, or -200M to specify a point 200MiB
before the last available sector. Pressing the Enter key with no
input 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.
o Clear out all partition data. This includes GPT header data, all par-
tition definitions, and the protective MBR. The sector alignment is
reset to the default (1MB, or 2048 sectors on a disk with 512-byte
sectors).
p Display basic partition summary data. This includes partition num-
bers, starting and ending sector numbers, partition sizes, gdisk's
partition types codes, and partition names. For additional informa-
tion, use the 'i' command.
q Quit from the program without saving your changes. Use this option
if you just wanted to view information or if you make a mistake and
want to back out of all your changes.
r Enter the recovery & transformation menu. This menu includes emer-
gency recovery options (to fix damaged GPT data structures) and
options to transform to or from other partitioning systems, including
creating hybrid MBRs.
s 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 parti-
tions whenever they make changes. Such changes will be reflected in
your device filenames, so you may need to edit /etc/fstab if you use
this option.
t Change a single partition's type code. You enter the type code using
a two-byte hexadecimal number, as described earlier. You may also
enter a GUID directly, if you have one and gdisk doesn't know it.
v 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.
w Write data. Use this command to save your changes.
x Enter the experts' menu. Using this option provides access to fea-
tures you can use to get into even more trouble than the main menu
allows.
? Print the menu. Type this command (or any other unrecognized command)
to see a summary of available options.
The second gdisk menu is the recovery & transformation menu, which provides
access to data recovery options and features related to the transformation
of partitions between partitioning schemes (converting BSD disklabels into
GPT partitions or creating hybrid MBRs, for instance). A few options on
this menu duplicate functionality on the main menu, for the sake of conve-
nience. The options on this menu are:
b Rebuild GPT header from backup. You can use the backup GPT header to
rebuild the main GPT header with this option. It's likely to be use-
ful if your main GPT header was damaged or destroyed (say, by sloppy
use of dd).
c Load backup partition table. Ordinarily, gdisk uses only the main
partition table (although the backup's integrity is checked when you
launch the program). If the main partition table has been damaged,
you can use this option to load the backup from disk and use it
instead. Note that this will almost certainly produce no or strange
partition entries if you've just converted an MBR disk to GPT format,
since there will be no backup partition table on disk.
d Use main GPT header and rebuild the backup. This option is likely to
be useful if the backup GPT header has been damaged or destroyed.
e Load main partition table. This option reloads the main partition ta-
ble from disk. It's only likely to be useful if you've tried to use
the backup partition table (via 'c') but it's in worse shape then the
main partition table.
f Load MBR and build fresh GPT from it. Use this option if your GPT is
corrupt or conflicts with the MBR and you want to use the MBR as the
basis for a new set of GPT partitions.
g Convert GPT into MBR and exit. This option converts as many parti-
tions as possible into MBR form, destroys the GPT data structures,
saves the new MBR, and exits. Use this option if you've tried GPT
and find that MBR works better for you. Note that this function gen-
erates up to four primary MBR partitions or three primary partitions
and as many logical partitions as can be generated. Each logical par-
tition requires at least one unallocated block immediately before its
first block. Therefore, it may be possible to convert a maximum of
four partitions on disks with tightly-packed partitions; however, if
free space was inserted between partitions when they were created,
and if the disk is under 2 TiB in size, it should be possible to con-
vert all the partitions to MBR form. See also the 'h' option.
h Create a hybrid MBR. This is an ugly workaround that enables
GPT-unaware OSes, or those that can't boot from a GPT disk, to access
up to three of the partitions on the disk by creating MBR entries for
them. Note that these hybrid MBR entries can easily go out of sync
with the GPT entries, particularly when hybrid-unaware GPT utilities
are used to edit the disk. Thus, you may need to re-create the
hybrid MBR if you use such tools. Unlike the 'g' option, this option
does not support converting any partitions into MBR logical parti-
tions.
i Show detailed partition information. This option is identical to the
'i' option on the main menu.
l Load partition data from a backup file. This option is the reverse of
the 'b' option on the main menu. Note that restoring partition data
from anything but the original disk is not recommended.
m Return to the main menu. This option enables you to enter main-menu
commands.
o Print protective MBR data. You can see a summary of the protective
MBR's partitions with this option. This may enable you to spot glar-
ing problems or help identify the partitions in a hybrid MBR.
p Print the partition table. This option is identical to the 'p' option
in the main menu.
q Quit without saving changes. This option is identical to the 'q'
option in the main menu.
t Transform BSD partitions into GPT partitions. This option works on
BSD disklabels held within GPT (or converted MBR) partitions. Con-
verted partitions' type codes are likely to need manual adjustment.
gdisk 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 gdisk being unable to convert a BSD disklabel is
high compared to the likelihood of problems with an MBR conversion.
v Verify disk. This option is identical to the 'v' option in the main
menu.
w Write table to disk and exit. This option is identical to the 'w'
option in the main menu.
x Enter the experts' menu. This option is identical to the 'x' option
in the main menu.
? Print the menu. This option (or any unrecognized entry) displays a
summary of the menu options.
The third gdisk menu is the experts' menu. This menu provides advanced
options that aren't closely related to recovery or transformation between
partitioning systems. Its options are:
a Set attributes. GPT provides a 64-bit attributes field that can be
used to set features for each partition. gdisk supports four
attributes: system partition, read-only, hidden, and do not auto-
mount. You can set other attributes, but their numbers aren't trans-
lated into anything useful. In practice, most OSes seem to ignore
these attributes.
c Change partition GUID. You can enter a custom unique GUID for a par-
tition using this option. (Note this refers to the GUID that uniquely
identifies a partition, not to its type code, which you can change
with the 't' main-menu option.) Ordinarily, gdisk assigns this number
randomly; however, you might want to adjust the number manually if
you've wound up with the same GUID on two partitions because of buggy
GUID assignments (hopefully not in gdisk) or sheer incredible coinci-
dence.
d Display the sector alignment value. See the description of the 'l'
option for more details.
e Move backup GPT data structures to the end of the disk. Use this com-
mand 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.
f 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 with another utility in order to render all GUIDs once
again unique.
g Change disk GUID. Each disk has a unique GUID code, which gdisk
assigns randomly upon creation of the GPT data structures. You can
generate a fresh random GUID or enter one manually with this option.
h 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.
i Show detailed partition information. This option is identical to the
'i' option on the main menu.
l Change the sector alignment value. Disks with more logical sectors
per physical sectors (such as modern Advanced Format drives), some
RAID configurations, and many SSD devices, can suffer performance
problems if partitions are not aligned properly for their internal
data structures. On new disks, GPT fdisk attempts to align partitions
on 1MiB boundaries (2048-sectors on disks with 512-byte sectors) by
default, which optimizes performance for all of these disk types. On
pre-partitioned disks, GPT fdisk attempts to identify the alignment
value used on that disk, but will set 8-sector alignment on disks
larger than 300 GB even if lesser alignment values are detected. In
either case, it can be changed by using this option.
m Return to the main menu. This option enables you to enter main-menu
commands.
n Create a new protective MBR. Use this option if the current protec-
tive MBR is damaged in a way that gdisk doesn't automatically detect
and correct, or if you want to convert a hybrid MBR into a "pure" GPT
with a conventional protective MBR.
o Print protective MBR data. You can see a summary of the protective
MBR's partitions with this option. This may enable you to spot glar-
ing problems or help identify the partitions in a hybrid MBR.
p Print the partition table. This option is identical to the 'p' option
in the main menu.
q Quit without saving changes. This option is identical to the 'q'
option in the main menu.
r Enter the recovery & transformations menu. This option is identical
to the 'r' option on the main menu.
s Resize partition table. The default partition table size is 128
entries. Officially, sizes of less than 16KB (128 entries, given the
normal entry size) are unsupported by the GPT specification; however,
in practice they seem to work, and can sometimes be useful in con-
verting MBR disks. Larger sizes also work fine. OSes may impose their
own limits on the number of partitions, though.
t Swap two partitions' entries in the partition table. One partition
may be empty. For instance, if partitions 1-4 are defined, transpos-
ing 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.
u Replicate the current device's partition table on another device. You
will be prompted to type the new device's filename. After the write
operation completes, you can continue editing the original device's
partition table. 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 f option on the new disk.
v Verify disk. This option is identical to the 'v' option in the main
menu.
z Zap (destroy) the GPT data structures and exit. Use this option if
you want to repartition a GPT disk using fdisk or some other
GPT-unaware program. You'll be given the choice of preserving the
existing MBR, in case it's a hybrid MBR with salvageable partitions
or if you've already created new MBR partitions and want to erase the
remnants of your GPT partitions. If you've already created new MBR
partitions, it's conceivable that this option will damage the first
and/or last MBR partitions! Such an event is unlikely, but could
occur if your new MBR partitions overlap the old GPT data structures.
? Print the menu. This option (or any unrecognized entry) displays a
summary of the menu options.
In many cases, you can press the Enter key to select a default option when
entering data. When only one option is possible, gdisk usually bypasses the
prompt entirely.
BUGS
Known bugs and limitations include:
* The program compiles correctly only on Linux, FreeBSD, Mac OS X, and
Windows. Linux versions for x86-64 (64-bit), x86 (32-bit), and Pow-
erPC (32-bit) have been tested, with the x86-64 version having seen
the most testing. Under FreeBSD, 32-bit (x86) and 64-bit (x86-64)
versions have been tested. Only 32-bit versions for Mac OS X and Win-
dows have been tested by the author, although I've heard of 64-bit
versions being successfully compiled.
* The FreeBSD version of the program can't write changes to the parti-
tion table to a disk when existing partitions on that disk are
mounted. (The same problem exists with many other FreeBSD utilities,
such as gpt, fdisk, and dd.) This limitation can be overcome by typ-
ing sysctl kern.geom.debugflags=16 at a shell prompt.
* The fields used to display the start and end sector numbers for par-
titions in the 'p' command are 14 characters wide. This translates to
a limitation of about 45 PiB. On larger disks, the displayed columns
will go out of alignment.
* In the Windows version, only ASCII characters are supported in the
partition name field. If an existing partition uses non-ASCII UTF-16
characters, they're likely to be corrupted in the 'i' and 'p' menu
options' displays; however, they should be preserved when loading and
saving partitions. Binaries for Linux, FreeBSD, and OS X support full
UTF-16 partition names.
* 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 #define MAX_MBR_PARTS line in the
basicmbr.h 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 par-
titions supported by the most common partition table size.)
* 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 gdisk.
* 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.
* BSD disklabel support can create first and/or last partitions that
overlap with the GPT data structures. This can sometimes be compen-
sated by adjusting the partition table size, but in extreme cases the
affected partition(s) may need to be deleted.
* 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 parti-
tions, or converted with incorrect start or end values. Use this fea-
ture with caution!
* Booting after converting an MBR or BSD disklabel disk is likely to be
disrupted. Sometimes re-installing a boot loader will fix the prob-
lem, but other times you may need to switch boot loaders. Except on
EFI-based platforms, Windows through at least Windows 7 doesn't sup-
port 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.
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)
SEE ALSO
cfdisk (8), cgdisk (8), fdisk (8), mkfs (8), parted (8), sfdisk (8) sgdisk
(8) fixparts (8)
http://en.wikipedia.org/wiki/GUID_Partition_Table
http://developer.apple.com/technotes/tn2006/tn2166.html
http://www.rodsbooks.com/gdisk/
AVAILABILITY
The gdisk command is part of the GPT fdisk package and is available from Rod
Smith.
Roderick W. Smith 1.0.1 GDISK(8)
-------------------------------------------------------------------------------------
SGDISK(8) GPT fdisk Manual SGDISK(8)
NAME
sgdisk - Command-line GUID partition table (GPT) manipulator for Linux and
Unix
SYNOPSIS
sgdisk [ options ] device
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
gdisk and the command-line sgdisk. 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 Identi-
fier (GUID) Partition Table (GPT) format, or will load a GUID partition ta-
ble. This man page documents the command-line sgdisk program.
Some advanced data manipulation and recovery options require you to under-
stand 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 gdisk documentation
at http://www.rodsbooks.com/gdisk/ or consult Wikipedia.
The sgdisk 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
sfdisk, but the user options of the two programs are entirely different from
one another.
Ordinarily, sgdisk operates on disk device files, such as /dev/sda or
/dev/hda under Linux, /dev/disk0 under Mac OS X, or /dev/ad0 or /dev/da0
under FreeBSD. The program can also operate on disk image files, which can
be either copies of whole disks (made with dd, for instance) or raw disk
images used by emulators such as QEMU or VMWare. Note that only raw disk
images are supported; sgdisk 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 lim-
iting. GPT drops CHS addressing and uses 64-bit LBA mode exclusively. Thus,
GPT data structures, and therefore sgdisk, 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 gdisk,
sgdisk, or GNU Parted programs.
Upon start, sgdisk attempts to identify the partition type in use on the
disk. If it finds valid GPT data, sgdisk will use it. If sgdisk 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 struc-
tures, 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,
sgdisk ignores those changes unless the -g (--mbrtogpt), -z (--zap), or -Z
(--zap-all) option is used. If you use the -g option, sgdisk replaces the
MBR or disklabel with a GPT. This action is potentially dangerous! Your sys-
tem 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 num-
bering if the original MBR used logical partitions. These gaps are harmless,
but you can eliminate them by using the -s (--sort) option, if you like.
(Doing this may require you to update your /etc/fstab file.)
When creating a fresh partition table, certain considerations may be in
order:
* For data (non-boot) disks, and for boot disks used on BIOS-based com-
puters with GRUB as the boot loader, partitions may be created in
whatever order and in whatever sizes are desired.
* Boot disks for EFI-based systems require an EFI System Partition
(sgdisk internal code 0xEF00) formatted as FAT-32. The recommended
size of this partition is between 100 and 300 MiB. Boot-related
files are stored here. (Note that GNU Parted identifies such parti-
tions as having the "boot flag" set.)
* Some boot loaders for BIOS-based systems make use of a BIOS Boot Par-
tition (sgdisk internal code 0xEF02), in which the secondary boot
loader is stored, possibly without the benefit of a filesystem. This
partition can typically be quite small (roughly 32 to 200 KiB), but
you should consult your boot loader documentation for details.
* If Windows is to boot from a GPT disk, a partition of type Microsoft
Reserved (sgdisk 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 actu-
ally makes the partition unusable for normal file storage in both
Windows and Mac OS X.)
* 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.
OPTIONS
Some options take no arguments, others take one argument (typically a parti-
tion number), and others take compound arguments with colon delimitation.
For instance, -n (--new) takes a partition number, a starting sector number,
and an ending sector number, as in sgdisk -n 2:2000:50000 /dev/sdc, which
creates a new partition, numbered 2, starting at sector 2000 an ending at
sector 50,000, on /dev/sdc.
Unrelated options may be combined; however, some such combinations will be
nonsense (such as deleting a partition and then changing its GUID type
code). sgdisk interprets options in the order in which they're entered, so
effects can vary depending on order. For instance, sgdisk -s -d 2 sorts the
partition table entries and then deletes partition 2 from the newly-sorted
list; but sgdisk -d 2 -s deletes the original partition 2 and then sorts the
modified partition table.
Error checking and opportunities to correct mistakes in sgdisk 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 gdisk
instead of sgdisk, since gdisk allows you to quit without saving your
changes, should you make a mistake.
Although sgdisk is based on the same partition-manipulation code as gdisk,
sgdisk implements fewer features than its interactive sibling. Options
available in sgdisk are:
-a, --set-alignment=value
Set the sector alignment multiple. GPT fdisk aligns the start of par-
titions to sectors that are multiples of this value, which defaults
to 1MiB (2048 on disks with 512-byte sectors) on freshly formatted
disks. This alignment value is necessary to obtain optimum perfor-
mance 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.
-A, --attributes=list|[partnum:show|or|nand|xor|=|set|clear|toggle|get[:bit-
num|hexbitmask]]
View or set partition attributes. Use list to see defined (known)
attribute values. Omit the partition number (and even the device
filename) when using this option. The others require a partition num-
ber. The show and get options show the current attribute settings
(all attributes or for a particular bit, respectively). The or, nand,
xor, =, set, clear, and toggle options enable you to change the
attribute bit value. The set, clear, toggle, and get options work on
a bit number; the others work on a hexadecimal bit mask. For example,
type sgdisk -A 4:set:2 /dev/sdc to set the bit 2 attribute (legacy
BIOS bootable) on partition 4 on /dev/sdc.
-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-mem-
ory 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.
-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 sgdisk -c 1:"Sample Name" /dev/sdb. Note that
the GPT name of a partition is distinct from the filesystem name,
which is encoded in the filesystem's data structures.
-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.
-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, gdisk deletes it, as well, and expands any adjacent
0xEE (EFI GPT) MBR protective partition to fill the new free space.
-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.
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.
-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 -n's option to create a partition. If no unallocated
sectors are available, this function returns the value 0.
-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 -n's option to create a partition. If no unallo-
cated sectors are available, this function returns the value 0. Note
that this parameter is blind to partition alignment; when you actu-
ally create a partition, its start point might be changed from this
value.
-F, --first-aligned-in-largest
Similar to -f (--first-in-largest), 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.
-g, --mbrtogpt
Convert an MBR or BSD disklabel disk to a GPT disk. As a safety mea-
sure, 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.
-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.
-h, --hybrid
Create a hybrid MBR. This option takes from one to three partition
numbers, separated by colons, as arguments. The created hybrid MBR
places an EFI GPT (type 0xEE) partition first in the table, 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 fdisk. The gdisk program
offers additional hybrid MBR creation options.
-i, --info=partnum
Show detailed partition information. The summary information produced
by the -p command necessarily omits many details, such as the parti-
tion's unique GUID and the translation of sgdisk's internal partition
type code to a plain type name. The -i option displays this informa-
tion for a single partition.
-l, --load-backup=file
Load partition data from a backup file. This option is the reverse of
the -b 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.
-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, sgdisk 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 gdisk. 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 sgdisk). Some OSes use a single
MBR code but employ many more codes in GPT. For these, sgdisk 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 gdisk and sgdisk. This option
does not require you to specify a valid disk device filename.
-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 pro-
gram, such as fdisk. The gdisk program offers additional MBR conver-
sion 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.
-n, --new=partnum:start:end
Create a new partition. You enter a partition number, starting sec-
tor, and an ending sector. Both start and end sectors can be speci-
fied in absolute terms as sector numbers or as positions measured in
kibibytes (K), mebibytes (M), gibibytes (G), tebibytes (T), or
pebibytes (P); for instance, 40M 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 +2G to specify a point 2GiB after the default
start sector, or -200M 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 par-
tition number. Subsequent uses of the -A, -c, -t, and -u options may
also use 0 to refer to the same partition.
-N, --largest-new=num
Create a new partition that fills the largest available block of
space on the disk. You can use the -a (--set-alignment) option to
adjust the alignment, if desired. A num value of 0 causes the program
to use the first available partition number.
-o, --clear
Clear out all partition data. This includes GPT header data, all par-
tition 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; how-
ever, most other options on the same command line will be ignored.
-O, --print-mbr
Display basic MBR 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.
-p, --print
Display basic GPT partition summary data. This includes partition
numbers, starting and ending sector numbers, partition sizes,
sgdisk's partition types codes, and partition names. For additional
information, use the -i (--info) option.
-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.
-r, --transpose
Swap two partitions' entries in the partition table. One or both par-
titions 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. Transpos-
ing partitions in this way has no effect on their disk space alloca-
tion; it only alters their order in the partition table.
-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.
-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 parti-
tions whenever they make changes. Such changes will be reflected in
your device filenames, so you may need to edit /etc/fstab if you use
this option.
-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.
-T, --transform-bsd=partnum
Transform BSD partitions into GPT partitions. This option works on
BSD disklabels held within GPT (or converted MBR) partitions. Con-
verted partitions' type codes are likely to need manual adjustment.
sgdisk 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 sgdisk being unable to convert a BSD disklabel is
high compared to the likelihood of problems with an MBR conversion.
-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.
-U, --disk-guid=guid
Set the GUID for the disk. The GUID may be a complete GUID or 'R' to
set a random GUID.
--usage
Print a brief summary of available options.
-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.
-V, --version
Display program version information. This option may be used without
specifying a device filename.
-z, --zap
Zap (destroy) the GPT data structures and then exit. Use this option
if you want to repartition a GPT disk using fdisk or some other
GPT-unaware program. This option destroys only the GPT data struc-
tures; 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.
-Z, --zap-all
Zap (destroy) the GPT and MBR data structures and then exit. This
option works much like -z, 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 reparti-
tioned the disk.
-?, --help
Print a summary of options.
RETURN VALUES
sgdisk returns various values depending on its success or failure:
0 Normal program execution
1 Too few arguments
2 An error occurred while reading the partition table
3 Non-GPT disk detected and no -g option, but operation requires a
write action
4 An error prevented saving changes
5 An error occurred while reading standard input (should never occur
with sgdisk, but may with gdisk)
8 Disk replication operation (-R) failed
BUGS
Known bugs and limitations include:
* 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.
* The FreeBSD version of the program can't write changes to the parti-
tion table to a disk when existing partitions on that disk are
mounted. (The same problem exists with many other FreeBSD utilities,
such as gpt, fdisk, and dd.) This limitation can be overcome by typ-
ing sysctl kern.geom.debugflags=16 at a shell prompt.
* The fields used to display the start and end sector numbers for par-
titions in the -p 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.
* 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 #define MAX_MBR_PARTS line in the
basicmbr.h 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 par-
titions supported by the most common partition table size.)
* 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 gdisk.
* 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.
* BSD disklabel support can create first and/or last partitions that
overlap with the GPT data structures. This can sometimes be compen-
sated by adjusting the partition table size, but in extreme cases the
affected partition(s) may need to be deleted.
* 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 parti-
tions, or converted with incorrect start or end values. Use this fea-
ture with caution!
* Booting after converting an MBR or BSD disklabel disk is likely to be
disrupted. Sometimes re-installing a boot loader will fix the prob-
lem, 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.
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)
SEE ALSO
cfdisk (8), cgdisk (8), fdisk (8), gdisk (8), mkfs (8), parted (8), sfdisk
(8) fixparts (8)
http://en.wikipedia.org/wiki/GUID_Partition_Table
http://developer.apple.com/technotes/tn2006/tn2166.html
http://www.rodsbooks.com/gdisk/
AVAILABILITY
The sgdisk command is part of the GPT fdisk package and is available from
Rod Smith.
Roderick W. Smith 1.0.1 SGDISK(8)
-------------------------------------------------------------------------------------
CGDISK(8) GPT fdisk Manual CGDISK(8)
NAME
cgdisk - Curses-based GUID partition table (GPT) manipulator
SYNOPSIS
cgdisk [ -a ] device
DESCRIPTION
GPT fdisk is a text-mode family of programs for creation and manipulation of
partition tables. The cgdisk member of this family employs a curses-based
user interface for interaction using a text-mode menuing system. It will
automatically convert an old-style Master Boot Record (MBR) partition table
or BSD disklabel stored without an MBR carrier partition to the newer Glob-
ally Unique Identifier (GUID) Partition Table (GPT) format, or will load a
GUID partition table. Other members of this program family are gdisk (the
most feature-rich program of the group, with a non-curses-based interactive
user interface) and sgdisk (which is driven via command-line options for use
by experts or in scripts). FixParts is a related program for fixing a lim-
ited set of problems with MBR disks.
For information on MBR vs. GPT, as well as GPT terminology and structure,
see the extended GPT fdisk documentation at http://www.rodsbooks.com/gdisk/
or consult Wikipedia.
The cgdisk program employs a user interface similar to that of Linux's
cfdisk, but cgdisk modifies GPT partitions. It also has the capability of
transforming MBR partitions or BSD disklabels into GPT partitions. Like the
original cfdisk program, cgdisk does not modify disk structures until you
explicitly write them to disk, so if you make a mistake, you can exit from
the program with the Quit option to leave your partitions unmodified.
Ordinarily, cgdisk operates on disk device files, such as /dev/sda or
/dev/hda under Linux, /dev/disk0 under Mac OS X, or /dev/ad0 or /dev/da0
under FreeBSD. The program can also operate on disk image files, which can
be either copies of whole disks (made with dd, for instance) or raw disk
images used by emulators such as QEMU or VMWare. Note that only raw disk
images are supported; cgdisk cannot work on compressed or other advanced
disk image formats.
Upon start, cgdisk attempts to identify the partition type in use on the
disk. If it finds valid GPT data, cgdisk will use it. If cgdisk 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 struc-
tures, though.) Upon exiting with the 'w' option, cgdisk replaces the MBR or
disklabel with a GPT. This action is potentially dangerous! 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. If you mistakenly launch
cgdisk on an MBR disk, you can safely exit the program without making any
changes by using the Quit option.
When creating a fresh partition table, certain considerations may be in
order:
* For data (non-boot) disks, and for boot disks used on BIOS-based com-
puters with GRUB as the boot loader, partitions may be created in
whatever order and in whatever sizes are desired.
* Boot disks for EFI-based systems require an EFI System Partition (GPT
fdisk internal code 0xEF00) formatted as FAT-32. The recommended
size of this partition is between 100 and 300 MiB. Boot-related
files are stored here. (Note that GNU Parted identifies such parti-
tions as having the "boot flag" set.)
* The GRUB 2 boot loader for BIOS-based systems makes use of a BIOS
Boot Partition (GPT fdisk internal code 0xEF02), in which the sec-
ondary boot loader is stored, without the benefit of a filesystem.
This partition can typically be quite small (roughly 32 KiB to 1
MiB), but you should consult your boot loader documentation for
details.
* If Windows is to boot from a GPT disk, a partition of type Microsoft
Reserved (GPT fdisk internal code 0x0C01) is recommended. This parti-
tion should be about 128 MiB in size. It ordinarily follows the EFI
System Partition and immediately precedes the Windows data parti-
tions. (Note that old versions of GNU Parted create all FAT parti-
tions as this type, which actually makes the partition unusable for
normal file storage in both Windows and Mac OS X.)
* 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. You can use GPT
fdisk's relative partition positioning option (specifying the start-
ing sector as '+128M', for instance) to simplify creating such gaps.
OPTIONS
Only one command-line option is accepted, aside from the device filename:
-a. This option alters the highlighting of partitions and blocks of free
space: Instead of using ncurses, when -a is used cgdisk uses a ">" symbol to
the left of the selected partition or free space. This option is intended
for use on limited display devices such as teletypes and screen readers.
Interactions with cgdisk occur with its interactive text-mode menus. The
display is broken into two interactive parts:
* The partition display area, in which partitions and gaps between them
(marked as "free space") are summarized.
* The option selection area, in which buttons for the main options
appear.
In addition, the top of the display shows the program's name and version
number, the device filename associated with the disk, and the disk's size in
both sectors and IEEE-1541 units (GiB, TiB, and so on).
You can use the following keys to move among the various options and to
select among them:
up arrow
This key moves the partition selection up by one partition.
down arrow
This key moves the partition selection down by one partition.
Page Up
This key moves the partition selection up by one screen.
Page Down
This key moves the partition selection down by one screen.
right arrow
This key moves the option selection to the right by one item.
left arrow
This key moves the option selection to the left by one item.
Enter This key activates the currently selected option. You can also acti-
vate an option by typing the capitalized letter in the option's name
on the keyboard, such as a to activate the Align option.
If more partitions exist than can be displayed in one screen, you can scroll
between screens using the partition selection keys, much as in a text edi-
tor.
Available options are as described below. (Note that cgdisk provides a much
more limited set of options than its sibling gdisk. If you need to perform
partition table recovery, hybrid MBR modifcation, or other advanced opera-
tions, you should consult the gdisk documentation.)
Align Change the sector alignment value. Disks with more logical sectors
than physical sectors (such as modern Advanced Format drives), some
RAID configurations, and many SSD devices, can suffer performance
problems if partitions are not aligned properly for their internal
data structures. On new disks, GPT fdisk attempts to align partitions
on 1MiB boundaries (2048-sectors on disks with 512-byte sectors) by
default, which optimizes performance for all of these disk types. On
pre-partitioned disks, GPT fdisk attempts to identify the alignment
value used on that disk, but will set 8-sector alignment on disks
larger than 300 GB even if lesser alignment values are detected. In
either case, it can be changed by using this option.
Backup 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-mem-
ory data structures, so if you launch the program, make changes, and
then use this option, the backup will reflect your changes.
Delete 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, gdisk deletes it, as well, and expands any adjacent
0xEE (EFI GPT) MBR protective partition to fill the new free space.
Help Print brief descriptions of all the options.
Info Show detailed partition information. The summary information shown in
the partition display area necessarily omits many details, such as
the partitions' unique GUIDs and the partitions' sector-exact start
and end points. The Info option displays this information for a sin-
gle partition.
Load Load partition data from a backup file. This option is the reverse of
the Backup option. Note that restoring partition data from anything
but the original disk is not recommended.
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. GPT fdisk sets a default name based on the partition type code.
Note that the GPT partition name is different from the filesystem
name, which is encoded in the filesystem's data structures. Note also
that to activate this item by typing its alphabetic equivalent, you
must use M, not the more obvious N, because the latter is used by the
next option....
New Create a new partition. You enter a starting sector, a size, a type
code, and a name. The start sector can be specified in absolute terms
as a sector number or as a position measured in kibibytes (K),
mebibytes (M), gibibytes (G), tebibytes (T), or pebibytes (P); for
instance, 40M specifies a position 40MiB from the start of the disk.
You can specify locations relative to the start or end of the speci-
fied default range by preceding the number by a '+' symbol, as in +2G
to specify a point 2GiB after the default start sector. The size
value can use the K, M, G, T, and P suffixes, too. Pressing the Enter
key with no input specifies the default value, which is the start of
the largest available block for the start sector and the full avail-
able size for the size.
Quit Quit from the program without saving your changes. Use this option
if you just wanted to view information or if you make a mistake and
want to back out of all your changes.
Type Change a single partition's type code. You enter the type code using
a two-byte hexadecimal number. You may also enter a GUID directly, if
you have one and cgdisk doesn't know it. If you don't know the type
code for your partition, you can type L to see a list of known type
codes.
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 gdisk. If no problems are found, this command displays a summary
of unallocated disk space.
Write Write data. Use this command to save your changes.
BUGS
Known bugs and limitations include:
* The program compiles correctly only on Linux, FreeBSD, and Mac OS X.
In theory, it should compile under Windows if the Ncurses library for
Windows is installed, but I have not tested this capability. 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.
Under FreeBSD, 32-bit (x86) and 64-bit (x86-64) versions have been
tested. Only 32-bit versions for Mac OS X has been tested by the
author.
* The FreeBSD version of the program can't write changes to the parti-
tion table to a disk when existing partitions on that disk are
mounted. (The same problem exists with many other FreeBSD utilities,
such as gpt, fdisk, and dd.) This limitation can be overcome by typ-
ing sysctl kern.geom.debugflags=16 at a shell prompt.
* 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 #define MAX_MBR_PARTS line in the
basicmbr.h 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 par-
titions supported by the most common partition table size.)
* 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 in
gdisk) can sometimes overcome this problem; however, in extreme cases
it may be necessary to resize a partition using GNU Parted or a simi-
lar tool prior to conversion with GPT fdisk.
* 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.
* BSD disklabel support can create first and/or last partitions that
overlap with the GPT data structures. This can sometimes be compen-
sated by adjusting the partition table size, but in extreme cases the
affected partition(s) may need to be deleted.
* 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 parti-
tions, or converted with incorrect start or end values. Use this fea-
ture with caution!
* Booting after converting an MBR or BSD disklabel disk is likely to be
disrupted. Sometimes re-installing a boot loader will fix the prob-
lem, but other times you may need to switch boot loaders. Except on
EFI-based platforms, Windows through at least Windows 7 doesn't sup-
port booting from GPT disks. Creating a hybrid MBR (using the 'h'
option on the recovery & transformation menu in gdisk) or abandoning
GPT in favor of MBR may be your only options in this case.
* The cgdisk Verify function and the partition type listing obtainable
by typing L in the Type function (or when specifying a partition type
while creating a new partition) both currently exit ncurses mode.
This limitation is a minor cosmetic blemish that does not affect
functionality.
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)
SEE ALSO
cfdisk (8), fdisk (8), gdisk (8), mkfs (8), parted (8), sfdisk (8) sgdisk
(8) fixparts (8)
http://en.wikipedia.org/wiki/GUID_Partition_Table
http://developer.apple.com/technotes/tn2006/tn2166.html
http://www.rodsbooks.com/gdisk/
AVAILABILITY
The cgdisk command is part of the GPT fdisk package and is available from
Rod Smith.
Roderick W. Smith 1.0.1 CGDISK(8)
-------------------------------------------------------------------------------------
FIXPARTS(8) FixParts Manual FIXPARTS(8)
NAME
fixparts - MBR partition table repair utility
SYNOPSIS
fixparts device
DESCRIPTION
FixParts (aka fixparts) is a text-mode menu-driven program for repairing
certain types of problems with Master Boot Record (MBR) partition tables.
The program has three design goals, although a few additional features are
supported, as well:
* It can remove stray GUID Partition Table (GPT) data, which can be
left behind on a disk that was once used as a GPT disk but then
incompletely converted to the more common (as of 2011) MBR form.
* It can repair mis-sized extended partitions -- either partitions that
extend beyond the physical end of the disk or that overlap with
nearby primary partitions. FixParts is designed in such a way that
this type of repair occurs automatically, so if it's the only problem
with your disk, you can launch the program and then immediately save
the partition table, making no manual changes, and the program will
fix the problem.
* You can change primary partitions into logical partitions or
vice-versa, within constraints imposed by the MBR data structures.
Additional features include the ability to change partition type codes or
boot/active flags, to delete partitions, and to recompute CHS values. With
the possible exception of recomputing CHS values, these secondary features
are better performed with fdisk, because fixparts' design means that it's
likely to alter partition numbering even when such changes are not
requested.
The fixparts program employs a user interface similar to that of Linux's
fdisk, but fixparts is much more specialized. Most importantly, you can't
create new partitions with fixparts, although you can change primary/logical
assignment.
In the MBR scheme, partitions come in three varieties:
primary
These partitions are defined in the first sector of the hard disk and
are limited in number to four. Some OSes, such as Windows and Free-
BSD, must boot from a primary partition.
extended
Extended partitions are specialized primary partitions. They serve as
holding areas for logical partitions.
logical
A disk can contain an arbitrary number of logical partitions (fix-
parts, however, imposes a limit of 124 logical partitions). All the
logical partitions reside inside a single extended partition, and are
defined using a linked-list data structure. This fact means that
every logical partition must be preceded by at least one sector of
unallocated space to hold its defining data structure (an Extended
Boot Record, or EBR).
These distinctions mean that primary and logical partitions cannot be arbi-
trarily interspersed. A disk can contain one to three primary partitions, a
block of one or more logical partitions, and one to three more primary par-
titions (for a total of three primary partitions, not counting the extended
partition). Primary partitions may not be sandwiched between logical parti-
tions, since this would mean placing a primary partition within an extended
partition (which is just a specific type of primary partition).
Unlike most disk utilities, fixparts' user interface ignores extended parti-
tions. Internally, the program discards the information on the original
extended partition and, when you tell it to save its changes, it generates a
new extended partition to contain the then-defined logical partitions. This
is done because most of the repairs and manipulations the tool performs
require generating a fresh extended partition, so keeping the original in
the user interface would only be a complication.
Another unusual feature of fixparts' user interface is that partition num-
bers do not necessarily correlate with primary/logical status. In most util-
ities, partitions 1-4 correspond to primary partitions, whereas partitions 5
and up are logical partitions. In fixparts, any partition number may be
assigned primary or logical status, so long as the rules for layout
described earlier are obeyed. When the partition table is saved, partitions
will be assigned appropriately and then tools such as the Linux kernel and
fdisk will give them conventional numbers.
When it first starts, fixparts performs a scan for GPT data. If the disk
looks like a conventional GPT disk, fixparts refuses to run. If the disk
appears to be a conventional MBR disk but GPT signatures are present in the
GPT primary or secondary header areas, fixparts offers to delete this extra-
neous data. If you tell it to do so, the program immediately wipes the GPT
header or headers. (If only one header was found, only that one header will
be erased, to minimize the risk of damaging a boot loader or other data that
might have overwritten just one of the GPT headers.)
With the exception of optionally erasing leftover GPT data when it first
starts, fixparts keeps all changes in memory until the user writes changes
with the w command. Thus, you can adjust your partitions in the user inter-
face and abort those changes by typing q to quit without saving changes.
OPTIONS
The fixparts utility supports no command-line options, except for specifica-
tion of the target device.
Most interactions with fixparts occur with its interactive text-mode menu.
Specific functions are:
a Toggle the active/boot flag. This flag is required by some boot load-
ers and OSes.
c Recompute the cylinder/head/sector (CHS) values for all partitions.
CHS addressing mode is largely obsolete, but some OSes and utilities
complain if they don't like the CHS values. Note that fixparts' CHS
values are likely to be incorrect on disks smaller than about 8 GiB
except on Linux.
l Change a partition's status to logical. This option will only work if
the current partition layout supports such a change. Note that if
changing a partition's status in this way is not currently possible,
making some other change may make it possible. For instance, omitting
a partition that precedes the target partition may enable converting
a partition to logical form if there had been no free sectors between
the two partitions.
o Omit a partition. Once omitted, the partition will still appear in
the fixparts partition list, but it will be flagged as omitted. You
can subsequently convert it to primary or logical form with the r or
l commands, respectively. When you save your changes with w, though,
the partition will be lost.
p Display basic partition summary data. This includes partition's num-
ber, the boot/active flag's status, starting and ending sector num-
bers, primary/logical/omitted status, whether or not the partition
may be converted to logical form, and the partition's MBR types code.
q Quit from the program without saving your changes. Use this option
if you just wanted to view information or if you make a mistake and
want to back out of all your changes.
r Change a partition's status to primary. This option will only work if
the current partition layout supports such a change. Note that every
partition can theoretically become a primary partition, although in
some configurations, making this change will require omitting some
partitions. If fixparts refuses to allow changing a partition to
primary, you may need to convert other partitions to logical form or
omit them entirely.
s Sort partition entries. This option orders partitions in the display
to match their on-disk positions, which can make understanding the
disk layout easier in some cases. This option has no effect on the
ultimate ordering of logical partitions, which are sorted before
being saved. The order of primary partitions in the final saved par-
tition table may be affected by this option. In both cases, as
already noted, the partition numbers displayed by fixparts may not be
the same as those used by the kernel or displayed by other partition-
ing tools.
t Change a partition's type code. You enter the type code using a
one-byte hexadecimal number.
w Write data. Use this command to save your changes and exit from the
program.
? Print the menu. Type this command (or any other unrecognized command)
to see a summary of available options.
BUGS
Known bugs and limitations include:
* The program compiles correctly only on Linux, FreeBSD, Mac OS X, and
Windows. Linux versions for x86-64 (64-bit), x86 (32-bit), and Pow-
erPC (32-bit) have been tested, with the x86-64 version having seen
the most testing. Under FreeBSD, 32-bit (x86) and 64-bit (x86-64)
versions have been tested. Only 32-bit versions for Mac OS X and Win-
dows have been tested.
* The FreeBSD version of the program can't write changes to the parti-
tion table to a disk when existing partitions on that disk are
mounted. (The same problem exists with many other FreeBSD utilities,
such as gpt, fdisk, and dd.) This limitation can be overcome by typ-
ing sysctl kern.geom.debugflags=16 at a shell prompt.
* The program can load only up to 128 partitions (4 primary partitions
and 124 logical partitions). This limit can be raised by changing the
#define MAX_MBR_PARTS line in the basicmbr.h source code file and
recompiling.
* The program can read partitions only if the disk has correct LBA par-
tition 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.
* The program makes no effort to preserve partition numbers. This can
have consequences for boot loaders and for mounting filesystems via
/etc/fstab. It may be necessary to edit configuration files or even
to re-install your boot loader.
*
The program may change the order of partitions in the partition ta-
ble.
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)
SEE ALSO
cfdisk (8), cgdisk (8), fdisk (8), mkfs (8), parted (8), sfdisk (8) gdisk
(8) sgdisk (8)
http://en.wikipedia.org/wiki/Master_boot_record
http://www.rodsbooks.com/fixparts/
AVAILABILITY
The fixparts command is part of the GPT fdisk package and is available from
Rod Smith.
Roderick W. Smith 1.0.1 FIXPARTS(8)