diff options
Diffstat (limited to 'doc/parted.texi')
-rw-r--r-- | doc/parted.texi | 1267 |
1 files changed, 1267 insertions, 0 deletions
diff --git a/doc/parted.texi b/doc/parted.texi new file mode 100644 index 0000000..5d4074d --- /dev/null +++ b/doc/parted.texi @@ -0,0 +1,1267 @@ +\input texinfo @c -*-texinfo-*- +@c %**start of header +@setfilename parted.info +@settitle Parted User's Manual +@include version.texi +@paragraphindent 2 +@c %**end of header + +@ifinfo +This file documents the use of GNU Parted, a program for creating +and manipulating partition tables. +@end ifinfo + +@ifnottex @c texi2pdf don't understand copying and insertcopying ??? +@c modifications must also be done in the titlepage +@copying +Copyright @copyright{} 1999--2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with no +Invariant Sections, with no Front-Cover Texts, and with no Back-Cover +Texts. A copy of the license is included in the section entitled ``GNU +Free Documentation License''. +@end copying +@c WTF does the info get the copying output and the plaintext output not ???? +@ifplaintext +@insertcopying +@end ifplaintext +@end ifnottex + +@dircategory System administration +@direntry +* parted: (parted). GNU partitioning software +@end direntry + +@titlepage +@title GNU Parted User Manual +@subtitle GNU Parted, version @value{VERSION}, @value{UPDATED} +@author Andrew Clausen @email{clausen@@gnu.org} +@author Richard M. Kreuter @email{kreuter@@anduril.rutgers.edu} +@author Leslie Patrick Polzer @email{polzer@@gnu.org} + + +@c @page +@c @vskip 0pt plus 1filll + +@c modifications must also be done in the copying block +Copyright @copyright{} 1999--2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with no +Invariant Sections, with no Front-Cover Texts, and with no Back-Cover +Texts. A copy of the license is included in the section entitled ``GNU +Free Documentation License''. +@end titlepage + +@ifnottex +@node Top +@top GNU Parted User Manual + +@c WTF doesn't texi2html include the titlepage? +@ifhtml +@insertcopying +@end ifhtml + +This file documents the use of GNU Parted, a program for creating +and manipulating partition tables. + +This document applies roughly to version @strong{@value{VERSION}} of GNU Parted. + +The original version was written by Andrew Clausen in text format. +Richard M. Kreuter translated it into Texinfo format in 2002, to be heavily +edited by Leslie P. Polzer in 2006. +@end ifnottex + +@shortcontents + +@menu +* Introduction:: Overview +* Using Parted:: Partitioning a Hard Drive +* Related information:: Further reading on related topics +* Copying This Manual:: How to make copies of this manual +* History:: This manual's history +* Concept index:: Concept index +@end menu + +@node Introduction +@chapter Introduction + +@menu +* Overview:: GNU Parted and prerequisite knowledge +* Software Required:: GNU Parted's software dependencies +* Supported Platforms:: Where you can use GNU Parted +* License:: What you may and may not do with GNU Parted +* Compiling:: How to build GNU Parted +@end menu + +@node Overview +@section Overview of GNU Parted +@cindex description of parted +@cindex overview +@cindex parted description +@cindex bugs, reporting +@cindex reporting bugs +@cindex contacting developers + +GNU Parted is a program for creating and manipulating partition tables. + +This documentation is written with the assumption that the reader +has some understanding of partitioning and file systems. + +GNU Parted was designed to minimize the chance of data loss. For +example, it was designed to avoid data loss during interruptions (like +power failure) and performs many safety checks. However, there could +be bugs in GNU Parted, so you should back up your important files before +running Parted. + +The GNU Parted homepage is @uref{https://www.gnu.org/software/parted}. The +library and frontend themselves can be downloaded from +@uref{https://ftp.gnu.org/gnu/parted}. +You can also find a listing of mailing lists, notes for contributing and +more useful information on the web site. + +Please send bug reports to @email{bug-parted@@gnu.org}. When sending bug +reports, please include the version of GNU Parted. +Please include the output from these commands (for disk @file{/dev/hda}): + +@example +@group +# @kbd{parted /dev/hda unit s print free} +@end group +@end example + +Feel free to ask for help on this list --- just check that your question +isn't answered here first. If you don't understand the documentation, +please tell us, so we can explain it better. General philosophy is: +if you need to ask for help, then something needs to be fixed so you +(and others) don't need to ask for help. + +Also, we'd love to hear your ideas :-) + +@node Software Required +@section Software Required for the use of Parted +@cindex software dependencies +@cindex required software +@cindex libuuid +@cindex e2fsprogs +@cindex readline +@cindex gettext + +If you're installing or compiling Parted yourself, you'll need to +have some other programs installed. If you are compiling Parted, +you will need both the normal and devel packages of these programs +installed: + +@itemize @bullet + +@item GNU parted source is available either as a source tarball: + + @uref{https://git.savannah.gnu.org/gitweb/?p=parted.git} + +or using git (See the README-hacking instructions): + + @uref{https://git.savannah.gnu.org/gitweb/?p=parted.git} + +@item libuuid, part of the e2fsprogs package. If you don't have this, +you can get it from: + + @uref{http://web.mit.edu/tytso/www/linux/e2fsprogs.html} + +If you want to compile Parted and e2fsprogs, note that you will need to +@kbd{make install} and @kbd{make install-libs} e2fsprogs. + +@item GNU Readline (optional), available from + + @uref{https://ftp.gnu.org/gnu/readline} + +If you are compiling Parted, and you don't have readline, you can +disable Parted's readline support with the @kbd{--disable-readline} +option for @command{configure}. + +@item GNU gettext (or compatible software) for compilation, if +internationalisation support is desired. + + @uref{https://ftp.gnu.org/gnu/gettext} + +@end itemize + +@node Supported Platforms +@section Platforms on which GNU Parted runs +@cindex supported platforms +@cindex platforms, supported + +Hopefully, this list will grow a lot. If you do not have one of these +platforms, then you can use a rescue disk and a static binary of GNU Parted. + +@table @asis +@item GNU/Linux +Linux versions 2.0 and up, on Alpha, x86 PCs, PC98, Macintosh PowerPC, Sun hardware. + +@item GNU/Hurd +@end table + +@node License +@section Terms of distribution for GNU Parted +@cindex license terms +@cindex terms of distribution +@cindex gnu gpl +@cindex gpl + +GNU Parted is free software, covered by the GNU General Public License +Version 3, or (at your option) any later version. This should have been +included with the Parted distribution, in the COPYING file. If not, +see <http://www.gnu.org/licenses/>. + +Libparted is considered part of GNU Parted. It is covered by the GNU +General Public License. It is NOT released under the GNU Lesser General +Public License (LGPL). + +@node Compiling +@section Building GNU Parted +@cindex compiling parted +@cindex building parted + +If you want to compile GNU Parted, this is generally done with: + +@example +@group +$ @kbd{./configure} +$ @kbd{make} +@end group +@end example + +However, there are a few options for @command{configure}: + +@table @code +@item --without-readline +turns off use of readline. This is useful for making rescue disks, +etc., where few libraries are available. + +@item --disable-debug +don't include assertions + +@item --disable-nls +turns off native language support. This is useful for use with old +versions of glibc, or a trimmed down version of glibc suitable for +rescue disks. + +@item --disable-shared +turns off shared libraries. This may be necessary for use with old +versions of GNU libc, if you get a compile error about a ``spilled +register''. Also useful for boot/rescue disks. + +@item --enable-discover-only +support only reading/probing (reduces size considerably) + +@item --enable-mtrace +enable malloc() debugging + +@item --enable-read-only +disable writing (for debugging) + +@end table + +@subsection Introduction +If you want to run GNU Parted on a machine without GNU/Linux installed, +or you want to modify a root or boot partition, use GParted Live: +@uref{https://gparted.org/livecd.php}. + +@node Using Parted +@chapter Using Parted +@cindex commands + +@menu +* Partitioning:: Disk partitioning in context +* Running Parted:: Partitioning with Parted +* Invoking Parted:: Parted's invocation options and commands +* Command explanations:: Full explanation of parted's commands +@end menu + +@node Partitioning +@section Introduction to Partitioning +@cindex partitioning overview + +Partitioning is the process of dividing a storage device into local +sections, called partitions, which help organize multiple filesystems +and their associated operating systems. + +A storage device presents itself as a sequence of bytes, numbered +starting from zero and increasing until the maximum capacity of the +device is reached. Bytes are normally read and written a sector at a +time, rather than individually. Each sector contains a fixed number +of bytes, with the number determined by the device. + +@example ++------------------------------------------------------------+ +| storage device with no partitions | ++------------------------------------------------------------+ +0 start end +@end example + +In order to store multiple filesystems, a storage device can be divided +up in to multiple partitions. Each partition can be thought of as an +area which contains a real filesystem inside of it. To show where these +partitions are on the device a small table is written at the start, +shown as PT in the diagram below. This table is called a partition +table, or disklabel, and also stores the type of each partition and +some flags. + +@example ++--+---------------+----------------+------------------------+ +|PT| Partition 1 | Partition 2 | Partition 3 | ++--+---------------+----------------+------------------------+ +0 start end +@end example + + +@node Running Parted +@section Using GNU Parted +@cindex modes of use + +Parted has two modes: command line and interactive. Parted should +always be started with: + +@example +# @kbd{parted @var{device}} +@end example + +@noindent where @var{device} is the hard disk device to edit. (If you're +lazy and omit the DEVICE argument, Parted will attempt to guess which +device you want.) + +In command line mode, this is followed by one or more commands. For +example: + +@example +# @kbd{parted /dev/sda mklabel gpt mkpart P1 ext3 1MiB 8MiB } +@end example + +@noindent Options (like @kbd{--help}) can only be specified on the +command line. + +In interactive mode, commands are entered one at a time at a prompt, and +modify the disk immediately. For example: + +@example +(parted) @kbd{mklabel gpt} +(parted) @kbd{mkpart P1 ext3 1MiB 8MiB } +@end example + +@noindent Unambiguous abbreviations are allowed. For example, you can +type ``p'' instead of ``print'', and ``u'' instead of ``units''. +Commands can be typed either in English, or your native language (if +your language has been translated). This may create ambiguities. +Commands are case-insensitive. + +Numbers indicating partition locations can be whole numbers or decimals. +The suffix selects the unit, which may be one of those described in +@ref{unit}, except CHS and compact. If no suffix is given, then the default +unit is assumed. Negative numbers count back from the end of the disk, +with ``-1s'' indicating the sector at the end of the disk. +Parted will compute sensible +ranges for the locations you specify (e.g. a range of +/- 500 MB when you +specify the location in ``G''). Use the sector unit ``s'' to specify exact +locations. With parted-2.4 and newer, +IEC binary units like ``MiB'', ``GiB'', ``TiB'', etc., specify +exact locations as well. +@xref{IEC binary units}. + +If you don't give a parameter to a command, Parted will prompt you for it. +For example: + +@example +(parted) @kbd{mklabel} +New disk label type? @kbd{gpt} +@end example + +Parted will always warn you before doing something that is potentially +dangerous, unless the command is one of those that is inherently +dangerous (viz., rm, mklabel and mkpart). +Since many partitioning systems have complicated constraints, Parted will +usually do something slightly different to what you asked. (For example, +create a partition starting at 10.352Mb, not 10.4Mb) +If the calculated values differ too much, Parted will ask you for +confirmation. + + +@node Invoking Parted +@section Command Line Options +@cindex options at invocation +@cindex commands, overview +@cindex invocation options + +When invoked from the command line, Parted supports the following syntax: + +@example +# @kbd{parted [@var{option}] @var{device} [@var{command} [@var{argument}]]} +@end example + +Available options and commands follow. For detailed explanations of the +use of Parted commands, see @ref{Command explanations}. Options begin +with a hyphen, commands do not: + +Options: + +@table @samp +@item -h +@itemx --help +display a help message + +@item -l +@itemx --list +lists partition layout on all block devices + +@item -m +@itemx --machine +display output in machine parseable format + +@item -j +@itemx --json +display output in JSON format + +@item -s +@itemx --script +never prompt the user + +@item -f +@itemx --fix +automatically answer exceptions with "fix" in script mode, which is useful for: +GPT header not including full disk size; moving the backup GPT table to the end of the disk; +MAC fix missing partition map entry; etc. + +@item -a alignment-type +@itemx --align alignment-type +Set alignment for newly created partitions, valid alignment types are: +none, cylinder, minimal and optimal. + +@item -v +@itemx --version +display the version +@end table + +@node Command explanations +@section Parted Session Commands +@cindex command syntax +@cindex detailed command listing +@cindex commands, detailed listing + +GNU Parted provides the following commands: + +@menu +* align-check:: +* disk_set:: +* disk_toggle:: +* help:: +* mklabel:: +* mkpart:: +* name:: +* print:: +* quit:: +* rescue:: +* resizepart:: +* rm:: +* select:: +* set:: +* toggle:: +* type:: +* unit:: +@end menu + +Note that after version 2.4, the following commands were removed: +check, cp, mkfs, mkpartfs, move, resize. + +@node align-check +@subsection align-check +@cindex align-check, command description +@cindex command description, align-check + +@deffn Command align-check @var{align-type} @var{n} + +Determine whether the starting sector of partition @var{n} +meets the disk's selected alignment criteria. +@var{align-type} must be @samp{minimal}, @samp{optimal} +or an abbreviation. +When in script mode, if the partition does not meet the alignment +requirement, exit with status 1; otherwise (including on older +kernels for which alignment data is not available), continue processing +any remaining commands. +Without @option{--script}, print either @samp{@var{N} aligned} +or @samp{@var{N} not aligned}. + +Example: + +@example +(parted) @kbd{align-check minimal 1} +1 aligned +@end example + +@end deffn + +@node disk_set +@subsection disk_set +@cindex disk_set, command description +@cindex command description, disk_set + +@deffn Command disk_set @var{flag} @var{state} + +Changes a flag on the disk. A flag can be either ``on'' or ``off''. +Some or all of these flags will be available, depending on what disk +label you are using: + +@table @samp + +@item pmbr_boot +(GPT) - this flag enables the boot flag on the GPT's protective MBR +partition. + +@end table + +The disk's flags are displayed by the print command on the "Disk Flags:" +line. They are also output as the last field of the disk information +in machine mode. + +@example +(parted) @kbd{disk_set pmbr_boot on} +@end example + +Set the PMBR's boot flag. +@end deffn + +@node disk_toggle +@subsection disk_toggle +@cindex disk_toggle, command description +@cindex command description, disk_toggle + +@deffn Command disk_toggle @var{flag} + +Toggle the state of the disk flag. +@end deffn + +@node help +@subsection help +@cindex help, command description +@cindex command description, help + +@deffn Command help [@var{command}] + +Prints general help, or help on @var{command}. + +Example: + +@example +(parted) @kbd{help mklabel} +@end example + +Print help for the mklabel command. +@end deffn + +@node mklabel +@subsection mklabel +@cindex mklabel, command description +@cindex command description, mkindex + +@deffn Command mklabel @var{label-type} + +Creates a new disk label, of type @var{label-type}. The new disk label +will have no partitions. This command (normally) won't technically +destroy your data, but it will make it basically unusable, +and you will need to use the rescue command (@pxref{Related information}) +to recover any partitions. +Parted works on all partition tables. @footnote{Everyone seems to +have a different word for ``disk label'' --- these are all the same +thing: partition table, partition map.} + +@var{label-type} must be one of these supported disk labels: +@itemize @bullet +@item aix +@item amiga +@item bsd +@item dvh +@item gpt +@item loop (raw disk access) +@item mac +@item msdos +@item pc98 +@item sun +@end itemize + +Example: + +@example +(parted) @kbd{mklabel msdos} +@end example + +Create an MS-DOS disk label. This is still the most common disk label for +PCs. +@end deffn + +@node mkpart +@subsection mkpart +@cindex mkpart, command description +@cindex command description, mkpart + +@deffn Command mkpart [@var{part-type} @var{name} @var{fs-type}] @var{start} @var{end} + +Creates a new partition, @emph{without} creating a new file system on +that partition. This is useful for creating partitions for file systems +(or LVM, etc.) that Parted doesn't support. You may specify a file +system type, to set the appropriate partition code in the partition +table for the new partition. @var{fs-type} is required for data +partitions (i.e., non-extended partitions). @var{start} and @var{end} +are the offset from the beginning of the disk, that is, the ``distance'' +from the start of the disk. + +@var{part-type} is one of @samp{primary}, @samp{extended} or @samp{logical}, +and may be specified only with @samp{msdos} or @samp{dvh} partition tables. +A @var{name} must be specified for a @samp{gpt} partition table. +Neither @var{part-type} nor @var{name} may be used with a @samp{sun} +partition table. + +@var{fs-type} must be one of these supported file systems: +@itemize @bullet +@item btrfs +@item ext2, ext3, ext4 +@item fat16, fat32 +@item hfs, hfs+, hfsx +@item hp-ufs +@item jfs +@item linux-swap, linux-swap(new,old,v0,v1) +@item nilfs2 +@item ntfs +@item reiserfs +@item sun-ufs +@item ufs +@item xfs +@end itemize + +For example, the following creates a logical partition that will contain +an ext2 file system. The partition will start at the beginning of the disk, +and end 692.1 megabytes into the disk. + +@example +(parted) @kbd{mkpart logical 0.0 692.1} +@end example + +Now, we will show how to partition a low-end flash +device (``low-end'', as of 2011/2012). +For such devices, you should use 4MiB-aligned partitions@footnote{ +Cheap flash drives will be with us for a long time to +come, and, for them, 1MiB alignment is not enough. +Use at least 4MiB-aligned partitions. +For details, see Arnd Bergman's article, +@uref{http://lwn.net/Articles/428584/} and its many comments.}. +This command creates a tiny place-holder partition at the beginning, and +then uses all remaining space to create the partition you'll actually use: + +@example +$ @kbd{parted -s /dev/sdX -- mklabel msdos \} +@kbd{ mkpart primary fat32 64s 4MiB \} +@kbd{ mkpart primary fat32 4MiB -1s} +@end example + +Note the use of @samp{--}, to prevent the following @samp{-1s} last-sector +indicator from being interpreted as an invalid command-line option. +The above creates two empty partitions. The first is unaligned and tiny, +with length less than 4MiB. +The second partition starts precisely at the 4MiB mark +and extends to the end of the device. + +The next step is typically to create a file system in the second partition: + +@example +$ @kbd{mkfs.vfat /dev/sdX2} +@end example + + +@end deffn + +@node name +@subsection name +@cindex name, command description +@cindex command description, name + +@deffn Command name @var{number} @var{name} + +Sets the name for the partition @var{number} (GPT, Mac, MIPS and PC98 only). +The name can be placed in quotes. And depending on the shell may need to also +be wrapped in single quotes so that the shell doesn't strip off the double +quotes. + +Example: + +@example +(parted) @kbd{name 2 'Secret Documents'} +@end example + +Set the name of partition 2 to `Secret Documents'. +@end deffn + +@node print +@subsection print +@cindex print, command description +@cindex command description, print + +@deffn Command print [@var{print-type}] + +Displays the partition table on the device parted is editing, or +detailed information about a particular partition. + +@var{print-type} is optional, and can be one of @samp{devices}, +@samp{free}, @samp{list}, or @samp{all}. + +@table @code + +@item devices +display all active block devices + +@item free +display information about free unpartitioned space on the current block device + +@item list, all +display the partition tables of all active block devices + +@end table + +Example: + +@example +@group +(parted) @kbd{print} +Model: ATA Samsung SSD 850 (scsi) +Disk /dev/sda: 2684MB +Sector size (logical/physical): 512B/512B +Partition Table: msdos +Disk Flags: + +Number Start End Size Type File system Flags + 1 1049kB 1000MB 999MB primary boot, lba + 2 1000MB 2300MB 1299MB primary ext2 lba + 3 2300MB 2500MB 200MB primary linux-swap(v1) lba +(parted) @kbd{print free} +Model: ATA Samsung SSD 850 (scsi) +Disk /dev/sda: 2684MB +Sector size (logical/physical): 512B/512B +Partition Table: msdos +Disk Flags: + +Number Start End Size Type File system Flags + 16.4kB 1049kB 1032kB Free Space + 1 1049kB 1000MB 999MB primary boot, lba + 2 1000MB 2300MB 1299MB primary ext2 lba + 3 2300MB 2500MB 200MB primary linux-swap(v1) lba + 2500MB 2684MB 185MB Free Space + +@end group +@end example +@end deffn + +@node quit +@subsection quit +@cindex quit, command description +@cindex command description, quit + +@deffn Command quit + +Quits Parted. + +@c RMK: generality: the following will apply to any operating system on +@c which parted will run, not only Linux-based ones. +@c clausen: yeah... just that the way hurd and linux work are totally +@c different, and it's actually very hard to speak in general. Need to +@c discuss this more +It is only after Parted exits that the Linux kernel knows about the changes +Parted has made to the disks. However, the changes caused by typing your +commands will @emph{probably} be made to the disk immediately after typing a +command. However, the operating system's cache and the disk's hardware cache +may delay this. +@end deffn + +@node rescue +@subsection rescue +@cindex rescue, command description +@cindex command description, rescue + +@deffn Command rescue @var{start} @var{end} +Rescue a lost partition that used to be located approximately between +@var{start} and @var{end}. If such a partition is found, Parted will +ask you if you want to create a partition for it. This is useful if you +accidentally deleted a partition with parted's rm command, for example. + +Example: + +@example +(parted) @kbd{print} +@group +Model: ATA Samsung SSD 850 (scsi) +Disk /dev/sda: 2684MB +Sector size (logical/physical): 512B/512B +Partition Table: msdos +Disk Flags: + +Number Start End Size Type File system Flags + 1 1049kB 1000MB 999MB primary boot, lba + 2 1000MB 2300MB 1299MB primary ext4 lba +@end group +(parted) @kbd{rm} +Partition number? 2 +(parted) @kbd{print} +@group +Model: ATA Samsung SSD 850 (scsi) +Disk /dev/sda: 2684MB +Sector size (logical/physical): 512B/512B +Partition Table: msdos +Disk Flags: + +Number Start End Size Type File system Flags + 1 1049kB 1000MB 999MB primary boot, lba +@end group +@end example + +OUCH! We deleted our ext4 partition!!! Parted comes to the rescue... + +@example +(parted) @kbd{rescue} +Start? 1000 +End? 2684 +Information: A ext4 primary partition was found at 1000MB -> +2300MB. Do you want to add it to the partition table? +Yes/No/Cancel? @kbd{y} +(parted) @kbd{print} +@group +Model: ATA Samsung SSD 850 (scsi) +Disk /dev/sda: 2684MB +Sector size (logical/physical): 512B/512B +Partition Table: msdos +Disk Flags: + +Number Start End Size Type File system Flags + 1 1049kB 1000MB 999MB primary boot, lba + 2 1000MB 2300MB 1299MB primary ext4 lba +@end group +@end example + +It's back! :) + +@end deffn + +@node resizepart +@subsection resizepart +@cindex resizepart, command description +@cindex command description, resizepart + +@deffn Command resizepart @var{number} @var{end} + +Moves the @var{end} position of partition @var{number}. Note that this +does not modify any filesystem present in the partition. If you wish to +do this, you will need to use external tools, such as @command{resize2fs}. + +When growing a partition you will want to grow the filesystem afterwards, +but when shrinking, you need to shrink the filesystem before the partition. +@end deffn + +@node rm +@subsection rm +@cindex rm, command description +@cindex command description, rm + + +@deffn Command rm @var{number} + +Removes the partition with number @var{number}. If you accidentally delete +a partition with this command, use @pxref{rescue} to +recover it. Also, you can use the gpart program (@pxref{Related information}) +to recover damaged disk labels. + +Note for msdos disk labels: if you delete a logical partition, all +logical partitions with a larger partition number will be renumbered. For +example, if you delete a logical partition with a partition number of 6, +then logical partitions that were number 7, 8 and 9 would be renumbered +to 6, 7 and 8 respectively. This means, for example, that you have to +update @file{/etc/fstab} on GNU/Linux systems. + +Example: + +@example +(parted) @kbd{rm 3} +@end example + +Remove partition 3. +@end deffn + +@node select +@subsection select +@cindex select, command description +@cindex command description, select + +@deffn Command select @var{device} + +Selects the device, @var{device}, for Parted to edit. The device can +be a Linux hard disk device, a partition, a software RAID device, +LVM logical volume, or disk image file. + +Example: + +@example +(parted) @kbd{select /dev/hdb} +@end example + +Select @file{/dev/hdb} (the slave device on the first ide controller on +Linux) as the device to edit. +@end deffn + +@node set +@subsection set +@cindex set, command description +@cindex command description, set + +@deffn Command set @var{number} @var{flag} @var{state} + +Changes a flag on the partition with number @var{number}. A flag can be +either ``on'' or ``off''. Some or all of these flags will be available, +depending on what disk label you are using: + +@table @samp + +@item bios_grub +(GPT) - Enable this to record that the selected partition is a +GRUB BIOS partition. + +@item legacy_boot +(GPT) - this flag is used to tell special purpose software that the GPT +partition may be bootable. + +@item bls_boot +(MS-DOS, GPT) - Enable this to indicate that the selected partition is a +Linux Boot Loader Specification compatible /boot partition. + +@item boot +(Mac, MS-DOS, PC98) - should be enabled if you want to boot off the +partition. The semantics vary between disk labels. For MS-DOS disk +labels, only one partition can be bootable. If you are installing LILO +on a partition that partition must be bootable. +For PC98 disk labels, all ext2 partitions must be bootable (this is +enforced by Parted). + +@item msftdata +(GPT) - This flag identifies partitions that contain Microsoft filesystems +(NTFS or FAT). It may optionally be set on Linux filesystems to mimic the +type of configuration created by parted 3.0 and earlier, in which a +separate Linux filesystem type code was not available on GPT disks. This +flag can only be removed within parted by replacing it with a competing +flag, such as boot or msftres. + +@item msftres +(MS-DOS,GPT) - This flag identifies a "Microsoft Reserved" partition, which +is used by Windows. Note that this flag should not normally be +set on Windows filesystem partitions (those that contain NTFS or FAT +filesystems). + +@item irst +(MS-DOS, GPT) - this flag identifies an Intel Rapid Start Technology +partition. + +@item esp +(MS-DOS, GPT) - this flag identifies a UEFI System Partition. On GPT +it is an alias for boot. + +@item chromeos_kernel +(GPT) - this flag indicates a partition that can be used with the Chrome OS +bootloader and verified boot implementation. + +@item lba +(MS-DOS) - this flag can be enabled to tell MS DOS, MS Windows 9x and +MS Windows ME based operating systems to use Linear (LBA) mode. + +@item root +(Mac) - this flag should be enabled if the partition is the root device +to be used by Linux. + +@item linux-home +(GPT) - Enable this to indicate that the selected partition is a +Linux /home partition. + +@item swap +(MS-DOS, GPT, Mac) - this flag should be enabled if the partition is the +swap device to be used by Linux. + +@item hidden +(MS-DOS, PC98) - this flag can be enabled to hide partitions from +Microsoft operating systems. + +@item raid +(MS-DOS) - this flag can be enabled to tell linux the partition is a +software RAID partition. + +@item LVM +(MS-DOS) - this flag can be enabled to tell linux the partition is a +physical volume. + +@item PALO +(MS-DOS) - this flag can be enabled so that the partition can be used +by the Linux/PA-RISC boot loader, palo. + +@item PREP +(MS-DOS, GPT) - this flag can be enabled so that the partition can be used +as a PReP boot partition on PowerPC PReP or IBM RS6K/CHRP hardware. + +@item DIAG +(MS-DOS) - Enable this to indicate that a partition can be used +as a diagnostics / recovery partition. + +@end table + +The print command displays all enabled flags for each partition. + +Example: + +@example +(parted) @kbd{set 1 boot on} +@end example + +Set the @samp{boot} flag on partition 1. +@end deffn + +@node toggle +@subsection toggle +@cindex toggle, command description +@cindex command description, toggle + +@deffn Command toggle @var{number} @var{flag} + +Toggle the state of @var{flag} on partition @var{number}. + +@end deffn + +@node type +@subsection type +@cindex type, command description +@cindex command description, type + +@deffn Command type @var{number} @var{id} or @var{uuid} + +On MS-DOS set the type-id aka partition id to @var{id} on partition +@var{number}. The id is a value between 0x01 and 0xff, e.g. the ID for +Linux is 0x83. A list with some IDs is available at +@uref{https://en.wikipedia.org/wiki/Partition_type}. + +On GPT set the type-uuid to @var{uuid} on partition +@var{number}. E.g. the UUID for Linux is +0fc63daf-8483-4772-8e79-3d69d8477de4. A list with some UUIDs is availabe +at @uref{https://en.wikipedia.org/wiki/GUID_Partition_Table}. + +@end deffn + +@node unit +@subsection unit +@cindex unit, command description +@cindex command description, unit + +@deffn Command unit @var{unit} + +Selects the current default unit that Parted will use to display +locations and capacities on the disk and to interpret those given +by the user if they are not suffixed by an @var{unit}. + +@var{unit} may be one of: + +@table @samp +@item s +sector (n bytes depending on the sector size, often 512) + +@item B +byte + +@item KiB +kibibyte (1024 bytes) + +@item MiB +mebibyte (1048576 bytes) + +@item GiB +gibibyte (1073741824 bytes) + +@item TiB +tebibyte (1099511627776 bytes) + +@item kB +kilobyte (1000 bytes) + +@item MB +megabyte (1000000 bytes) + +@item GB +gigabyte (1000000000 bytes) + +@item TB +terabyte (1000000000000 bytes) + +@item % +percentage of the device (between 0 and 100) + +@item cyl +cylinders (related to the BIOS CHS geometry) + +@item chs +cylinders, heads, sectors addressing (related to the BIOS CHS geometry) + +@item compact +This is a special unit that defaults to megabytes for input, and picks a +unit that gives a compact human readable representation for output. +@end table + +The default unit apply only for the output and when no unit is +specified after an input number. Input numbers can be followed by +an unit (without any space or other character between them), in +which case this unit apply instead of the default unit for this +particular number, but CHS and cylinder units are not supported as +a suffix. If no suffix is given, then the default unit is assumed. +Parted will compute sensible ranges for the locations you specify +(e.g., a range of +/- 500 MB when you specify the location in ``G'', +and a range of +/- 500 KB when you specify the location in ``M'') +and will select the nearest location in this range from the one you +wrote that satisfies constraints from both the operation, the +filesystem being worked on, the disk label, other partitions and so +on. Use the sector unit ``s'' to specify exact locations (if they +do not satisfy all constraints, Parted will ask you for the nearest +solution). Note that negative numbers count back from the end of +the disk, with ``-1s'' pointing to the last sector of the disk. + +@anchor{IEC binary units} +Note that as of parted-2.4, when you specify start and/or end values +using IEC binary units like ``MiB'', ``GiB'', ``TiB'', etc., parted +treats those values as exact, and equivalent to the same number +specified in bytes (i.e., with the ``B'' suffix), in that it provides +@emph{no} ``helpful'' range of sloppiness. Contrast that with +a partition start request of ``4GB'', which may actually resolve to +some sector up to 500MB before or after that point. +Thus, when creating a partition, you should prefer to specify +units of bytes (``B''), sectors (``s''), or IEC binary units like ``MiB'', +but not ``MB'', ``GB'', etc. + +Example: + +@example +@group +(parted) unit compact +(parted) print +Disk geometry for /dev/hda: 0kB - 123GB +Disk label type: msdos +Number Start End Size Type File system Flags +1 32kB 1078MB 1077MB primary reiserfs boot +2 1078MB 2155MB 1078MB primary linux-swap +3 2155MB 123GB 121GB extended +5 2155MB 7452MB 5297MB logical reiserfs +@end group +@group +(parted) unit chs print +Disk geometry for /dev/hda: 0,0,0 - 14946,225,62 +BIOS cylinder,head,sector geometry: 14946,255,63. Each cylinder +is 8225kB. +Disk label type: msdos +Number Start End Type File system Flags +1 0,1,0 130,254,62 primary reiserfs boot +2 131,0,0 261,254,62 primary linux-swap +3 262,0,0 14945,254,62 extended +5 262,2,0 905,254,62 logical reiserfs +@end group +@group +(parted) unit mb print +Disk geometry for /dev/hda: 0MB - 122942MB +Disk label type: msdos +Number Start End Size Type File system Flags +1 0MB 1078MB 1077MB primary reiserfs boot +2 1078MB 2155MB 1078MB primary linux-swap +3 2155MB 122935MB 120780MB extended +5 2155MB 7452MB 5297MB logical reiserfs +@end group +@end example + +@end deffn + +@node Related information +@chapter Related information +@cindex further reading +@cindex related documentation + +If you want to find out more information, please see the GNU Parted web site. + +These files in the Parted distribution contain further information: + +@itemize @bullet + +@item @kbd{ABOUT-NLS} - information about using Native Language Support, and the Free Translation Project. + +@item @kbd{AUTHORS} - who wrote what. + +@item @kbd{ChangeLog} - record of changes made to Parted. + +@item @kbd{COPYING} - the GNU General Public License, the terms under which GNU Parted may be distributed. + +@item @kbd{COPYING.DOC} - the GNU Free Documentation Licence, the term under +which Parted's documentation may be distributed. + +@item @kbd{INSTALL} --- how to compile and install Parted, and most other free +software + +@end itemize + +@node Copying This Manual +@appendix Copying This Manual + +@menu +* GNU Free Documentation License:: License for copying this manual +@end menu + +@node GNU Free Documentation License +@appendixsec GNU Free Documentation License +@cindex FDL, GNU Free Documentation License +@include fdl.texi + +@node History +@appendix This manual's history +@cindex history of this manual + +This manual was based on the file @kbd{USER} included in GNU Parted version +1.4.22 source distribution. The GNU Parted source distribution is +available at @uref{https://ftp.gnu.org/gnu/parted}. + +Initial Texinfo formatting by Richard M. Kreuter, 2002. + +Maintainance by Andrew Clausen from 2002 to 2005 and by Leslie P. Polzer +from July 2005 onwards. + +This manual is distributed under the GNU Free Documentation License, +version 1.1 or later, at your discretion, any later version published +by the Free Software Foundation; with no Invariant Sections, with no +Front-Cover Texts, and with no Back-Cover Texts. @xref{Copying +This Manual}, for details. + +@node Concept index +@unnumbered Index +@printindex cp + +@bye + +@ignore + +Notes by RMK: +Notes on possible (unimplemented!) modifications: + +The output samples from parted's print command, fdisk's p command, etc., +might be made into tables (multi-column tables) to ensure spiffy formatting. + +I'd like to find a way to make *entry: see *synonym type references in +the index, so, e.g., to refer people looking for Apple to Macintosh, and +PowerPC to Macintosh, etc. Probably texinfo does this already; I dunno. + +Notes by Leslie: + +TODO: + - add "version" command. + - read through and correct. + - role of FreeDOS? + +@end ignore |