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