496 lines
18 KiB
HTML
496 lines
18 KiB
HTML
|
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
|
<HTML><HEAD><TITLE>Man page of CGDISK</TITLE>
|
|
</HEAD><BODY>
|
|
<H1>CGDISK</H1>
|
|
Section: GPT fdisk Manual (8)<BR>Updated: 1.0.5<BR><A HREF="#index">Index</A>
|
|
<A HREF="/cgi-bin/man/man2html">Return to Main Contents</A><HR>
|
|
|
|
<A NAME="lbAB"> </A>
|
|
<H2>NAME</H2>
|
|
|
|
cgdisk - Curses-based GUID partition table (GPT) manipulator
|
|
<A NAME="lbAC"> </A>
|
|
<H2>SYNOPSIS</H2>
|
|
|
|
<B>cgdisk </B>
|
|
|
|
[ -a ]
|
|
<I>device</I>
|
|
|
|
<P>
|
|
<A NAME="lbAD"> </A>
|
|
<H2>DESCRIPTION</H2>
|
|
|
|
<P>
|
|
GPT fdisk is a text-mode family of programs for creation and manipulation
|
|
of partition tables. The <B>cgdisk</B> 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 Globally Unique Identifier (GUID) Partition Table
|
|
(GPT) format, or will load a GUID partition table. Other members of this
|
|
program family are <B>gdisk</B> (the most feature-rich program of the group,
|
|
with a non-curses-based interactive user interface) and <B>sgdisk</B> (which
|
|
is driven via command-line options for use by experts or in scripts).
|
|
FixParts is a related program for fixing a limited set of problems with MBR
|
|
disks.
|
|
<P>
|
|
For information on MBR vs. GPT, as well as GPT terminology and structure,
|
|
see the extended GPT fdisk documentation at
|
|
<I><A HREF="http://www.rodsbooks.com/gdisk/">http://www.rodsbooks.com/gdisk/</A></I> or consult Wikipedia.
|
|
<P>
|
|
The <B>cgdisk</B> program employs a user interface similar to that of Linux's
|
|
<B>cfdisk</B>, but <B>cgdisk</B> modifies GPT partitions. It also has the
|
|
capability of transforming MBR partitions or BSD disklabels into GPT
|
|
partitions. Like the original <B>cfdisk</B> program, <B>cgdisk</B> 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.
|
|
<P>
|
|
Ordinarily, <B>cgdisk</B> operates on disk device files, such as
|
|
<I>/dev/sda</I> or <I>/dev/hda</I> under Linux, <I>/dev/disk0</I> under
|
|
Mac OS X, or <I>/dev/ad0</I> or <I>/dev/da0</I> under FreeBSD. The program
|
|
can also operate on disk image files, which can be either copies of whole
|
|
disks (made with <B>dd</B>, for instance) or raw disk images used by
|
|
emulators such as QEMU or VMWare. Note that only <I>raw</I> disk images
|
|
are supported; <B>cgdisk</B> cannot work on compressed or other advanced
|
|
disk image formats.
|
|
<P>
|
|
Upon start, <B>cgdisk</B> attempts to identify the partition type in use on
|
|
the disk. If it finds valid GPT data, <B>cgdisk</B> will use it. If
|
|
<B>cgdisk</B> 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.) Upon exiting with the 'w' option,
|
|
<B>cgdisk</B> replaces the MBR or disklabel with a GPT. <I>This action is
|
|
potentially dangerous!</I> 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 <B>cgdisk</B> on an MBR disk, you
|
|
can safely exit the program without making any changes by using the Quit
|
|
option.
|
|
<P>
|
|
When creating a fresh partition table, certain considerations may be in
|
|
order:
|
|
<P>
|
|
<DL COMPACT>
|
|
<DT id="1"><B>*</B>
|
|
|
|
<DD>
|
|
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.
|
|
<P>
|
|
<DT id="2"><B>*</B>
|
|
|
|
<DD>
|
|
Boot disks for EFI-based systems require an <I>EFI System
|
|
Partition</I> (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 partitions as having the "boot flag" set.)
|
|
<P>
|
|
<DT id="3"><B>*</B>
|
|
|
|
<DD>
|
|
The GRUB 2 boot loader for BIOS-based systems makes use of a <I>BIOS Boot
|
|
Partition</I> (GPT fdisk internal code 0xEF02), in which the secondary
|
|
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.
|
|
<P>
|
|
<DT id="4"><B>*</B>
|
|
|
|
<DD>
|
|
If Windows is to boot from a GPT disk, a partition of type <I>Microsoft
|
|
Reserved</I> (GPT fdisk
|
|
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.)
|
|
<P>
|
|
<DT id="5"><B>*</B>
|
|
|
|
<DD>
|
|
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 starting sector as '+128M', for
|
|
instance) to simplify creating such gaps.
|
|
<P>
|
|
</DL>
|
|
<A NAME="lbAE"> </A>
|
|
<H2>OPTIONS</H2>
|
|
|
|
<P>
|
|
<P>
|
|
|
|
<P>
|
|
Only one command-line option is accepted, aside from the device filename:
|
|
<I>-a</I>. This option alters the highlighting of partitions and blocks of
|
|
free space: Instead of using ncurses, when <I>-a</I> is used <B>cgdisk</B>
|
|
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.
|
|
<P>
|
|
Interactions with <B>cgdisk</B> occur with its interactive text-mode menus.
|
|
The display is broken into two interactive parts:
|
|
<P>
|
|
<DL COMPACT>
|
|
<DT id="6"><B>*</B>
|
|
|
|
<DD>
|
|
The partition display area, in which partitions and gaps between them
|
|
(marked as "free space") are summarized.
|
|
<P>
|
|
<DT id="7"><B>*</B>
|
|
|
|
<DD>
|
|
The option selection area, in which buttons for the main options appear.
|
|
<P>
|
|
</DL>
|
|
<P>
|
|
|
|
<P>
|
|
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).
|
|
<P>
|
|
You can use the following keys to move among the various options and to
|
|
select among them:
|
|
<P>
|
|
<DL COMPACT>
|
|
<DT id="8"><B>up arrow</B>
|
|
|
|
<DD>
|
|
This key moves the partition selection up by one partition.
|
|
<P>
|
|
<DT id="9"><B>down arrow</B>
|
|
|
|
<DD>
|
|
This key moves the partition selection down by one partition.
|
|
<P>
|
|
<DT id="10"><B>Page Up</B>
|
|
|
|
<DD>
|
|
This key moves the partition selection up by one screen.
|
|
<P>
|
|
<DT id="11"><B>Page Down</B>
|
|
|
|
<DD>
|
|
This key moves the partition selection down by one screen.
|
|
<P>
|
|
<DT id="12"><B>right arrow</B>
|
|
|
|
<DD>
|
|
This key moves the option selection to the right by one item.
|
|
<P>
|
|
<DT id="13"><B>left arrow</B>
|
|
|
|
<DD>
|
|
This key moves the option selection to the left by one item.
|
|
<P>
|
|
<DT id="14"><B>Enter</B>
|
|
|
|
<DD>
|
|
This key activates the currently selected option. You can also activate an
|
|
option by typing the capitalized letter in the option's name on the
|
|
keyboard, such as <B>a</B> to activate the Align option.
|
|
<P>
|
|
</DL>
|
|
<P>
|
|
|
|
<P>
|
|
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 editor.
|
|
<P>
|
|
Available options are as described below. (Note that <B>cgdisk</B> provides
|
|
a much more limited set of options than its sibling <B>gdisk</B>. If you
|
|
need to perform partition table recovery, hybrid MBR modification, or other
|
|
advanced operations, you should consult the <B>gdisk</B> documentation.)
|
|
<P>
|
|
<DL COMPACT>
|
|
<DT id="15"><B>Align</B>
|
|
|
|
<DD>
|
|
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 1 MiB 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.
|
|
<P>
|
|
<DT id="16"><B>Backup</B>
|
|
|
|
<DD>
|
|
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.
|
|
<P>
|
|
<DT id="17"><B>Delete</B>
|
|
|
|
<DD>
|
|
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,
|
|
<B>gdisk</B> deletes it, as well, and expands any adjacent 0xEE (EFI GPT)
|
|
MBR protective partition to fill the new free space.
|
|
<P>
|
|
<DT id="18"><B>Help</B>
|
|
|
|
<DD>
|
|
Print brief descriptions of all the options.
|
|
<P>
|
|
<DT id="19"><B>Info</B>
|
|
|
|
<DD>
|
|
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 single partition.
|
|
<P>
|
|
<DT id="20"><B>Load</B>
|
|
|
|
<DD>
|
|
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.
|
|
<P>
|
|
<DT id="21"><B>naMe</B>
|
|
|
|
<DD>
|
|
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 <B>M</B>, not the more
|
|
obvious <B>N</B>, because the latter is used by the next option....
|
|
<P>
|
|
<DT id="22"><B>New</B>
|
|
|
|
<DD>
|
|
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, <I></I><B>40M</B>
|
|
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 '+' symbol, as in <I></I><B>+2G</B> 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 available size for the size.
|
|
<P>
|
|
<DT id="23"><B>Quit</B>
|
|
|
|
<DD>
|
|
Quit from the program <I>without saving your changes</I>.
|
|
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.
|
|
<P>
|
|
<DT id="24"><B>Type</B>
|
|
|
|
<DD>
|
|
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 <B>cgdisk</B> doesn't know it. If you don't know the type code
|
|
for your partition, you can type <B>L</B> to see a list of known type codes.
|
|
The type code list may optionally be filtered by a search string; for
|
|
instance, entering <I></I><B>linux</B> shows only partition type codes with
|
|
descriptions that include the string <I>Linux</I>. This search is performed
|
|
case-insensitively.
|
|
<P>
|
|
<DT id="25"><B>Verify</B>
|
|
|
|
<DD>
|
|
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
|
|
<B>gdisk</B>. If no problems are found, this command displays a summary of
|
|
unallocated disk space.
|
|
<P>
|
|
<DT id="26"><B>Write</B>
|
|
|
|
<DD>
|
|
Write data. Use this command to save your changes.
|
|
<P>
|
|
</DL>
|
|
<A NAME="lbAF"> </A>
|
|
<H2>BUGS</H2>
|
|
|
|
<P>
|
|
Known bugs and limitations include:
|
|
<P>
|
|
<DL COMPACT>
|
|
<DT id="27"><B>*</B>
|
|
|
|
<DD>
|
|
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.
|
|
<P>
|
|
<DT id="28"><B>*</B>
|
|
|
|
<DD>
|
|
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
|
|
<B>gpt</B>, <B>fdisk</B>, and <B>dd</B>.) This limitation can be overcome
|
|
by typing <B>sysctl kern.geom.debugflags=16</B> at a shell prompt.
|
|
<P>
|
|
<DT id="29"><B>*</B>
|
|
|
|
<DD>
|
|
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 <I>#define MAX_MBR_PARTS</I> line in the
|
|
<I>basicmbr.h</I> 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.)
|
|
<P>
|
|
<DT id="30"><B>*</B>
|
|
|
|
<DD>
|
|
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 <B>gdisk</B>) 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 GPT fdisk.
|
|
<P>
|
|
<DT id="31"><B>*</B>
|
|
|
|
<DD>
|
|
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.
|
|
<P>
|
|
<DT id="32"><B>*</B>
|
|
|
|
<DD>
|
|
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.
|
|
<P>
|
|
<DT id="33"><B>*</B>
|
|
|
|
<DD>
|
|
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!
|
|
<P>
|
|
<DT id="34"><B>*</B>
|
|
|
|
<DD>
|
|
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 doesn't support booting from
|
|
GPT disks. Creating a hybrid MBR (using the 'h' option on the recovery &
|
|
transformation menu in <B>gdisk</B>) or abandoning GPT in favor of MBR may
|
|
be your only options in this case.
|
|
<P>
|
|
<DT id="35"><B>*</B>
|
|
|
|
<DD>
|
|
The <B>cgdisk</B> Verify function and the partition type listing obtainable
|
|
by typing <I>L</I> 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.
|
|
<P>
|
|
</DL>
|
|
<A NAME="lbAG"> </A>
|
|
<H2>AUTHORS</H2>
|
|
|
|
Primary author: Roderick W. Smith (<A HREF="mailto:rodsmith@rodsbooks.com">rodsmith@rodsbooks.com</A>)
|
|
<P>
|
|
Contributors:
|
|
<P>
|
|
* Yves Blusseau (<A HREF="mailto:1otnwmz02@sneakemail.com">1otnwmz02@sneakemail.com</A>)
|
|
<P>
|
|
* David Hubbard (<A HREF="mailto:david.c.hubbard@gmail.com">david.c.hubbard@gmail.com</A>)
|
|
<P>
|
|
* Justin Maggard (<A HREF="mailto:justin.maggard@netgear.com">justin.maggard@netgear.com</A>)
|
|
<P>
|
|
* Dwight Schauer (<A HREF="mailto:dschauer@gmail.com">dschauer@gmail.com</A>)
|
|
<P>
|
|
* Florian Zumbiehl (<A HREF="mailto:florz@florz.de">florz@florz.de</A>)
|
|
<P>
|
|
<P>
|
|
<A NAME="lbAH"> </A>
|
|
<H2>SEE ALSO</H2>
|
|
|
|
<B><A HREF="/cgi-bin/man/man2html?8+cfdisk">cfdisk</A></B>(8),
|
|
|
|
<B><A HREF="/cgi-bin/man/man2html?8+fdisk">fdisk</A></B>(8),
|
|
|
|
<B><A HREF="/cgi-bin/man/man2html?8+gdisk">gdisk</A></B>(8),
|
|
|
|
<B><A HREF="/cgi-bin/man/man2html?8+mkfs">mkfs</A></B>(8),
|
|
|
|
<B><A HREF="/cgi-bin/man/man2html?8+parted">parted</A></B>(8),
|
|
|
|
<B><A HREF="/cgi-bin/man/man2html?8+sfdisk">sfdisk</A></B>(8),
|
|
|
|
<B><A HREF="/cgi-bin/man/man2html?8+sgdisk">sgdisk</A></B>(8),
|
|
|
|
<B><A HREF="/cgi-bin/man/man2html?8+fixparts">fixparts</A></B>(8).
|
|
|
|
<P>
|
|
<I><A HREF="http://en.wikipedia.org/wiki/GUID_Partition_Table">http://en.wikipedia.org/wiki/GUID_Partition_Table</A></I>
|
|
<P>
|
|
<I><A HREF="http://developer.apple.com/technotes/tn2006/tn2166.html">http://developer.apple.com/technotes/tn2006/tn2166.html</A></I>
|
|
<P>
|
|
<I><A HREF="http://www.rodsbooks.com/gdisk/">http://www.rodsbooks.com/gdisk/</A></I>
|
|
<P>
|
|
<A NAME="lbAI"> </A>
|
|
<H2>AVAILABILITY</H2>
|
|
|
|
The <B>cgdisk</B> command is part of the <I>GPT fdisk</I> package and is
|
|
available from Rod Smith.
|
|
<P>
|
|
|
|
<HR>
|
|
<A NAME="index"> </A><H2>Index</H2>
|
|
<DL>
|
|
<DT id="36"><A HREF="#lbAB">NAME</A><DD>
|
|
<DT id="37"><A HREF="#lbAC">SYNOPSIS</A><DD>
|
|
<DT id="38"><A HREF="#lbAD">DESCRIPTION</A><DD>
|
|
<DT id="39"><A HREF="#lbAE">OPTIONS</A><DD>
|
|
<DT id="40"><A HREF="#lbAF">BUGS</A><DD>
|
|
<DT id="41"><A HREF="#lbAG">AUTHORS</A><DD>
|
|
<DT id="42"><A HREF="#lbAH">SEE ALSO</A><DD>
|
|
<DT id="43"><A HREF="#lbAI">AVAILABILITY</A><DD>
|
|
</DL>
|
|
<HR>
|
|
This document was created by
|
|
<A HREF="/cgi-bin/man/man2html">man2html</A>,
|
|
using the manual pages.<BR>
|
|
Time: 00:06:11 GMT, March 31, 2021
|
|
</BODY>
|
|
</HTML>
|