Entorno
Este tutorial fue elaborado utilizando el terminal de Slackware 15.
Guía Rápida
Si ya sabes lo que estás haciendo y solo necesitas información adicional o has olvidado algún comando, esta guía rápida es para ti.
# bash
# Listar discos y particiones lsblk # Gestionar particiones gdisk /dev/sdX # En gdisk p Lista particiones ? Muestra ayuda n Añade partición d Elimina partición c Cambia el nombre de la partición t Cambia el tipo de la partición x Habilita modo avanzado w Escribe los cambios en el disco # Tipos de particiones 8300 Sistema de archivos Linux (ext4, xfs, etc.) 8200 Linux swap 0700 Microsoft basic data (NTFS, FAT) # Formatea con ext4 mkfs -t ext4 /dev/sdc1 # Formatea con NTFS mkntfs -f /dev/sdc1
A continuación encontrará un tutorial completo con ejemplos y explicaciones detalladas sobre cómo particionar y formatear discos en Linux.
Gestión de discos y particiones
Para comenzar, lista los discos y sus particiones utilizando el comando lsblk.
# bash
lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS sda 8:0 0 465.8G 0 disk ├─sda1 8:1 0 10G 0 part /tmp ├─sda2 8:2 0 10G 0 part /var └─sda3 8:3 0 445.8G 0 part /home sdb 8:16 0 29.8G 0 disk ├─sdb1 8:17 0 100M 0 part /boot/efi └─sdb2 8:18 0 29.7G 0 part / sdc 8:32 1 14.6G 0 disk └─sdc1 8:33 1 14.6G 0 part
En este artículo, el disco que será manipulado está identificado como sdc. Posee una partición ya creada, identificada como sdc1. Para identificar correctamente el disco que deseas manipular, verifica el tamaño, las particiones existentes y el punto de montaje (si lo hay).
En caso de que aún tengas dudas, ejecuta el comando lsblk con el disco desconectado y, a continuación, conecta el disco y ejecuta el comando nuevamente. De esta forma, podrás comparar las salidas e identificar el disco correctamente.
MBR o GPT
Siempre que sea posible, la mejor opción es utilizar la tabla de particiones GPT. Ofrece mayor seguridad, soporte para discos de mayor capacidad y permite un mayor número de particiones.
La tabla MBR debe utilizarse solo en casos específicos, como: sistemas antiguos que utilizan BIOS heredado o discos externos que se usarán en múltiples hardware, para garantizar la máxima compatibilidad.
Para manipular particiones en discos con GPT, se utiliza gdisk, mientras que para MBR, se utiliza fdisk. Para empezar a particionar, ejecute gdisk /dev/sdX, donde X es la identificación específica de tu disco.
# bash
gdisk /dev/sdc
Partition table scan:
MBR: protective
BSD: not present
APM: not present
GPT: present
Found valid GPT with protective MBR; using GPT.
Command (? for help):
Ahora estamos dentro del consola de comandos de gdisk. Aclarando:
GPT: present El disco está configurado con GPT.
MBR: protective Existe una MBR protectora, que impide que herramientas antiguas (que solo reconocen MBR) interpreten el disco como no particionado y traten de formatearlo.
Dentro del consola de gdisk, puedes utilizar los siguientes comandos:
- Escribe p para listar las particiones actuales del disco.
- Escribe ? para mostrar la lista de comandos disponibles.
- Escribe x para habilitar funcionalidades avanzadas (recomendado solo para especialistas).
- Escribe ? nuevamente para ver la lista completa de comandos avanzados.
Destruyendo la tabla de particiones GPT
Vamos a eliminar completamente las tablas de particiones del disco, tanto la GPT como la MBR protectora. ¿Por qué hacer esto? Para cambiar la tabla de particiones. Al destruirla, el disco quedará sin formato, como si saliera de fábrica, permitiéndote elegir entre crear una tabla de particiones MBR con fdisk o recrear la tabla GPT con gdisk.
# bash
gdisk /dev/sdc Partition table scan: MBR: protective BSD: not present APM: not present GPT: present Command (? for help): x # Habilitar comandos avanzados Expert command (? for help): z # Eliminar la tabla GPT About to wipe out GPT on /dev/sdc. Proceed? (Y/N): y # Confirmar la eliminación GPT data structures destroyed! You may now partition the disk using fdisk or other utilities. Blank out MBR? (Y/N): y # Eliminar la MBR protectora
Al finalizar el comando, el gdisk se cerrará. Entra nuevamente y verifica que el disco no tiene ninguna tabla presente.
# bash
gdisk /dev/sdc
Partition table scan:
MBR: not present
BSD: not present
APM: not present
GPT: not present
Creating new GPT entries in memory.
Command (? for help):
Al crear nuevas particiones en un disco sin tablas de particiones, gdisk creará automáticamente la estructura GPT, junto con la MBR protectora.
Creando particiones en Linux
Vamos a comenzar creando una única partición para Linux, utilizando todo el espacio disponible en el disco.
# bash
gdisk /dev/sdc Command (? for help): n # Para añadir una nueva partición Partition number (1-128, default 1): Enter ↲ # Número de la partición First sector (34-30529502, default = 2048) or {+-}size{KMGTP}: Enter ↲ Last sector (2048-30529502, default = 30529502) or {+-}size{KMGTP}: Enter ↲ Current type is 8300 (Linux filesystem) Hex code or GUID (L to show codes, Enter = 8300): Enter ↲ Command (? for help): p # Listar las particiones Number Start (sector) End (sector) Size Code Name 1 2048 30529502 14.6 GiB 8300 Linux filesystem Command (? for help): w # Escribe los cambios en el disco Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING PARTITIONS!! Do you want to proceed? (Y/N): y # Confirmar OK; writing new GUID partition table (GPT) to /dev/sdc. The operation has completed successfully.
- n Inicia el proceso para añadir una nueva partición
- Partition number (1-128, default 1) Número de identificación de la partición dentro de la tabla de particiones. Permite la manipulación individual de cada partición. Al presionar Enter ↲ se utilizará el siguiente número secuencial disponible.
- First sector Primer sector a partir del cual se creará la partición (inicio de la partición). A menos que sepas lo que estás haciendo, presiona Enter ↲ para usar el primer sector disponible.
- Last sector Último sector, hasta donde se extenderá la partición. Esta opción viene configurada con el último sector disponible. Si deseas crear una única partición con todo el espacio del disco, simplemente presiona Enter ↲.
- {+-}size{KMGTP} Kilo Mega Giga Tera Peta Bytes. Para crear particiones con tamaños personalizados, define el valor del último sector con el dimensionamiento deseado, por ejemplo, +250G. Esto creará una partición de 250 Gigabytes.
- Current type is 8300 (Linux filesystem) Indica el tipo de partición actual.
- Hex code or GUID (L to show codes, Enter = 8300): Para listar otros tipos, presiona L + Enter ↲. Se mostrará un prompt de búsqueda, escribe lo que buscas y presiona Enter ↲. Presiona Enter ↲ sin escribir nada para mostrar la lista completa de tipos disponibles.
- p lista las particiones, w escribe la partición en el disco y y confirma.
Cuando se trata de la creación y eliminación de particiones, todos los cambios configurados en gdisk solo se guardan en el disco después de usar la opción w (write). Por lo tanto, si cometes algún error durante el proceso, simplemente sal del programa ( q ) para descartar los cambios.
Por otro lado, al concluir los cambios deseados, no olvides guardar las modificaciones en el disco utilizando la opción w antes de salir. De lo contrario, todo tu trabajo se perderá.
Aquí están los códigos de los tipos de particiones más comunes para Linux y Windows:
- 8300 (Linux filesystem) Para usar sistemas de archivos de Linux, como ext4 y xfs.
- 8200 (Linux swap) Para crear una partición swap en Linux.
- 0700 (Microsoft basic data) Para crear particiones compatibles con Windows, como NTFS o FAT.
Buscar para encontrar el código de otros sistemas.
Cambiando el nombre de la partición
En el consola de gdisk, utiliza el comando c seguido por el índice de la partición (en caso de haber más de una). Escribe el nuevo nombre y guarda los cambios con w. Ten en cuenta que el nuevo nombre solo será reconocido por el sistema después del formateo de la partición.
Eliminando una partición
Dentro de gdisk, usa la opción d y luego el número de índice de la partición que deseas eliminar. Guarda los cambios en el disco con w.
Si solo hay una única partición, esta se eliminará automáticamente, sin necesidad de especificar el número de índice. Usa p para listar las particiones y confirmar si los cambios se han aplicado correctamente.
Antes de formatear
Las particiones en Linux se identifican por el nombre del disco seguido de un número secuencial. En nuestro ejemplo, el disco es sdc, y sus particiones serían sdc1, sdc2, y así sucesivamente.
Usa el comando lsblk para encontrar el nombre asignado a tu partición. En nuestro caso, se considerará sdc1. Asegúrate de que las particiones se hayan creado con los tipos adecuados antes de formatearlas.
Formateando con ext4
# bash
# Formatea como ext4 mkfs -t ext4 /dev/sdc1 # Si existe un sistema de archivos, puede mostrarse una advertencia /dev/sdc1 contains a vfat file system labelled 'WINDOWS' Proceed anyway? (y,N) y # Confirma
Después de la finalización, la partición estará lista para usar en Linux.
Si este es tu caso, identifica el punto de montaje y cambia los permisos para tu usuario y grupo:
# bash
lsblk sdc 8:32 1 14.6G 0 disk └─sdc1 8:33 1 14.6G 0 part /run/media/tu_usuario/tu_particion chown -R tu_usuario:tu_grupo /run/media/tu_usuario/tu_particion
Cambiando tipo y nombre
Continuando a partir del ejemplo anterior, se demostrará cómo cambiar el tipo y el nombre de la partición antes de formatearla con NTFS. Si ya creaste la partición con el tipo adecuado, omite el siguiente paso.
# bash
gdisk /dev/sdc Command (? for help): p # Listar las particiones Number Start (sector) End (sector) Size Code Name 1 2048 30529502 14.6 GiB 8300 Linux Command (? for help): t # Cambiar el tipo Using 1 Current type is 8300 (Linux filesystem) Hex code or GUID (L to show codes, Enter = 8300): 0700 # Nuevo tipo Changed type of partition to 'Microsoft basic data' Command (? for help): c # Cambiar el nombre Using 1 Enter name: Windows # Nuevo nombre Command (? for help): p # Listar las particiones Number Start (sector End (sector) Size Code Name 1 2048 30529502 14.6 GiB 0700 Windows Command (? for help): w # Escribir en disco Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING PARTITIONS!! Do you want to proceed? (Y/N): y # Confirmar OK; writing new GUID partition table (GPT) to /dev/sdc. The operation has completed successfully.
Formateando con NTFS
# bash
mkntfs -f /dev/sdc1
Cluster size has been automatically set to 4096 bytes.
Creating NTFS volume structures.
mkntfs completed successfully. Have a nice day.
Usa la opción -f o --fast para un formateo rápido. De lo contrario, el proceso puede demorar horas, dependiendo del tamaño del disco.
Tabla de particiones MBR
Para gestionar particiones con la tabla MBR, se utiliza el comando fdisk. A continuación, se demostrará un ejemplo práctico completo, que incluye:
- Eliminar la tabla de particiones GPT de un disco.
- Crear dos nuevas particiones usando la tabla MBR.
- Formatearlas, una con ext4 y la otra con NTFS.
Este ejemplo utiliza toda la base de conocimientos disponible en este tutorial.
# bash
# Nuestro disco: sdc gdisk /dev/sdc # Habilitar comandos avanzados Command (? for help): x # Destruye la estructura GPT y sale Expert command (? for help): z # Confirmar About to wipe out GPT on /dev/sdc. Proceed? (Y/N): y GPT data structures destroyed! You may now partition the disk using fdisk or other utilities. # Eliminar la MBR protectora Blank out MBR? (Y/N): y # Inicia fdisk fdisk /dev/sdc # Crear una nueva partición Command (m for help): n # Define el tipo como primaria Partition type p primary (0 primary, 0 extended, 4 free) e extended (container for logical partitions) Select (default p): p # Define el índice de la partición (por defecto: 1) Partition number (1-4, default 1): Enter ↲ # Define el primer sector (por defecto: 2048) First sector (2048-30529535, default 2048): Enter ↲ # Define el tamaño de la partición en 7 Gigabytes Last sector, +/-sectors or +/-size{K,M,G,T,P}: +7G Created a new partition 1 of type 'Linux' and of size 7 GiB. Partition #1 contains a ntfs signature. # Eliminar configuración antigua Do you want to remove the signature? [Y]es/[N]o: y The signature will be removed by a write command. # Crear una segunda partición Command (m for help): n # Define el tipo como primaria Partition type p primary (1 primary, 0 extended, 3 free) e extended (container for logical partitions) Select (default p): p # Define el índice de la partición (por defecto: 2) Partition number (2-4, default 2): Enter ↲ # Define el primer sector (por defecto: el siguiente disponible) First sector (14682112-30529535, default 14682112): Enter ↲ # Define el último sector, usando el resto del disco Last sector, +/-sectors or +/-size{K,M,G,T,P}: Enter ↲ Created a new partition 2 of type 'Linux' and of size 7.6 GiB. # Muestra las particiones recién creadas Command (m for help): p Device Boot Start End Sectors Size Id Type /dev/sdc1 2048 14682111 14680064 7G 83 Linux /dev/sdc2 14682112 30529535 15847424 7.6G 83 Linux Filesystem/RAID signature on partition 1 will be wiped. # Cambiar el tipo de la partición 2 a NTFS Command (m for help): t # Seleccionar la partición número 2 Partition number (1,2, default 2): 2 # Define el tipo como HPFS/NTFS/exFAT (código 07) Hex code or alias (type L to list all): 07 Changed type of partition 'Empty' to 'HPFS/NTFS/exFAT'. # Listar las particiones Command (m for help): p Device Boot Start End Sectors Size Id Type /dev/sdc1 2048 14682111 14680064 7G 83 Linux /dev/sdc2 14682112 30529535 15847424 7.6G 7 HPFS/NTFS/exFAT # Escribir los cambios en el disco Command (m for help): w The partition table has been altered. Calling ioctl() to re-read partition table. Syncing disks. # Formateando partición 1 con ext4 # -O 64bit: Habilitar soporte para sistema de archivos de 64 bits mkfs -t ext4 -O 64bit /dev/sdc1 # Confirma el formateo mke2fs 1.46.5 (30-Dec-2021) /dev/sdc1 contains DOS/MBR boot sector... Proceed anyway? (y,N) y Creating filesystem with 1835008 4k blocks and 458752 inodes Filesystem UUID: 1b5d99d0-9647-4cd5-96e4-b91f49ffab0f Superblock backups stored on blocks: 32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632 Allocating group tables: done Writing inode tables: done Creating journal (16384 blocks): done Writing superblocks and filesystem accounting information: done # Formateando partición 2 con NTFS mkntfs -f /dev/sdc2 Cluster size has been automatically set to 4096 bytes. Creating NTFS volume structures. mkntfs completed successfully. Have a nice day. # Nombra como "Linux" la partición ext4 e2label /dev/sdc1 "Linux" # Nombra como "Windows" la partición NTFS ntfslabel /dev/sdc2 "Windows"
Particiones siendo reconocidas en KDE ↓
Referencias
La base de este artículo fue construida con conocimiento y experiencia personal, sumados a consultas y pruebas.