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 | c54e9b4 | 2010-05-01 21:04:23 -0400 | [diff] [blame^] | 3 | .TH "SGDISK" "8" "0.6.7" "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 | |
| 156 | .TP |
| 157 | .B \-b, \-\-backup=file |
| 158 | Save partition data to a backup file. You can back up your current |
| 159 | in\-memory partition table to a disk file using this option. The resulting |
| 160 | file is a binary file consisting of the protective MBR, the main GPT |
| 161 | header, the backup GPT header, and one copy of the partition table, in that |
| 162 | order. Note that the backup is of the current in\-memory data structures, so |
| 163 | if you launch the program, make changes, and then use this option, the |
| 164 | backup will reflect your changes. If the GPT data structures are damaged, |
| 165 | the backup may not accurately reflect the damaged state; instead, they |
| 166 | will reflect GPT fdisk's first\-pass interpretation of the GPT. |
| 167 | |
| 168 | .TP |
| 169 | .B \-c, \-\-change=partnum:name |
| 170 | Change the GPT name of a partition. This name is encoded as a UTF\-16 |
| 171 | string, but \fBsgdisk\fR |
| 172 | supports only ASCII characters as names. For the most part, Linux ignores |
| 173 | the partition name, but it may be important in some OSes. GPT fdisk sets |
| 174 | a default name based on the partition type code. If you want to set a name |
| 175 | that includes a space, enclose it in quotation marks, as in |
srs5694 | c54e9b4 | 2010-05-01 21:04:23 -0400 | [diff] [blame^] | 176 | \fIsgdisk \-c 1:"Sample Name" /dev/sdb\fR. Note that the GPT name of a |
| 177 | partition is distinct from the filesystem name, which is encoded in the |
| 178 | filesystem's data structures. |
srs5694 | 73ba479 | 2010-01-12 18:18:17 -0500 | [diff] [blame] | 179 | |
| 180 | .TP |
| 181 | .B \-d, \-\-delete=partnum |
| 182 | Delete a partition. This action deletes the entry from the partition table |
| 183 | but does not disturb the data within the sectors originally allocated to |
| 184 | the partition on the disk. If a corresponding hybrid MBR partition exists, |
| 185 | \fBgdisk\fR deletes it, as well, and expands any adjacent 0xEE (EFI GPT) |
| 186 | MBR protective partition to fill the new free space. |
| 187 | |
| 188 | .TP |
srs5694 | 55d9261 | 2010-03-07 22:16:07 -0500 | [diff] [blame] | 189 | .B \-D, \-\-display\-alignment |
| 190 | Display current sector alignment value. Partitions will be created on multiples |
| 191 | of the sector value reported by this option. You can change the alignment value |
| 192 | with the \-a option. |
| 193 | |
| 194 | .TP |
srs5694 | 73ba479 | 2010-01-12 18:18:17 -0500 | [diff] [blame] | 195 | .B e, \-\-move\-second\-header |
| 196 | Move backup GPT data structures to the end of the disk. Use this option if |
| 197 | you've added disks to a RAID array, thus creating a virtual disk with space |
| 198 | that follows the backup GPT data structures. This command moves the backup |
| 199 | GPT data structures to the end of the disk, where they belong. |
| 200 | |
| 201 | .TP |
| 202 | .B E, \-\-end\-of\-largest |
| 203 | Displays the sector number of the end of the largest available block of |
| 204 | sectors on the disk. A script may store this value and pass it back as |
| 205 | part of \fI\-n\fR's option to create a partition. If no unallocated |
| 206 | sectors are available, this function returns the value 0. |
| 207 | |
| 208 | .TP |
| 209 | .B \-f, \-\-first\-in\-largest |
| 210 | Displays the sector number of the start of the largest available block of |
| 211 | sectors on the disk. A script may store this value and pass it back as |
| 212 | part of \fI\-n\fR's option to create a partition. If no unallocated |
| 213 | sectors are available, this function returns the value 0. |
| 214 | |
| 215 | .TP |
| 216 | .B \-g, \-\-mbrtogpt |
srs5694 | 3c0af38 | 2010-01-15 19:19:18 -0500 | [diff] [blame] | 217 | Convert an MBR or BSD disklabel disk to a GPT disk. As a safety measure, use of |
| 218 | this option is required on MBR or BSD disklabel disks if you intend to save your |
| 219 | changes, in order to prevent accidentally damaging such disks. |
srs5694 | 73ba479 | 2010-01-12 18:18:17 -0500 | [diff] [blame] | 220 | |
srs5694 | 55d9261 | 2010-03-07 22:16:07 -0500 | [diff] [blame] | 221 | .TP |
srs5694 | 08bb0da | 2010-02-19 17:19:55 -0500 | [diff] [blame] | 222 | .B \-h, \-\-hybrid |
| 223 | Create a hybrid MBR. This option takes from one to three partition numbers, |
| 224 | separated by colons, as arguments. The created hybrid MBR places an EFI GPT |
| 225 | (type 0xEE) partition first in the table, followed by the partition(s) you |
| 226 | specify. Their type codes are based on the GPT fdisk type codes divided by |
| 227 | 0x0100, which is usually correct for Windows partitions. If the |
| 228 | active/bootable flag should be set, you must do so in another program, such |
| 229 | as \fBfdisk\fR. The \fBgdisk\fR program offers additional hybrid MBR |
| 230 | creation options. |
| 231 | |
srs5694 | 73ba479 | 2010-01-12 18:18:17 -0500 | [diff] [blame] | 232 | .TP |
| 233 | .B \-i, \-\-info=partnum |
| 234 | Show detailed partition information. The summary information produced by |
| 235 | the \fI\-p\fR command necessarily omits many details, such as the partition's |
| 236 | unique GUID and the translation of \fBsgdisk\fR's |
| 237 | internal partition type code to a plain type name. The \fI\-i\fR option |
| 238 | displays this information for a single partition. |
| 239 | |
| 240 | .TP |
| 241 | .B \-l, \-\-load\-backup=file |
| 242 | Load partition data from a backup file. This option is the reverse of the |
| 243 | \fI\-b\fR option. Note that restoring partition data from anything |
| 244 | but the original disk is not recommended. |
| 245 | |
| 246 | .TP |
| 247 | .B \-L, \-\-list\-types |
| 248 | Display a summary of partition types. GPT uses a GUID to identify |
| 249 | partition types for particular OSes and purposes. For ease of data entry, |
| 250 | \fBsgdisk\fR compresses these into two\-byte (four\-digit hexadecimal) |
| 251 | values that are related to their equivalent MBR codes. Specifically, the |
| 252 | MBR code is multiplied by hexadecimal 0x0100. For instance, the code for |
| 253 | Linux swap space in MBR is 0x82, and it's 0x8200 in \fBgdisk\fR. |
| 254 | A one\-to\-one correspondence is impossible, though. Most notably, many DOS, |
| 255 | Windows, and Linux data partition codes correspond to a single GPT code |
| 256 | (entered as 0x0700 in \fBsgdisk\fR). Some OSes use a single MBR code but |
| 257 | employ many more codes in GPT. For these, \fBsgdisk\fR |
| 258 | adds code numbers sequentially, such as 0xa500 for a FreeBSD disklabel, |
| 259 | 0xa501 for FreeBSD boot, 0xa502 for FreeBSD swap, and so on. Note that |
| 260 | these two\-byte codes are unique to \fBgdisk\fR and \fBsgdisk\fR. This |
| 261 | option does not require you to specify a valid disk device filename. |
| 262 | |
srs5694 | 55d9261 | 2010-03-07 22:16:07 -0500 | [diff] [blame] | 263 | .TP |
srs5694 | 08bb0da | 2010-02-19 17:19:55 -0500 | [diff] [blame] | 264 | .B \-m, \-\-gpttombr |
| 265 | Convert disk from GPT to MBR form. This option takes from one to four |
| 266 | partition numbers, separated by colons, as arguments. Their type codes are |
| 267 | based on the GPT fdisk type codes divided by 0x0100. If the active/bootable |
| 268 | flag should be set, you must do so in another program, such as \fBfdisk\fR. |
| 269 | The \fBgdisk\fR program offers additional MBR conversion options. It is not |
| 270 | possible to convert more than four partitions from GPT to MBR form or to |
| 271 | convert partitions that start above the 2TiB mark or that are larger than |
| 272 | 2TiB. |
| 273 | |
srs5694 | 73ba479 | 2010-01-12 18:18:17 -0500 | [diff] [blame] | 274 | .TP |
| 275 | .B \-n, \-\-new=partnum:start:end |
| 276 | Create a new partition. You enter a partition |
| 277 | number, starting sector, and an ending sector. Both start and end sectors |
| 278 | can be specified in absolute terms as sector numbers or as positions |
| 279 | measured in kilobytes (K), megabytes (M), gigabytes (G), or terabytes (T); |
| 280 | for instance, \fI\fB40M\fR\fR specifies a position 40MiB from the start of |
| 281 | the disk. You can specify locations relative to the start or end of the |
| 282 | specified default range by preceding the number by a '+' or '\-' symbol, as |
| 283 | in \fI\fB+2G\fR\fR to specify a point 2GiB after the default start sector, |
| 284 | or \fI\fB\-200M\fR\fR to specify a point 200MiB before the last available |
| 285 | sector. Pressing the Enter key with no input specifies the default value, |
| 286 | which is the start of the largest available block for the start sector and |
| 287 | the end of the same block for the end sector. |
| 288 | |
| 289 | .TP |
| 290 | .B \-o, \-\-clear |
| 291 | Clear out all partition data. This includes GPT header data, |
| 292 | all partition definitions, and the protective MBR. |
| 293 | |
| 294 | .TP |
| 295 | .B \-p, \-\-print |
| 296 | Display basic partition summary data. This includes partition |
| 297 | numbers, starting and ending sector numbers, partition sizes, |
| 298 | \fBsgdisk\fR's partition types codes, and partition names. For |
| 299 | additional information, use the \fI\-i\fR (\fI\-\-info\fR) option. |
| 300 | |
| 301 | .TP |
| 302 | .B \-P, \-\-pretend |
| 303 | Pretend to make specified changes. In\-memory GPT data structures are |
| 304 | altered according to other parameters, but changes are not written |
| 305 | to disk. |
| 306 | |
srs5694 | 55d9261 | 2010-03-07 22:16:07 -0500 | [diff] [blame] | 307 | .TP |
srs5694 | 08bb0da | 2010-02-19 17:19:55 -0500 | [diff] [blame] | 308 | .B \-r, \-\-transpose |
| 309 | Swap two partitions' entries in the partition table. One or both partitions |
| 310 | may be empty, although swapping two empty partitions is pointless. For |
| 311 | instance, if partitions 1\-4 are defined, transposing 1 and 5 results in a |
| 312 | table with partitions numbered from 2\-5. Transposing partitions in this |
| 313 | way has no effect on their disk space allocation; it only alters their |
| 314 | order in the partition table. |
| 315 | |
srs5694 | 73ba479 | 2010-01-12 18:18:17 -0500 | [diff] [blame] | 316 | .TP |
| 317 | .B \-s, \-\-sort |
| 318 | Sort partition entries. GPT partition numbers need not match the order of |
| 319 | partitions on the disk. If you want them to match, you can use this option. |
| 320 | Note that some partitioning utilities sort partitions whenever they make |
| 321 | changes. Such changes will be reflected in your device filenames, so you |
| 322 | may need to edit \fI/etc/fstab\fR if you use this option. |
| 323 | |
| 324 | .TP |
| 325 | .B \-t, \-\-typecode=partnum:hexcode |
| 326 | Change a single partition's type code. You enter the type code using a |
| 327 | two\-byte hexadecimal number, as described earlier. |
| 328 | |
| 329 | .TP |
| 330 | .B \-T, \-\-transform\-bsd=partnum |
| 331 | Transform BSD partitions into GPT partitions. This option works on BSD |
| 332 | disklabels held within GPT (or converted MBR) partitions. Converted |
| 333 | partitions' type codes are likely to need manual adjustment. \fBsgdisk\fR |
| 334 | will attempt to convert BSD disklabels stored on the main disk when |
| 335 | launched, but this conversion is likely to produce first and/or last |
| 336 | partitions that are unusable. The many BSD variants means that the |
| 337 | probability of \fBsgdisk\fR being unable to convert a BSD disklabel is |
| 338 | high compared to the likelihood of problems with an MBR conversion. |
| 339 | |
| 340 | .TP |
| 341 | .B \-\-usage |
| 342 | Print a brief summary of available options. |
| 343 | |
| 344 | .TP |
| 345 | .B \-v, \-\-verify |
| 346 | Verify disk. This option checks for a variety of problems, such as |
| 347 | incorrect CRCs and mismatched main and backup data. This option does not |
| 348 | automatically correct most problems, though; for that, you must use |
| 349 | options on the recovery & transformation menu. If no problems are found, |
| 350 | this command displays a summary of unallocated disk space. |
| 351 | |
| 352 | .TP |
| 353 | .B \-V, \-\-version |
| 354 | Display program version information. This option may be used without |
| 355 | specifying a device filename. |
| 356 | |
| 357 | .TP |
| 358 | .B \-z, \-\-zap |
srs5694 | 08bb0da | 2010-02-19 17:19:55 -0500 | [diff] [blame] | 359 | Zap (destroy) the GPT data structures and then exit. Use this option if you |
| 360 | want to repartition a GPT disk using \fBfdisk\fR or some other GPT\-unaware |
| 361 | program. This option destroys only the GPT data structures; it leaves the |
| 362 | 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] | 363 | disk has been repartitioned for MBR using a GPT\-unaware utility; however, |
srs5694 | 08bb0da | 2010-02-19 17:19:55 -0500 | [diff] [blame] | 364 | there's a risk that it will damage boot loaders or even the start of the |
| 365 | first or end of the last MBR partition. If you use it on a valid GPT disk, |
| 366 | the MBR will be left with an inappropriate EFI GPT (0xEE) partition |
| 367 | definition, which you can delete using another utility. |
| 368 | |
srs5694 | 55d9261 | 2010-03-07 22:16:07 -0500 | [diff] [blame] | 369 | .TP |
srs5694 | 08bb0da | 2010-02-19 17:19:55 -0500 | [diff] [blame] | 370 | .B \-Z, \-\-zap\-all |
| 371 | Zap (destroy) the GPT and MBR data structures and then exit. This option |
| 372 | works much like \fI\-z\fR, but as it wipes the MBR as well as the GPT, it's |
| 373 | more suitable if you want to repartition a disk after using this option, |
| 374 | and completely unsuitable if you've already repartitioned the disk. |
srs5694 | 73ba479 | 2010-01-12 18:18:17 -0500 | [diff] [blame] | 375 | |
| 376 | .TP |
| 377 | .B \-?, \-\-help |
| 378 | Print a summary of options. |
| 379 | |
| 380 | .SH "RETURN VALUES" |
| 381 | \fBsgdisk\fR returns various values depending on its success or failure: |
| 382 | |
| 383 | .TP |
| 384 | .B 0 |
| 385 | Normal program execution |
| 386 | |
| 387 | .TP |
| 388 | .B 1 |
| 389 | Too few arguments |
| 390 | |
| 391 | .TP |
srs5694 | 3c0af38 | 2010-01-15 19:19:18 -0500 | [diff] [blame] | 392 | .B 2 |
srs5694 | 73ba479 | 2010-01-12 18:18:17 -0500 | [diff] [blame] | 393 | An error occurred while reading the partition table |
| 394 | |
| 395 | .TP |
| 396 | .B 3 |
| 397 | Non\-GPT disk detected and no \fI\-g\fR option |
| 398 | |
| 399 | .TP |
| 400 | .B 4 |
| 401 | An error prevented saving changes |
| 402 | .SH "BUGS" |
srs5694 | 8a4ddfc | 2010-03-21 19:05:49 -0400 | [diff] [blame] | 403 | As of March 2010 (version 0.6.6), \fBsgdisk\fR |
srs5694 | 73ba479 | 2010-01-12 18:18:17 -0500 | [diff] [blame] | 404 | should be considered beta software. Known bugs and limitations include: |
| 405 | |
| 406 | .TP |
| 407 | .B * |
| 408 | The program compiles correctly only on Linux, FreeBSD, and Mac OS X. Linux |
| 409 | versions for x86\-64 (64\-bit), x86 (32\-bit), and PowerPC (32\-bit) have been |
| 410 | tested, with the x86\-64 version having seen the most testing. |
| 411 | |
| 412 | .TP |
| 413 | .B * |
| 414 | The FreeBSD version of the program can't write changes to the partition |
| 415 | table to a disk when existing partitions on that disk are mounted. (The |
| 416 | same problem exists with many other FreeBSD utilities, such as |
srs5694 | 7dbb932 | 2010-01-20 16:56:30 -0500 | [diff] [blame] | 417 | \fBgpt\fR, \fBfdisk\fR, and \fBdd\fR.) This limitation can be overcome |
| 418 | by typing \fBsysctl kern.geom.debugflags=16\fR at a shell prompt. |
srs5694 | 73ba479 | 2010-01-12 18:18:17 -0500 | [diff] [blame] | 419 | |
| 420 | .TP |
| 421 | .B * |
| 422 | The fields used to display the start and end sector numbers for partitions |
| 423 | in the \fI\-p\fR option are 14 characters wide. This translates to a limitation |
| 424 | of about 45 PiB. On larger disks, the displayed columns will go out of |
| 425 | alignment. |
| 426 | |
| 427 | .TP |
| 428 | .B * |
| 429 | Only ASCII characters are supported in the partition name field. If an |
| 430 | existing partition uses non\-ASCII UTF\-16 characters, they're likely to be |
| 431 | corrupted in the 'i' and 'p' menu options' displays; however, they should be |
| 432 | preserved when loading and saving partitions. |
| 433 | |
| 434 | .TP |
| 435 | .B * |
| 436 | The program can load only up to 128 partitions (4 primary partitions and |
| 437 | 124 logical partitions) when converting from MBR format. This limit can |
| 438 | be raised by changing the \fI#define MAX_MBR_PARTS\fR line in the |
| 439 | \fImbr.h\fR source code file and recompiling; however, such a change |
| 440 | will require using a larger\-than\-normal partition table. (The limit |
| 441 | of 128 partitions was chosen because that number equals the 128 partitions |
| 442 | supported by the most common partition table size.) |
| 443 | |
| 444 | .TP |
| 445 | .B * |
| 446 | Converting from MBR format sometimes fails because of insufficient space at |
| 447 | the start or (more commonly) the end of the disk. Resizing the partition |
| 448 | table (using the 's' option in the experts' menu) can sometimes overcome |
| 449 | this problem; however, in extreme cases it may be necessary to resize a |
| 450 | partition using GNU Parted or a similar tool prior to conversion with |
| 451 | \fBgdisk\fR. |
| 452 | |
| 453 | .TP |
| 454 | .B * |
| 455 | MBR conversions work only if the disk has correct LBA partition |
| 456 | descriptors. These descriptors should be present on any disk over 8 GiB in |
| 457 | size or on smaller disks partitioned with any but very ancient software. |
| 458 | |
| 459 | .TP |
| 460 | .B * |
| 461 | BSD disklabel support can create first and/or last partitions that overlap |
| 462 | with the GPT data structures. This can sometimes be compensated by |
| 463 | adjusting the partition table size, but in extreme cases the affected |
| 464 | partition(s) may need to be deleted. |
| 465 | |
| 466 | .TP |
| 467 | .B * |
| 468 | Because of the highly variable nature of BSD disklabel structures, |
| 469 | conversions from this form may be unreliable \-\- partitions may be dropped, |
| 470 | converted in a way that creates overlaps with other partitions, or |
| 471 | converted with incorrect start or end values. Use this feature with |
| 472 | caution! |
| 473 | |
| 474 | .TP |
| 475 | .B * |
| 476 | Booting after converting an MBR or BSD disklabel disk is likely to be |
| 477 | disrupted. Sometimes re\-installing a boot loader will fix the problem, but |
| 478 | other times you may need to switch boot loaders. Except on EFI\-based |
| 479 | platforms, Windows through at least Windows 7 RC doesn't support booting |
| 480 | from GPT disks. Creating a hybrid MBR (using the 'h' option on the recovery & |
| 481 | transformation menu) or abandoning GPT in favor of MBR may be your only |
| 482 | options in this case. |
| 483 | |
| 484 | .PP |
| 485 | |
| 486 | The support for big\-endian CPUs (PowerPC, for example) is new, as of version |
| 487 | 0.3.5. I advise using caution on that platform, particularly with the more |
| 488 | obscure features of the program. |
| 489 | |
| 490 | .SH "AUTHORS" |
| 491 | Primary author: Roderick W. Smith (rodsmith@rodsbooks.com) |
| 492 | |
| 493 | Contributors: |
| 494 | |
| 495 | * Yves Blusseau (1otnwmz02@sneakemail.com) |
| 496 | |
| 497 | * David Hubbard (david.c.hubbard@gmail.com) |
| 498 | |
| 499 | .SH "SEE ALSO" |
| 500 | \fBcfdisk (8)\fR, |
| 501 | \fBfdisk (8)\fR, |
| 502 | \fBgdisk (8)\fR, |
| 503 | \fBmkfs (8)\fR, |
| 504 | \fBparted (8)\fR, |
| 505 | \fBsfdisk (8)\fR |
| 506 | |
| 507 | \fIhttp://en.wikipedia.org/wiki/GUID_Partition_Table\fR |
| 508 | |
| 509 | \fIhttp://developer.apple.com/technotes/tn2006/tn2166.html\fR |
| 510 | |
| 511 | \fIhttp://www.rodsbooks.com/gdisk/\fR |
| 512 | |
| 513 | .SH "AVAILABILITY" |
| 514 | The \fBsgdisk\fR command is part of the \fIGPT fdisk\fR package and is |
| 515 | available from Rod Smith. |