srs5694 | 55d9261 | 2010-03-07 22:16:07 -0500 | [diff] [blame] | 1 | .\" Copyright 2010 Roderick W. Smith (rodsmith@rodsbooks.com) |
srs5694 | 73ba479 | 2010-01-12 18:18:17 -0500 | [diff] [blame] | 2 | .\" May be distributed under the GNU General Public License |
srs5694 | ab4b043 | 2010-09-25 20:39:52 -0400 | [diff] [blame^] | 3 | .TH "SGDISK" "8" "0.6.11" "Roderick W. Smith" "GPT fdisk Manual" |
srs5694 | 73ba479 | 2010-01-12 18:18:17 -0500 | [diff] [blame] | 4 | .SH "NAME" |
| 5 | sgdisk \- Command\-line GUID partition table (GPT) manipulator for Linux and Unix |
| 6 | .SH "SYNOPSIS" |
| 7 | .BI "sgdisk " |
| 8 | [ options ] |
| 9 | .I device |
| 10 | |
| 11 | .SH "DESCRIPTION" |
| 12 | GPT fdisk is a text\-mode menu\-driven package for creation and manipulation of |
| 13 | partition tables. It consists of two programs: the text\-mode interactive |
| 14 | \fBgdisk\fR and the command\-line \fBsgdisk\fR. Either program will |
| 15 | automatically convert an old\-style Master Boot Record (MBR) partition table |
| 16 | or BSD disklabel stored without an MBR carrier partition to the newer Globally |
| 17 | Unique Identifier (GUID) Partition Table (GPT) format, or will load a GUID |
| 18 | partition table. This man page documents the command\-line \fBsgdisk\fR |
| 19 | program. |
| 20 | |
| 21 | Some advanced data manipulation and |
| 22 | recovery options require you to understand the distinctions between the |
| 23 | main and backup data, as well as between the GPT headers and the partition |
| 24 | tables. For information on MBR vs. GPT, as well as GPT terminology and |
| 25 | structure, see the extended \fBgdisk\fR documentation at |
| 26 | \fIhttp://www.rodsbooks.com/gdisk/\fR or consult Wikipedia. |
| 27 | |
| 28 | The \fBsgdisk\fR program employs a user interface that's based entirely on |
| 29 | the command line, making it suitable for use in scripts or by experts who |
| 30 | want to make one or two quick changes to a disk. (The program may query the |
| 31 | user when certain errors are encountered, though.) The program's name is |
| 32 | based on \fBsfdisk\fR, but the user options of the two programs are |
| 33 | entirely different from one another. |
| 34 | |
| 35 | Ordinarily, \fBsgdisk\fR operates on disk device files, such as |
| 36 | \fI/dev/sda\fR or \fI/dev/hda\fR under Linux, \fI/dev/disk0\fR under |
| 37 | Mac OS X, or \fI/dev/ad0\fR or \fI/dev/da0\fR under FreeBSD. The program |
| 38 | can also operate on disk image files, which can be either copies of whole |
| 39 | disks (made with \fBdd\fR, for instance) or raw disk images used by |
| 40 | emulators such as QEMU or VMWare. Note that only \fIraw\fR disk images |
| 41 | are supported; \fBsgdisk\fR cannot work on compressed or other advanced |
| 42 | disk image formats. |
| 43 | |
| 44 | The MBR partitioning system uses a combination of cylinder/head/sector |
| 45 | (CHS) addressing and logical block addressing (LBA). The former is klunky |
| 46 | and limiting. GPT drops CHS addressing and uses 64\-bit LBA mode |
| 47 | exclusively. Thus, GPT data structures, and therefore |
| 48 | \fBsgdisk\fR, do not need to deal with CHS geometries and all the problems |
| 49 | they create. |
| 50 | |
| 51 | For best results, you should use an OS\-specific partition table |
| 52 | program whenever possible. For example, you should make Mac OS X |
| 53 | partitions with the Mac OS X Disk Utility program and Linux partitions |
| 54 | with the Linux \fBgdisk\fR, \fBsgdisk\fR, or GNU Parted programs. |
| 55 | |
| 56 | Upon start, \fBsgdisk\fR attempts to identify the partition type in use on |
| 57 | the disk. If it finds valid GPT data, \fBsgdisk\fR will use it. If |
| 58 | \fBsgdisk\fR finds a valid MBR or BSD disklabel but no GPT data, it will |
| 59 | attempt to convert the MBR or disklabel into GPT form. (BSD disklabels are |
| 60 | likely to have unusable first and/or final partitions because they overlap |
| 61 | with the GPT data structures, though.) GPT fdisk can identify, but not use |
| 62 | data in, Apple Partition Map (APM) disks, which are used on 680x0\- and |
srs5694 | 08bb0da | 2010-02-19 17:19:55 -0500 | [diff] [blame] | 63 | PowerPC\-based Macintoshes. If you specify any option that results in |
| 64 | changes to an MBR or BSD disklabel, \fBsgdisk\fR ignores those changes |
| 65 | unless the \fI\-g\fR (\fI\-\-mbrtogpt\fR), \fI\-z\fR (\fI\-\-zap\fR), or |
| 66 | \fI\-Z\fR (\fI\-\-zap\-all\fR) option is used. If you use the \fI\-g\fR |
| 67 | option, \fBsgdisk\fR replaces the MBR or disklabel with a GPT. \fIThis |
| 68 | action is potentially dangerous!\fR Your system may become unbootable, and |
| 69 | partition type codes may become corrupted if the disk uses unrecognized |
| 70 | type codes. Boot problems are particularly likely if you're multi\-booting |
| 71 | with any GPT\-unaware OS. |
srs5694 | 73ba479 | 2010-01-12 18:18:17 -0500 | [diff] [blame] | 72 | |
| 73 | The MBR\-to\-GPT conversion will leave at least one gap in the partition |
| 74 | numbering if the original MBR used logical partitions. These gaps are |
| 75 | harmless, but you can eliminate them by using the \fI\-s\fR (\fI\-\-sort\fR) |
| 76 | option, if you like. (Doing this may require you to update your |
| 77 | \fI/etc/fstab\fR file.) |
| 78 | |
| 79 | When creating a fresh partition table, certain considerations may be in |
| 80 | order: |
| 81 | |
| 82 | .TP |
| 83 | .B * |
| 84 | For data (non\-boot) disks, and for boot disks used on BIOS\-based computers |
| 85 | with GRUB as the boot loader, partitions may be created in whatever order |
| 86 | and in whatever sizes are desired. |
| 87 | |
| 88 | .TP |
| 89 | .B * |
| 90 | Boot disks for EFI\-based systems require an \fIEFI System |
| 91 | Partition\fR (\fBsgdisk\fR internal code 0xEF00) formatted as FAT\-32. |
| 92 | The recommended size of this partition is between 100 and 200 MiB. |
| 93 | Boot\-related files are stored here. (Note that GNU Parted identifies |
| 94 | such partitions as having the "boot flag" set.) |
| 95 | |
| 96 | .TP |
| 97 | .B * |
| 98 | Some boot loaders for BIOS\-based systems make use of a \fIBIOS Boot |
| 99 | Partition\fR (\fBsgdisk\fR internal code 0xEF02), in which the secondary |
| 100 | boot loader is stored, possibly without the benefit of a filesystem. This |
| 101 | partition can typically be quite small (roughly 32 to 200 KiB), but you |
| 102 | should consult your boot loader documentation for details. |
| 103 | |
| 104 | .TP |
| 105 | .B * |
| 106 | If Windows is to boot from a GPT disk, a partition of type \fIMicrosoft |
| 107 | Reserved\fR (\fBsgdisk\fR |
| 108 | internal code 0x0C01) is recommended. This partition should be about 128 MiB |
| 109 | in size. It ordinarily follows the EFI System Partition and immediately |
| 110 | precedes the Windows data partitions. (Note that GNU Parted creates all |
| 111 | FAT partitions as this type, which actually makes the partition unusable |
| 112 | for normal file storage in both Windows and Mac OS X.) |
| 113 | |
| 114 | .TP |
| 115 | .B * |
| 116 | Some OSes' GPT utilities create some blank space (typically 128 MiB) after |
| 117 | each partition. The intent is to enable future disk utilities to use this |
| 118 | space. Such free space is not required of GPT disks, but creating it may |
| 119 | help in future disk maintenance. |
| 120 | |
| 121 | .SH "OPTIONS" |
| 122 | Some options take no arguments, others take one argument (typically a partition |
| 123 | number), and others take compound arguments with colon delimitation. For |
| 124 | instance, \fI\-n\fR (\fI\-\-new\fR) takes a partition number, a starting |
| 125 | sector number, and an ending sector number, as in \fBsgdisk \-n 2:2000:50000 |
| 126 | /dev/sdc\fR, which creates a new partition, numbered 2, starting at sector |
| 127 | 2000 an ending at sector 50,000, on \fI/dev/sdc\fR. |
| 128 | |
| 129 | Unrelated options may be combined; however, some such combinations will be |
| 130 | nonsense (such as deleting a partition and then changing its GUID type code). |
| 131 | \fBsgdisk\fR interprets options in the order in which they're entered, so |
| 132 | effects can vary depending on order. For instance, \fBsgdisk \-s \-d 2\fR |
| 133 | sorts the partition table entries and then deletes partition 2 from the |
| 134 | newly\-sorted list; but \fBsgdisk \-d 2 \-s\fR deletes the original partition |
| 135 | 2 and then sorts the modified partition table. |
| 136 | |
| 137 | Error checking and opportunities to correct mistakes in \fBsgdisk\fR are |
| 138 | minimal. Although the program endeavors to keep the GPT data structures legal, |
| 139 | it does not prompt for verification before performing its actions. Unless you |
| 140 | require a command\-line\-driven program, you should use the interactive |
| 141 | \fBgdisk\fR instead of \fBsgdisk\fR, since \fBgdisk\fR allows you to |
| 142 | quit without saving your changes, should you make a mistake. |
| 143 | |
| 144 | Although \fBsgdisk\fR is based on the same partition\-manipulation code as |
| 145 | \fBgdisk\fR, \fBsgdisk\fR implements fewer features than its interactive |
| 146 | sibling. Options available in \fBsgdisk\fR are: |
| 147 | |
| 148 | .TP |
| 149 | .B \-a, \-\-set\-alignment=value |
| 150 | Set the sector alignment multiple. GPT fdisk aligns the start of partitions |
srs5694 | 8a4ddfc | 2010-03-21 19:05:49 -0400 | [diff] [blame] | 151 | to sectors that are multiples of this value, which defaults to 2048 on |
| 152 | freshly formatted disks. This alignment value is necessary to obtain optimum |
| 153 | performance with Western Digital Advanced Format and similar drives with larger |
| 154 | physical than logical sector sizes and with some types of RAID arrays. |
srs5694 | 73ba479 | 2010-01-12 18:18:17 -0500 | [diff] [blame] | 155 | |
srs5694 | 9ddc14b | 2010-08-22 22:44:42 -0400 | [diff] [blame] | 156 | .TP |
| 157 | .B \-A, \-\-attributes=list|[partnum:show|or|nand|xor|=|set|clear|toggle|get[:bitnum|hexbitmask]] |
| 158 | View or set partition attributes. Use \fIlist\fR to see defined (known) |
| 159 | attribute values. Omit the partition number (and even the device filename) |
| 160 | when using this option. The others require a partition number. The |
| 161 | \fIshow\fR and \fIget\fR options show the current attribute settings |
| 162 | (all attributes or for a particular bit, respectively). The \fIor\fR, |
| 163 | \fInand\fR, \fIxor\fR, \fI\=\fR, \fIset\fR, \fIclear\fR, and |
| 164 | \fItoggle\fR options enable you to change the attribute bit value. The |
| 165 | \fIset\fR, \fIclear\fR, \fItoggle\fR, and \fIget\fR options work on a |
| 166 | bit number; the others work on a hexadecimal bit mask. For example, type |
| 167 | \fBsgdisk -A 4:set:2 /dev/sdc\fR to set the bit 2 attribute (legacy BIOS |
| 168 | bootable) on partition 4 on \fI/dev/sdc\fR. |
| 169 | |
srs5694 | 73ba479 | 2010-01-12 18:18:17 -0500 | [diff] [blame] | 170 | .TP |
| 171 | .B \-b, \-\-backup=file |
| 172 | Save partition data to a backup file. You can back up your current |
| 173 | in\-memory partition table to a disk file using this option. The resulting |
| 174 | file is a binary file consisting of the protective MBR, the main GPT |
| 175 | header, the backup GPT header, and one copy of the partition table, in that |
| 176 | order. Note that the backup is of the current in\-memory data structures, so |
| 177 | if you launch the program, make changes, and then use this option, the |
| 178 | backup will reflect your changes. If the GPT data structures are damaged, |
| 179 | the backup may not accurately reflect the damaged state; instead, they |
| 180 | will reflect GPT fdisk's first\-pass interpretation of the GPT. |
| 181 | |
| 182 | .TP |
srs5694 | 9ba5421 | 2010-05-18 23:24:02 -0400 | [diff] [blame] | 183 | .B \-c, \-\-change\-name=partnum:name |
srs5694 | 73ba479 | 2010-01-12 18:18:17 -0500 | [diff] [blame] | 184 | Change the GPT name of a partition. This name is encoded as a UTF\-16 |
| 185 | string, but \fBsgdisk\fR |
| 186 | supports only ASCII characters as names. For the most part, Linux ignores |
| 187 | the partition name, but it may be important in some OSes. GPT fdisk sets |
| 188 | a default name based on the partition type code. If you want to set a name |
| 189 | that includes a space, enclose it in quotation marks, as in |
srs5694 | c54e9b4 | 2010-05-01 21:04:23 -0400 | [diff] [blame] | 190 | \fIsgdisk \-c 1:"Sample Name" /dev/sdb\fR. Note that the GPT name of a |
| 191 | partition is distinct from the filesystem name, which is encoded in the |
| 192 | filesystem's data structures. |
srs5694 | 73ba479 | 2010-01-12 18:18:17 -0500 | [diff] [blame] | 193 | |
srs5694 | 9ba5421 | 2010-05-18 23:24:02 -0400 | [diff] [blame] | 194 | .TP |
| 195 | .B \-C, \-\-recompute-chs |
| 196 | Recompute CHS values in protective or hybrid MBR. This option can sometimes |
| 197 | help if a disk utility, OS, or BIOS doesn't like the CHS values used by the |
| 198 | partitions in the protective or hybrid MBR. In particular, the GPT |
| 199 | specification requires a CHS value of 0xFFFFFF for over-8GiB partitions, |
| 200 | but this value is technically illegal by the usual standards. Some BIOSes |
| 201 | hang if they encounter this value. This option will recompute a more normal |
| 202 | CHS value -- 0xFEFFFF for over-8GiB partitions, enabling these BIOSes to |
| 203 | boot. |
| 204 | |
srs5694 | 73ba479 | 2010-01-12 18:18:17 -0500 | [diff] [blame] | 205 | .TP |
| 206 | .B \-d, \-\-delete=partnum |
| 207 | Delete a partition. This action deletes the entry from the partition table |
| 208 | but does not disturb the data within the sectors originally allocated to |
| 209 | the partition on the disk. If a corresponding hybrid MBR partition exists, |
| 210 | \fBgdisk\fR deletes it, as well, and expands any adjacent 0xEE (EFI GPT) |
| 211 | MBR protective partition to fill the new free space. |
| 212 | |
| 213 | .TP |
srs5694 | 55d9261 | 2010-03-07 22:16:07 -0500 | [diff] [blame] | 214 | .B \-D, \-\-display\-alignment |
| 215 | Display current sector alignment value. Partitions will be created on multiples |
| 216 | of the sector value reported by this option. You can change the alignment value |
| 217 | with the \-a option. |
| 218 | |
| 219 | .TP |
srs5694 | 73ba479 | 2010-01-12 18:18:17 -0500 | [diff] [blame] | 220 | .B e, \-\-move\-second\-header |
| 221 | Move backup GPT data structures to the end of the disk. Use this option if |
| 222 | you've added disks to a RAID array, thus creating a virtual disk with space |
| 223 | that follows the backup GPT data structures. This command moves the backup |
| 224 | GPT data structures to the end of the disk, where they belong. |
| 225 | |
| 226 | .TP |
srs5694 | 9ddc14b | 2010-08-22 22:44:42 -0400 | [diff] [blame] | 227 | .B \-E, \-\-end\-of\-largest |
srs5694 | 73ba479 | 2010-01-12 18:18:17 -0500 | [diff] [blame] | 228 | Displays the sector number of the end of the largest available block of |
| 229 | sectors on the disk. A script may store this value and pass it back as |
| 230 | part of \fI\-n\fR's option to create a partition. If no unallocated |
| 231 | sectors are available, this function returns the value 0. |
| 232 | |
| 233 | .TP |
| 234 | .B \-f, \-\-first\-in\-largest |
| 235 | Displays the sector number of the start of the largest available block of |
| 236 | sectors on the disk. A script may store this value and pass it back as |
| 237 | part of \fI\-n\fR's option to create a partition. If no unallocated |
srs5694 | ab4b043 | 2010-09-25 20:39:52 -0400 | [diff] [blame^] | 238 | sectors are available, this function returns the value 0. Note that this |
| 239 | parameter is blind to partition alignment; when you actually create a |
| 240 | partition, its start point might be changed from this value. |
| 241 | |
| 242 | .TP |
| 243 | .B \-F, \-\-first\-aligned\-in\-largest |
| 244 | Similar to \fI\-f\fR (\fI\-\-first\-in\-largest\fR), except returns the |
| 245 | sector number with the current alignment correction applied. Use this |
| 246 | function if you need to compute the actual partition start point rather |
| 247 | than a theoretical start point or the actual start point if you set the |
| 248 | alignment value to 1. |
srs5694 | 73ba479 | 2010-01-12 18:18:17 -0500 | [diff] [blame] | 249 | |
| 250 | .TP |
| 251 | .B \-g, \-\-mbrtogpt |
srs5694 | 3c0af38 | 2010-01-15 19:19:18 -0500 | [diff] [blame] | 252 | Convert an MBR or BSD disklabel disk to a GPT disk. As a safety measure, use of |
| 253 | this option is required on MBR or BSD disklabel disks if you intend to save your |
| 254 | changes, in order to prevent accidentally damaging such disks. |
srs5694 | 73ba479 | 2010-01-12 18:18:17 -0500 | [diff] [blame] | 255 | |
srs5694 | 9ba5421 | 2010-05-18 23:24:02 -0400 | [diff] [blame] | 256 | .TP |
| 257 | .B \-G, \-\-randomize\-guids |
| 258 | Randomize the disk's GUID and all partitions' unique GUIDs (but not their |
| 259 | partition type code GUIDs). This function may be used after cloning a disk |
| 260 | in order to render all GUIDs once again unique. |
| 261 | |
srs5694 | 55d9261 | 2010-03-07 22:16:07 -0500 | [diff] [blame] | 262 | .TP |
srs5694 | 08bb0da | 2010-02-19 17:19:55 -0500 | [diff] [blame] | 263 | .B \-h, \-\-hybrid |
| 264 | Create a hybrid MBR. This option takes from one to three partition numbers, |
| 265 | separated by colons, as arguments. The created hybrid MBR places an EFI GPT |
| 266 | (type 0xEE) partition first in the table, followed by the partition(s) you |
| 267 | specify. Their type codes are based on the GPT fdisk type codes divided by |
| 268 | 0x0100, which is usually correct for Windows partitions. If the |
| 269 | active/bootable flag should be set, you must do so in another program, such |
| 270 | as \fBfdisk\fR. The \fBgdisk\fR program offers additional hybrid MBR |
| 271 | creation options. |
| 272 | |
srs5694 | 73ba479 | 2010-01-12 18:18:17 -0500 | [diff] [blame] | 273 | .TP |
| 274 | .B \-i, \-\-info=partnum |
| 275 | Show detailed partition information. The summary information produced by |
| 276 | the \fI\-p\fR command necessarily omits many details, such as the partition's |
| 277 | unique GUID and the translation of \fBsgdisk\fR's |
| 278 | internal partition type code to a plain type name. The \fI\-i\fR option |
| 279 | displays this information for a single partition. |
| 280 | |
| 281 | .TP |
| 282 | .B \-l, \-\-load\-backup=file |
| 283 | Load partition data from a backup file. This option is the reverse of the |
| 284 | \fI\-b\fR option. Note that restoring partition data from anything |
| 285 | but the original disk is not recommended. |
| 286 | |
| 287 | .TP |
| 288 | .B \-L, \-\-list\-types |
| 289 | Display a summary of partition types. GPT uses a GUID to identify |
| 290 | partition types for particular OSes and purposes. For ease of data entry, |
| 291 | \fBsgdisk\fR compresses these into two\-byte (four\-digit hexadecimal) |
| 292 | values that are related to their equivalent MBR codes. Specifically, the |
| 293 | MBR code is multiplied by hexadecimal 0x0100. For instance, the code for |
| 294 | Linux swap space in MBR is 0x82, and it's 0x8200 in \fBgdisk\fR. |
| 295 | A one\-to\-one correspondence is impossible, though. Most notably, many DOS, |
| 296 | Windows, and Linux data partition codes correspond to a single GPT code |
| 297 | (entered as 0x0700 in \fBsgdisk\fR). Some OSes use a single MBR code but |
| 298 | employ many more codes in GPT. For these, \fBsgdisk\fR |
| 299 | adds code numbers sequentially, such as 0xa500 for a FreeBSD disklabel, |
| 300 | 0xa501 for FreeBSD boot, 0xa502 for FreeBSD swap, and so on. Note that |
| 301 | these two\-byte codes are unique to \fBgdisk\fR and \fBsgdisk\fR. This |
| 302 | option does not require you to specify a valid disk device filename. |
| 303 | |
srs5694 | 55d9261 | 2010-03-07 22:16:07 -0500 | [diff] [blame] | 304 | .TP |
srs5694 | 08bb0da | 2010-02-19 17:19:55 -0500 | [diff] [blame] | 305 | .B \-m, \-\-gpttombr |
| 306 | Convert disk from GPT to MBR form. This option takes from one to four |
| 307 | partition numbers, separated by colons, as arguments. Their type codes are |
| 308 | based on the GPT fdisk type codes divided by 0x0100. If the active/bootable |
| 309 | flag should be set, you must do so in another program, such as \fBfdisk\fR. |
| 310 | The \fBgdisk\fR program offers additional MBR conversion options. It is not |
| 311 | possible to convert more than four partitions from GPT to MBR form or to |
| 312 | convert partitions that start above the 2TiB mark or that are larger than |
| 313 | 2TiB. |
| 314 | |
srs5694 | 73ba479 | 2010-01-12 18:18:17 -0500 | [diff] [blame] | 315 | .TP |
| 316 | .B \-n, \-\-new=partnum:start:end |
| 317 | Create a new partition. You enter a partition |
| 318 | number, starting sector, and an ending sector. Both start and end sectors |
| 319 | can be specified in absolute terms as sector numbers or as positions |
| 320 | measured in kilobytes (K), megabytes (M), gigabytes (G), or terabytes (T); |
| 321 | for instance, \fI\fB40M\fR\fR specifies a position 40MiB from the start of |
| 322 | the disk. You can specify locations relative to the start or end of the |
| 323 | specified default range by preceding the number by a '+' or '\-' symbol, as |
| 324 | in \fI\fB+2G\fR\fR to specify a point 2GiB after the default start sector, |
| 325 | or \fI\fB\-200M\fR\fR to specify a point 200MiB before the last available |
| 326 | sector. Pressing the Enter key with no input specifies the default value, |
| 327 | which is the start of the largest available block for the start sector and |
| 328 | the end of the same block for the end sector. |
| 329 | |
srs5694 | 9ba5421 | 2010-05-18 23:24:02 -0400 | [diff] [blame] | 330 | .TP |
srs5694 | 61768bc | 2010-07-04 01:54:00 -0400 | [diff] [blame] | 331 | .B \-N, \-\-largest\-new=num |
srs5694 | 9ba5421 | 2010-05-18 23:24:02 -0400 | [diff] [blame] | 332 | Create a new partition that fills the largest available block of space on |
| 333 | the disk. Note that if used on a completely blank disk, this is likely to |
| 334 | result in a sector-moved warning, since the first available sector |
| 335 | (normally 34) doesn't fall on a 2048-sector boundary (the default for |
| 336 | alignment). You can use the \fI\-a\fR (\fI\-\-set\-alignment\fR) option to |
| 337 | adjust the alignment, if desired. |
| 338 | |
srs5694 | 73ba479 | 2010-01-12 18:18:17 -0500 | [diff] [blame] | 339 | .TP |
| 340 | .B \-o, \-\-clear |
| 341 | Clear out all partition data. This includes GPT header data, |
| 342 | all partition definitions, and the protective MBR. |
| 343 | |
| 344 | .TP |
| 345 | .B \-p, \-\-print |
| 346 | Display basic partition summary data. This includes partition |
| 347 | numbers, starting and ending sector numbers, partition sizes, |
| 348 | \fBsgdisk\fR's partition types codes, and partition names. For |
| 349 | additional information, use the \fI\-i\fR (\fI\-\-info\fR) option. |
| 350 | |
| 351 | .TP |
| 352 | .B \-P, \-\-pretend |
| 353 | Pretend to make specified changes. In\-memory GPT data structures are |
| 354 | altered according to other parameters, but changes are not written |
| 355 | to disk. |
| 356 | |
srs5694 | 55d9261 | 2010-03-07 22:16:07 -0500 | [diff] [blame] | 357 | .TP |
srs5694 | 08bb0da | 2010-02-19 17:19:55 -0500 | [diff] [blame] | 358 | .B \-r, \-\-transpose |
| 359 | Swap two partitions' entries in the partition table. One or both partitions |
| 360 | may be empty, although swapping two empty partitions is pointless. For |
| 361 | instance, if partitions 1\-4 are defined, transposing 1 and 5 results in a |
| 362 | table with partitions numbered from 2\-5. Transposing partitions in this |
| 363 | way has no effect on their disk space allocation; it only alters their |
| 364 | order in the partition table. |
| 365 | |
srs5694 | 9ddc14b | 2010-08-22 22:44:42 -0400 | [diff] [blame] | 366 | .TP |
| 367 | .B \-R, \-\-replicate=second_device_filename |
| 368 | Replicate the main device's partition table on the specified second device. |
| 369 | Note that the replicated partition table is an exact copy, including all |
| 370 | GUIDs; if the device should have its own unique GUIDs, you should use the |
| 371 | \-G option on the new disk. |
| 372 | |
srs5694 | 73ba479 | 2010-01-12 18:18:17 -0500 | [diff] [blame] | 373 | .TP |
| 374 | .B \-s, \-\-sort |
| 375 | Sort partition entries. GPT partition numbers need not match the order of |
| 376 | partitions on the disk. If you want them to match, you can use this option. |
| 377 | Note that some partitioning utilities sort partitions whenever they make |
| 378 | changes. Such changes will be reflected in your device filenames, so you |
| 379 | may need to edit \fI/etc/fstab\fR if you use this option. |
| 380 | |
| 381 | .TP |
srs5694 | 327129e | 2010-09-22 01:07:31 -0400 | [diff] [blame] | 382 | .B \-t, \-\-typecode=partnum:{hexcode|GUID} |
| 383 | Change a single partition's type code. You enter the type code using either |
| 384 | a two\-byte hexadecimal number, as described earlier, or a fully-specified |
| 385 | GUID value, such as EBD0A0A2-B9E5-4433-87C0-68B6B72699C7. |
srs5694 | 73ba479 | 2010-01-12 18:18:17 -0500 | [diff] [blame] | 386 | |
| 387 | .TP |
| 388 | .B \-T, \-\-transform\-bsd=partnum |
| 389 | Transform BSD partitions into GPT partitions. This option works on BSD |
| 390 | disklabels held within GPT (or converted MBR) partitions. Converted |
| 391 | partitions' type codes are likely to need manual adjustment. \fBsgdisk\fR |
| 392 | will attempt to convert BSD disklabels stored on the main disk when |
| 393 | launched, but this conversion is likely to produce first and/or last |
| 394 | partitions that are unusable. The many BSD variants means that the |
| 395 | probability of \fBsgdisk\fR being unable to convert a BSD disklabel is |
| 396 | high compared to the likelihood of problems with an MBR conversion. |
| 397 | |
srs5694 | 9ba5421 | 2010-05-18 23:24:02 -0400 | [diff] [blame] | 398 | .TP |
| 399 | .B \-u, \-\-partition-guid=partnum:guid |
srs5694 | 8f1b2d6 | 2010-05-23 13:07:19 -0400 | [diff] [blame] | 400 | Set the partition unique GUID for an individual partition. The GUID may be |
| 401 | a complete GUID or 'R' to set a random GUID. |
srs5694 | 9ba5421 | 2010-05-18 23:24:02 -0400 | [diff] [blame] | 402 | |
| 403 | .TP |
| 404 | .B \-U, \-\-disk-guid=guid |
srs5694 | 8f1b2d6 | 2010-05-23 13:07:19 -0400 | [diff] [blame] | 405 | Set the GUID for the disk. The GUID may be a complete GUID or 'R' to set a |
| 406 | random GUID. |
srs5694 | 9ba5421 | 2010-05-18 23:24:02 -0400 | [diff] [blame] | 407 | |
srs5694 | 73ba479 | 2010-01-12 18:18:17 -0500 | [diff] [blame] | 408 | .TP |
| 409 | .B \-\-usage |
| 410 | Print a brief summary of available options. |
| 411 | |
| 412 | .TP |
| 413 | .B \-v, \-\-verify |
| 414 | Verify disk. This option checks for a variety of problems, such as |
| 415 | incorrect CRCs and mismatched main and backup data. This option does not |
| 416 | automatically correct most problems, though; for that, you must use |
| 417 | options on the recovery & transformation menu. If no problems are found, |
| 418 | this command displays a summary of unallocated disk space. |
| 419 | |
| 420 | .TP |
| 421 | .B \-V, \-\-version |
| 422 | Display program version information. This option may be used without |
| 423 | specifying a device filename. |
| 424 | |
| 425 | .TP |
| 426 | .B \-z, \-\-zap |
srs5694 | 08bb0da | 2010-02-19 17:19:55 -0500 | [diff] [blame] | 427 | Zap (destroy) the GPT data structures and then exit. Use this option if you |
| 428 | want to repartition a GPT disk using \fBfdisk\fR or some other GPT\-unaware |
| 429 | program. This option destroys only the GPT data structures; it leaves the |
| 430 | MBR intact. This makes it useful for wiping out GPT data structures after a |
srs5694 | 55d9261 | 2010-03-07 22:16:07 -0500 | [diff] [blame] | 431 | disk has been repartitioned for MBR using a GPT\-unaware utility; however, |
srs5694 | 08bb0da | 2010-02-19 17:19:55 -0500 | [diff] [blame] | 432 | there's a risk that it will damage boot loaders or even the start of the |
| 433 | first or end of the last MBR partition. If you use it on a valid GPT disk, |
| 434 | the MBR will be left with an inappropriate EFI GPT (0xEE) partition |
| 435 | definition, which you can delete using another utility. |
| 436 | |
srs5694 | 55d9261 | 2010-03-07 22:16:07 -0500 | [diff] [blame] | 437 | .TP |
srs5694 | 08bb0da | 2010-02-19 17:19:55 -0500 | [diff] [blame] | 438 | .B \-Z, \-\-zap\-all |
| 439 | Zap (destroy) the GPT and MBR data structures and then exit. This option |
| 440 | works much like \fI\-z\fR, but as it wipes the MBR as well as the GPT, it's |
| 441 | more suitable if you want to repartition a disk after using this option, |
| 442 | and completely unsuitable if you've already repartitioned the disk. |
srs5694 | 73ba479 | 2010-01-12 18:18:17 -0500 | [diff] [blame] | 443 | |
| 444 | .TP |
| 445 | .B \-?, \-\-help |
| 446 | Print a summary of options. |
| 447 | |
| 448 | .SH "RETURN VALUES" |
| 449 | \fBsgdisk\fR returns various values depending on its success or failure: |
| 450 | |
| 451 | .TP |
| 452 | .B 0 |
| 453 | Normal program execution |
| 454 | |
| 455 | .TP |
| 456 | .B 1 |
| 457 | Too few arguments |
| 458 | |
| 459 | .TP |
srs5694 | 3c0af38 | 2010-01-15 19:19:18 -0500 | [diff] [blame] | 460 | .B 2 |
srs5694 | 73ba479 | 2010-01-12 18:18:17 -0500 | [diff] [blame] | 461 | An error occurred while reading the partition table |
| 462 | |
| 463 | .TP |
| 464 | .B 3 |
| 465 | Non\-GPT disk detected and no \fI\-g\fR option |
| 466 | |
| 467 | .TP |
| 468 | .B 4 |
| 469 | An error prevented saving changes |
| 470 | .SH "BUGS" |
srs5694 | 8a4ddfc | 2010-03-21 19:05:49 -0400 | [diff] [blame] | 471 | As of March 2010 (version 0.6.6), \fBsgdisk\fR |
srs5694 | 73ba479 | 2010-01-12 18:18:17 -0500 | [diff] [blame] | 472 | should be considered beta software. Known bugs and limitations include: |
| 473 | |
| 474 | .TP |
| 475 | .B * |
| 476 | The program compiles correctly only on Linux, FreeBSD, and Mac OS X. Linux |
| 477 | versions for x86\-64 (64\-bit), x86 (32\-bit), and PowerPC (32\-bit) have been |
| 478 | tested, with the x86\-64 version having seen the most testing. |
| 479 | |
| 480 | .TP |
| 481 | .B * |
| 482 | The FreeBSD version of the program can't write changes to the partition |
| 483 | table to a disk when existing partitions on that disk are mounted. (The |
| 484 | same problem exists with many other FreeBSD utilities, such as |
srs5694 | 7dbb932 | 2010-01-20 16:56:30 -0500 | [diff] [blame] | 485 | \fBgpt\fR, \fBfdisk\fR, and \fBdd\fR.) This limitation can be overcome |
| 486 | by typing \fBsysctl kern.geom.debugflags=16\fR at a shell prompt. |
srs5694 | 73ba479 | 2010-01-12 18:18:17 -0500 | [diff] [blame] | 487 | |
| 488 | .TP |
| 489 | .B * |
| 490 | The fields used to display the start and end sector numbers for partitions |
| 491 | in the \fI\-p\fR option are 14 characters wide. This translates to a limitation |
| 492 | of about 45 PiB. On larger disks, the displayed columns will go out of |
| 493 | alignment. |
| 494 | |
| 495 | .TP |
| 496 | .B * |
| 497 | Only ASCII characters are supported in the partition name field. If an |
| 498 | existing partition uses non\-ASCII UTF\-16 characters, they're likely to be |
| 499 | corrupted in the 'i' and 'p' menu options' displays; however, they should be |
| 500 | preserved when loading and saving partitions. |
| 501 | |
| 502 | .TP |
| 503 | .B * |
| 504 | The program can load only up to 128 partitions (4 primary partitions and |
| 505 | 124 logical partitions) when converting from MBR format. This limit can |
| 506 | be raised by changing the \fI#define MAX_MBR_PARTS\fR line in the |
| 507 | \fImbr.h\fR source code file and recompiling; however, such a change |
| 508 | will require using a larger\-than\-normal partition table. (The limit |
| 509 | of 128 partitions was chosen because that number equals the 128 partitions |
| 510 | supported by the most common partition table size.) |
| 511 | |
| 512 | .TP |
| 513 | .B * |
| 514 | Converting from MBR format sometimes fails because of insufficient space at |
| 515 | the start or (more commonly) the end of the disk. Resizing the partition |
| 516 | table (using the 's' option in the experts' menu) can sometimes overcome |
| 517 | this problem; however, in extreme cases it may be necessary to resize a |
| 518 | partition using GNU Parted or a similar tool prior to conversion with |
| 519 | \fBgdisk\fR. |
| 520 | |
| 521 | .TP |
| 522 | .B * |
| 523 | MBR conversions work only if the disk has correct LBA partition |
| 524 | descriptors. These descriptors should be present on any disk over 8 GiB in |
| 525 | size or on smaller disks partitioned with any but very ancient software. |
| 526 | |
| 527 | .TP |
| 528 | .B * |
| 529 | BSD disklabel support can create first and/or last partitions that overlap |
| 530 | with the GPT data structures. This can sometimes be compensated by |
| 531 | adjusting the partition table size, but in extreme cases the affected |
| 532 | partition(s) may need to be deleted. |
| 533 | |
| 534 | .TP |
| 535 | .B * |
| 536 | Because of the highly variable nature of BSD disklabel structures, |
| 537 | conversions from this form may be unreliable \-\- partitions may be dropped, |
| 538 | converted in a way that creates overlaps with other partitions, or |
| 539 | converted with incorrect start or end values. Use this feature with |
| 540 | caution! |
| 541 | |
| 542 | .TP |
| 543 | .B * |
| 544 | Booting after converting an MBR or BSD disklabel disk is likely to be |
| 545 | disrupted. Sometimes re\-installing a boot loader will fix the problem, but |
| 546 | other times you may need to switch boot loaders. Except on EFI\-based |
| 547 | platforms, Windows through at least Windows 7 RC doesn't support booting |
| 548 | from GPT disks. Creating a hybrid MBR (using the 'h' option on the recovery & |
| 549 | transformation menu) or abandoning GPT in favor of MBR may be your only |
| 550 | options in this case. |
| 551 | |
| 552 | .PP |
| 553 | |
| 554 | The support for big\-endian CPUs (PowerPC, for example) is new, as of version |
| 555 | 0.3.5. I advise using caution on that platform, particularly with the more |
| 556 | obscure features of the program. |
| 557 | |
| 558 | .SH "AUTHORS" |
| 559 | Primary author: Roderick W. Smith (rodsmith@rodsbooks.com) |
| 560 | |
| 561 | Contributors: |
| 562 | |
| 563 | * Yves Blusseau (1otnwmz02@sneakemail.com) |
| 564 | |
| 565 | * David Hubbard (david.c.hubbard@gmail.com) |
| 566 | |
srs5694 | 61768bc | 2010-07-04 01:54:00 -0400 | [diff] [blame] | 567 | * Justin Maggard (justin.maggard@netgear.com) |
srs5694 | 8f1b2d6 | 2010-05-23 13:07:19 -0400 | [diff] [blame] | 568 | |
srs5694 | 659eaf1 | 2010-08-23 11:26:12 -0400 | [diff] [blame] | 569 | * Dwight Schauer (dschauer@ti.com) |
| 570 | |
| 571 | |
srs5694 | 73ba479 | 2010-01-12 18:18:17 -0500 | [diff] [blame] | 572 | .SH "SEE ALSO" |
| 573 | \fBcfdisk (8)\fR, |
| 574 | \fBfdisk (8)\fR, |
| 575 | \fBgdisk (8)\fR, |
| 576 | \fBmkfs (8)\fR, |
| 577 | \fBparted (8)\fR, |
| 578 | \fBsfdisk (8)\fR |
| 579 | |
| 580 | \fIhttp://en.wikipedia.org/wiki/GUID_Partition_Table\fR |
| 581 | |
| 582 | \fIhttp://developer.apple.com/technotes/tn2006/tn2166.html\fR |
| 583 | |
| 584 | \fIhttp://www.rodsbooks.com/gdisk/\fR |
| 585 | |
| 586 | .SH "AVAILABILITY" |
| 587 | The \fBsgdisk\fR command is part of the \fIGPT fdisk\fR package and is |
| 588 | available from Rod Smith. |