# GNU Parted

GNU Parted (el nombre viene de la conjunción de las dos palabras inglesas partition y editor) es un editor de particiones libre que se utiliza para crear y destruir particiones. Esto es útil para crear espacio para nuevos sistemas operativos, reorganizar el espacio del disco duro, copiar data entre discos duros y crear imágenes de disco. Fue desarrollado por Andrew Clausen y Lennert Buytenhek.
Está formado por una biblioteca, libparted, y en un front-end para la línea de comandos, parted, que también sirve como implementación de referencia.
En 2013, GNU Parted solo está disponible para Linux y GNU Hurd.

## Otros front-ends

nparted es el front-end de GNU Parted basado en newt.
fatresize ofrece una interfaz de línea de comandos para redimensionar de forma no destructiva particiones FAT16/FAT32 y utiliza la biblioteca GNU Parted.

### Front-ends gráficos

GParted y KDE Partition Manager son programas con interfaz gráfica que utilizan la biblioteca libparted. Están adaptados para los entornos de escritorio GNOME y KDE respectivamente. Estas herramientas suelen estar incluidas en muchas distribuciones live CD para permitir la edición de particiones de forma sencilla. QtParted fue otro front-end gráfico basado en la biblioteca Qt pero que ya no es mantenido de forma activa.
Pyparted (también llamado python-parted) es el front-end de Python para GNU Parted.
Algunas distribuciones Linux que incluyen este software por defecto son: Slackware, Knoppix, sidux y SystemRescueCD.

## Limitaciones

Parted anteriormente permitía trabajar con los sistemas de archivos que estaban dentro de las particiones (crear, mover, redimensionar, copiar). Estas características fueron eliminadas en la versión 3.0.

## Utilización

Parted tiene dos modos: en línea de órdenes e interactivo. Parted siempre debe comenzar con:
donde device es el dispositivo de disco duro para editar (por ejemplo, /dev/sda). Si omite el argumento device, parted intentará adivinar qué dispositivo desea.

### Modalidad en línea de órdenes

En el modo de línea de órdenes, lo anterior va seguido por una o más órdenes. Por ejemplo:

### Modalidad interactiva

El modo interactivo simplifica el proceso de partición y reduce la repetición innecesaria de órdenes al aplicar automáticamente todas las órdenes de particionado al dispositivo especificado.
Para comenzar a operar sobre un dispositivo, ejecute:
Notará que el indicador de la línea de órdenes cambia de un símbolo #) a (parted): esto también significa que el nuevo indicador no es una orden que deba ingresarse manualmente para ejecutar las órdenes dadas en los ejemplos.
Para ver una lista de las órdenes disponibles, escriba:
Cuando termine, o si desea implementar una tabla de particiones o esquema para otro dispositivo, salga de Parted con:
Después de salir, el prompt de la línea de órdenes cambiará nuevamente a #.
Si no le proporciona un parámetro a una orden, Parted se lo solicitará. Por ejemplo:

## Redondeo

Dado que muchos sistemas de particionamiento tienen restricciones complicadas, Parted generalmente hará algo ligeramente diferente a lo que le solicitó. (Por ejemplo, crear una partición comenzando en 10.352Mb, no en 10.4Mb). Si los valores calculados difieren demasiado, Parted le pedirá confirmación. Si sabe exactamente lo que quiere o para ver exactamente qué está haciendo Parted, es útil especificar puntos finales de la partición en sectores (con el sufijo «s») y dar la orden «unit s» para que los puntos finales de la partición se muestren en los sectores.
A partir de parted 2.4, cuando se especifican valores iniciales y/o finales utilizando unidades binarias IEC como «MiB», «GiB», «TiB», etc., parted trata esos valores como exactos y equivalentes al mismo número especificado en bytes (es decir, con el sufijo «B»), ya que no proporciona un rango de desajuste «relevante». Compare eso con una solicitud de partición inicial de «4 GB», que en realidad puede resolverse en algún sector 500 MB antes o después de ese punto. Por lo tanto, al crear una partición, sería preferible especificar unidades en bytes («B»), sectores («s») o unidades binarias fijadas por la IEC como «MiB», pero no «MB», «GB», etc.

## Particionar

Particionar es el proceso de dividir un dispositivo de almacenamiento en secciones locales, llamadas particiones, que ayudan a organizar múltiples sistemas de archivos y sus sistemas operativos asociados.
Un dispositivo de almacenamiento se presenta como una secuencia de bytes, numerados comenzando desde cero y aumentando hasta alcanzar la capacidad máxima del dispositivo. Los bytes normalmente se leen y escriben en un sector a la vez, en lugar de individualmente. Cada sector contiene un número fijo de bytes, con el número determinado por el dispositivo.

### Crear nueva tabla de particiones

Debe (re)crear la tabla de particiones de un dispositivo cuando nunca se ha particionado antes, o cuando desea cambiar el tipo de su tabla de particiones. La recreación de la tabla de particiones de un dispositivo también es útil cuando el esquema de partición necesita ser reestructurado desde cero.
Abra cada dispositivo cuya tabla de particiones quiere (re)crear con:
Para crear una nueva tabla de partición GUID, utilice la siguiente orden:
Para crear una nueva tabla de partición Master Boot Record/MS-DOS, utilice en su lugar:

### Esquemas de particiones

Puede decidir el número y el tamaño de las particiones en las que se deben dividir los dispositivos, y qué directorios se usarán para montar las particiones en el sistema instalado (también conocido como puntos de montaje).
La siguiente orden se utilizará para crear las particiones:
* part-type se refiere a uno de los tipos de partición primary, extended o ic|logical, y es significativo solo para las tablas de partición MBR.
* fs-type es un identificador elegido entre los enumerados al escribir ic|help mkpart como la coincidencia más cercana al sistema de archivos que usará. La orden mkpart en realidad no crea el sistema de archivos: el parámetro ic|fs-type simplemente será utilizado por parted para establecer un código de 1 byte que se usará por el cargador de arranque para «previsualizar» qué tipo de datos se encuentran en la partición y actuar en consecuencia si es necesario.
* start es el comienzo de la partición desde el inicio del dispositivo. Consiste en un número seguido de una unidad, por ejemplo, 1MiB significa comenzar en 1 MiB.
* end es el final de la partición desde el inicio del dispositivo (no desde el valor dado para start). Tiene la misma sintaxis que start, por ejemplo, 100% significa el extremo final del dispositivo (esto es, utilizar todo el espacio restante).
La siguiente orden se utilizará para marcar la partición que contiene el directorio /boot como de arranque:
* partition es el número de la partición que se marcará (consulte el resultado con la orden print).

#### Ejemplos UEFI/GPT

En cualquier caso, se requiere una EFI system partition especial de arranque.
Si crea una nueva EFI System Partition, utilice las siguientes órdenes (el tamaño recomendado es de, al menos, 260 MiB):
El esquema de particionado restante depende totalmente de sus necesidades. Para crear otra partición con el 100% del espacio restante:
Para particiones separadas / (20 GiB) y /home (todo el espacio restante):
Y para particiones separadas / (20 GiB), swap (4 GiB) y /home (todo el espacio restante):

#### Ejemplos BIOS/MBR

Para una partición primaria única (esto es, lo mínimo) que utilice todo el espacio disponible en disco, se usaría la siguiente orden:
En el siguiente ejemplo, se creará una partición de 20 GiB /, seguida de una partición /home}} utilizando todo el espacio restante:
En el ejemplo final siguiente, se crearán particiones separadas /boot (100 MiB), ic|/ (20 GiB), swap (4 GiB) y /home}} (todo el espacio restantes):

### Redimensionar particiones

Si está ampliando una partición, primero debe cambiar el tamaño de la partición y luego cambiar el tamaño del sistema de archivos presente en ella, mientras que para reducir el tamaño de la partición primero debe cambiar el tamaño del sistema de archivos antes de la partición para evitar la pérdida de datos.

#### Aumentar particiones

Para hacer crecer una partición (en modo interactivo de parted):
Donde number es el número de la partición que está aumentando, y end es el nuevo final de la partición (que debe ser mayor que el final anterior).
Luego, para hacer aumentar el sistema de archivos (ext2/3/4) en la partición:
O, para hacer aumentar un sistema de archivos Btrfs:
Donde sdaX representa la partición que está creciendo, y [size] es el nuevo tamaño de la partición. Tenga en cuenta que [size] es opcional, déjelo vacío para llenar el espacio restante en la partición.

#### Reducir particiones

Para reducir un sistema de archivos ext2/3/4 en la partición:
Para reducir un sistema de archivos Btrfs:
Donde sdaX representa la partición que está reduciendo, y size es el nuevo tamaño de la partición.
Luego, reduzca la partición (en modo interactivo de parted):
Donde number es el número de la partición que está reduciendo, y end es el nuevo final de la partición (que debe ser más pequeño que el final anterior).
Cuando termine, utilice la orden resizepart para informar al kernel sobre el nuevo tamaño:
Donde device es el dispositivo que contiene la partición, number es el número de la partición y size es el nuevo tamaño de la partición.

## Advertencias

Parted siempre le advertirá antes de hacer algo que sea potencialmente peligroso, a menos que la orden sea una de las que por sí sea inherentemente peligrosa (a saber, rm, mklabel y mkpart).