En las distribuciones de Linux, fdisk es la mejor herramienta para administrar particiones de disco. fdisk es una utilidad basada en texto.
Comando fdisk
Con fdisk puedes crear una nueva partición, eliminar una partición existente o cambiar la partición existente.
Con fidsk, puedes crear un máximo de cuatro particiones primarias y cualquier cantidad de particiones lógicas, en función del tamaño del disco.
Ten en cuenta que cualquier partición requiere un tamaño mínimo de 40 MB.
En este artículo, veremos cómo utilizar el comando fdisk usando ejemplos prácticos.
Advertencia: no elimines, modifiques ni agregues una partición, si no sabes lo que estás haciendo. ¡Perderás tus datos!
1. Ver todas las particiones de disco existentes con fdisk -l
Antes de crear una nueva partición o modificar una partición existente, es posible que desees ver todas las particiones disponibles en el sistema.
Usa fdisk -l para ver todas las particiones disponibles como se muestra a continuación.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
# fdisk -l Disk /dev/sda: 80.0 GB, 80026361856 bytes 255 heads, 63 sectors/track, 9729 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Disk identifier: 0xf6edf6ed Device Boot Start End Blocks Id System /dev/sda1 1 1959 15735636 c W95 FAT32 (LBA) /dev/sda2 1960 5283 26700030 f W95 Ext'd (LBA) /dev/sda3 5284 6528 10000462+ 7 HPFS/NTFS /dev/sda4 6529 9729 25712032+ c W95 FAT32 (LBA) /dev/sda5 * 1960 2661 5638752 83 Linux /dev/sda6 2662 2904 1951866 83 Linux /dev/sda7 2905 3147 1951866 83 Linux /dev/sda8 3148 3264 939771 82 Linux swap / Solaris /dev/sda9 3265 5283 16217586 b W95 FAT32 |
Lo anterior enumerará las particiones de todos los discos duros conectados. Cuando tienes más de un disco en el sistema, la lista de particiones se ordena por el dispositivo / nombre del dispositivo. Por ejemplo, /dev/sda, /dev/sdb, /dev/sdc, etc.
2. Ver las particiones de un disco duro específico usando fdisk -l /dev/sd{a}
Para ver todas las particiones del disco duro /dev/sda, has lo siguiente.
1 |
# fdisk -l /dev/sda |
Ver todos los comandos de fdisk con el comando fdisk m
Usa el comando fdisk m, para ver todos los comandos fdisk disponibles como se muestra a continuación.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
# fdisk /dev/sda El número de cilindros para este disco está establecido en 9729. No hay nada de malo en eso, pero es mayor que 1024, y en ciertas configuraciones podría causar problemas con: 1) el software que se ejecuta en el momento del arranque ( p. ej., versiones anteriores de LILO) 2) software de arranque y particionamiento de otros sistemas operativos (p. ej., DOS FDISK, OS / 2 FDISK) Command (m for help): m Command action a toggle a bootable flag b edit bsd disklabel c toggle the dos compatibility flag d delete a partition l list known partition types m print this menu n add a new partition o create a new empty DOS partition table p print the partition table q quit without saving changes s create a new empty Sun disklabel t change a partition's system id u change display/entry units v verify the partition table w write table to disk and exit x extra functionality (experts only) |
3. Eliminar una partición del disco duro con el comando fdisk d
Supongamos que deseas combinar varias particiones (por ejemplo, /dev/sda6, /dev/sda7 y /dev/sda8) en una sola partición de disco. Para hacer esto, primero debes eliminar todas esas particiones individuales, como se muestra a continuación.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 |
# fdisk /dev/sda El número de cilindros para este disco está establecido en 9729. No hay nada de malo en eso, pero es mayor que 1024, y en ciertas configuraciones podría causar problemas con: 1) el software que se ejecuta en el momento del arranque ( p. ej., versiones anteriores de LILO) 2) software de arranque y particionamiento de otros sistemas operativos (p. ej., DOS FDISK, OS / 2 FDISK) Command (m for help): p Disk /dev/sda: 80.0 GB, 80026361856 bytes 255 heads, 63 sectors/track, 9729 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Disk identifier: 0xf6edf6ed Device Boot Start End Blocks Id System /dev/sda1 1 1959 15735636 c W95 FAT32 (LBA) /dev/sda2 1960 5283 26700030 f W95 Ext'd (LBA) /dev/sda3 5284 6528 10000462+ 7 HPFS/NTFS /dev/sda4 6529 9729 25712032+ c W95 FAT32 (LBA) /dev/sda5 * 1960 2661 5638752 83 Linux /dev/sda6 2662 2904 1951866 83 Linux /dev/sda7 2905 3147 1951866 83 Linux /dev/sda8 3148 3264 939771 82 Linux swap / Solaris /dev/sda9 3265 5283 16217586 b W95 FAT32 Command (m for help): d Partition number (1-9): 8 Command (m for help): d Partition number (1-8): 7 Command (m for help): d Partition number (1-7): 6 Command (m for help): w The partition table has been altered! Calling ioctl() to re-read partition table. WARNING: Re-reading the partition table failed with error 16: Device or resource busy. The kernel still uses the old table. The new table will be used at the next reboot or after you run partprobe(8) or kpartx(8) Syncing disks. |
4. Crear una nueva partición de disco con un tamaño específico utilizando el comando fdisk n
Una vez que hayas eliminado todas las particiones existentes, puedes crear una nueva partición utilizando todo el espacio disponible como se muestra a continuación.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
# fdisk /dev/sda El número de cilindros para este disco está establecido en 9729. No hay nada de malo en eso, pero es mayor que 1024, y en ciertas configuraciones podría causar problemas con: 1) el software que se ejecuta en el momento del arranque ( p. ej., versiones anteriores de LILO) 2) software de arranque y particionamiento de otros sistemas operativos (p. ej., DOS FDISK, OS / 2 FDISK) Command (m for help): n First cylinder (2662-5283, default 2662): Using default value 2662 Last cylinder, +cylinders or +size{K,M,G} (2662-3264, default 3264): Using default value 3264 |
En el ejemplo anterior, el comando fdisk n se usa para crear una nueva partición con el tamaño específico. Al crear una nueva partición, agrega las siguientes dos entradas.
- Número de cilindro inicial de la partición que se creará (primer cilindro).
- Tamaño de la partición (o) el último número de cilindro (Último cilindro, + cilindros o + tamaño).
Ten en cuenta que debes emitir el comando de escritura fdisk (w) después de cualquier modificación.
1 2 3 4 5 6 7 8 9 |
Command (m for help): w The partition table has been altered! Calling ioctl() to re-read partition table. WARNING: Re-reading the partition table failed with error 16: Device or resource busy. The kernel still uses the old table. The new table will be used at the next reboot or after you run partprobe(8) or kpartx(8) Syncing disks. |
Después de crear la partición, debes formatear con el comando mkfs como se muestra a continuación.
1 |
# mkfs.ext3 /dev/sda7 |
5. Ver el tamaño de una partición existente usando fdisk -s
Como se muestra a continuación, fdisk -s muestra el tamaño de la partición en bloques.
1 2 |
# fdisk -s /dev/sda7 4843566 |
La salida anterior corresponde a aproximadamente 4900MB.
6. Alternar el indicador de inicio de una partición con el comando fdisk a
El comando fdisk muestra el indicador de inicio de cada partición. Cuando desees deshabilitar o habilitar el indicador de arranque en la partición correspondiente, has lo siguiente.
Si no sabes por qué estás haciendo esto, arruinarás tu sistema.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 |
# fdisk /dev/sda El número de cilindros para este disco está establecido en 9729. No hay nada de malo en eso, pero es mayor que 1024, y en ciertas configuraciones podría causar problemas con: 1) el software que se ejecuta en el momento del arranque ( p. ej., versiones anteriores de LILO) 2) software de arranque y particionamiento de otros sistemas operativos (p. ej., DOS FDISK, OS / 2 FDISK) Command (m for help): p Disk /dev/sda: 80.0 GB, 80026361856 bytes 255 heads, 63 sectors/track, 9729 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Disk identifier: 0xf6edf6ed Device Boot Start End Blocks Id System /dev/sda1 1 1959 15735636 c W95 FAT32 (LBA) /dev/sda2 1960 5283 26700030 f W95 Ext'd (LBA) /dev/sda3 5284 6528 10000462+ 7 HPFS/NTFS /dev/sda4 6529 9729 25712032+ c W95 FAT32 (LBA) /dev/sda5 * 1960 2661 5638752 83 Linux /dev/sda6 3265 5283 16217586 b W95 FAT32 /dev/sda7 2662 3264 4843566 83 Linux Partition table entries are not in disk order Command (m for help): a Partition number (1-7): 5 Command (m for help): p Disk /dev/sda: 80.0 GB, 80026361856 bytes 255 heads, 63 sectors/track, 9729 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Disk identifier: 0xf6edf6ed Device Boot Start End Blocks Id System /dev/sda1 1 1959 15735636 c W95 FAT32 (LBA) /dev/sda2 1960 5283 26700030 f W95 Ext'd (LBA) /dev/sda3 5284 6528 10000462+ 7 HPFS/NTFS /dev/sda4 6529 9729 25712032+ c W95 FAT32 (LBA) /dev/sda5 1960 2661 5638752 83 Linux /dev/sda6 3265 5283 16217586 b W95 FAT32 /dev/sda7 2662 3264 4843566 83 Linux Partition table entries are not in disk order Command (m for help): |
Como se ve arriba, el indicador de arranque está deshabilitado en la partición /dev/sda5.
7. Reparar el orden de la tabla de particiones usando el comando experto de fdisk f
Cuando eliminas una partición lógica y la vuelves a crear, es posible que veas el problema de “partición fuera de servicio”, o el mensaje de error “Las entradas de la tabla de particiones no están en orden de disco”.
Por ejemplo, cuando eliminas tres particiones lógicas (sda6, sda7 y sda8) y creas una nueva partición, puedes esperar que el nuevo nombre de la partición sea sda6. Pero, el sistema podría haber creado la nueva partición como sda7. Esto se debe a que, después de eliminar las particiones, la partición sda9 se ha movido como sda6 y el espacio libre se mueve hasta el final.
Para solucionar este problema de orden de partición y asignar sda6 a la partición recién creada, ejecuta el comando f como se muestra a continuación.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 |
$ fdisk /dev/sda El número de cilindros para este disco está establecido en 9729. No hay nada de malo en eso, pero es mayor que 1024, y en ciertas configuraciones podría causar problemas con: 1) el software que se ejecuta en el momento del arranque ( p. ej., versiones anteriores de LILO) 2) software de arranque y particionamiento de otros sistemas operativos (p. ej., DOS FDISK, OS / 2 FDISK) Command (m for help): p Disk /dev/sda: 80.0 GB, 80026361856 bytes 255 heads, 63 sectors/track, 9729 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Disk identifier: 0xf6edf6ed Device Boot Start End Blocks Id System /dev/sda1 1 1959 15735636 c W95 FAT32 (LBA) /dev/sda2 1960 5283 26700030 f W95 Ext'd (LBA) /dev/sda3 5284 6528 10000462+ 7 HPFS/NTFS /dev/sda4 6529 9729 25712032+ c W95 FAT32 (LBA) /dev/sda5 * 1960 2661 5638752 83 Linux /dev/sda6 3265 5283 16217586 b W95 FAT32 /dev/sda7 2662 3264 4843566 83 Linux Partition table entries are not in disk order Command (m for help): x Expert command (m for help): f Done. Expert command (m for help): w The partition table has been altered! Calling ioctl() to re-read partition table. WARNING: Re-reading the partition table failed with error 16: Device or resource busy. The kernel still uses the old table. The new table will be used at the next reboot or after you run partprobe(8) or kpartx(8) Syncing disks. |
Una vez que se arregla el orden de la tabla de particiones, ya no verás el mensaje de error “Las entradas de la tabla de particiones no están en orden de disco”.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
# fdisk -l Disk /dev/sda: 80.0 GB, 80026361856 bytes 255 heads, 63 sectors/track, 9729 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Disk identifier: 0xf6edf6ed Device Boot Start End Blocks Id System /dev/sda1 1 1959 15735636 c W95 FAT32 (LBA) /dev/sda2 1960 5283 26700030 f W95 Ext'd (LBA) /dev/sda3 5284 6528 10000462+ 7 HPFS/NTFS /dev/sda4 6529 9729 25712032+ c W95 FAT32 (LBA) /dev/sda5 * 1960 2661 5638752 83 Linux /dev/sda6 2662 3264 4843566 83 Linux /dev/sda7 3265 5283 16217586 b W95 FAT32 |