Despabilando la MonoNeurona::Internet es de todos [Inicio] [Regresar]
GNU/Linux \ La utilidad fdisk
GNU/Linux
La utilidad fdisk

Este artículo ha sido consultado en 764 ocasiones.

Esta herramienta de Linux nos permite crear particiones de cualquier tipo (para MS-DOS, Windows 98, Linux, OS/2, Novell, etc) con gran flexibilidad y seguridad. Forma parte del conjunto de herramientas disponibles para particionar un disco durante el proceso de instalación de Linux. A continuación se describen mediante un ejemplo el uso de los comandos más utilizados.

Una vez ejecutada la herramienta se nos presenta una pantalla tal que así:

Using /dev/hda as default device!

Command (m for help):

La primera linea nos advierte de que se particionará el disco duro maestro, en caso de tener más de uno debemos asegurarnos que es este el disco duro que queremos particionar. Por ejemplo si el disco duro que queremos particionar es aquel que se encuentra situado
en el canal 2 IDE de maestro, entonces lanzaríamos la aplicación de la siguiente manera: fdisk /dev/hdc.

Primeramente, veamos los tipos de particiones que se pueden establecer, introduciendo en comando l (list):
 
 

Descripción del listado obtenido mediante fdisk
Tipo de partición Valor Descripción Tipo de partición Valor Descripción






Vacía  00
Novell Netware 386  65 
DOS 12-bit FAT  01 
PC/IX  75 
XENIX root  02 
Old MINIX 80 
XENIX usr  03 
Linux/MINIX  81 
DOS 16-bit <=32M  04
Linux swap  82 Memoria de intercambio
Extendida 05 
Linux native  83  Partición para albergar el
sistema de ficheros de Linux
DOS 16-bit >=32M  06  FAT de 16 bits para discos duros
con más de 32 MB (MS-DOS 6.X)
Linux extendida  85 
OS/2 HPFS  07 
Amoeba  93 
AIX  08 
Amoeba BBT  94 
AIX bootable  09 
BSD/386  a5 
OS/2 Boot Manager  0a 
OpenBSD  a6 
Win95 FAT32  0b 
NEXTSTEP  a7 
Win95 FAT32 (LBA)  0c  FAT de 32 bits con soporte para discos duros 
de gran capacidad (Windows 98)
BSDI fs  b7 
Win95 FAT16 (LBA)  0e  FAT de 16 bits con soporte para discos duros 
de gran capacidad (Windows 95)
BSDI swap  b8 
Win95 Extendida (LBA)  0f 
Syrinx  c7 
Venix 80286  40 
CP/M  db 
Novell?  51 
DOS access  e1 
Microport  52 
DOS R/O  e3 
GNU HURD  63 
DOS secondary  f2 
Novell Netware 286  64 
BBT  ff 

 

El primer paso que se suele dar, es teclear el comando p (print) para ver el estado actual del disco duro:

Command (m for help): p

Disk /dev/hdc: 64 heads, 63 sectors, 526 cylinders
Units = cylinders of 4032 * 512 bytes

Device Boot    Start      End     Blocks    Id  System
/dev/hdc1   *         1       526   1060384+   6  FAT16

Command (m for help):

En este resultado vemos que el disco duro dispone de 526 cilindros, siendo la capacidad del mismo de (526*4032*512)/(1024^3) GB,  que la única partición existente es la partición activa del disco duro (*), y finalmente que esta partición ocupa la total capacidad del disco duro (comienza en el cilindro 1 y finaliza en el cilindro 526, que es el último)

El segundo paso es crear las particiones deseadas, en este caso crearemos tres particiones. La primera, será una partición para Linux, la segunda una partición swap para Linux,  y finalmente la última será del tipo DOS 16-bit >=32M , para almacenar datos de propósito
general, y debido a su naturaleza podrá ser accedida desde MS-DOS,Windows 95/98/NT y desde Linux también.

El primer paso lógicamente, será crear el espacio necesario eliminando la partición existente (sabiendo que esto acarrea la pérdida de todos los datos contenidos en dicha partición).

Esto se realiza con el comando d (delete):

Command (m for help): d
Partition number (1-4): 1

Command (m for help): p

Disk /dev/hdc: 64 heads, 63 sectors, 526 cylinders
Units = cylinders of 4032 * 512 bytes

Device Boot    Start       End    Blocks   Id  System

Command (m for help):

Como podemos apreciar ya no existe ninguna partición y por lo tanto tenemos todo la capacidad del disco duro a nuestra disposición.

Nota: La pérdida de datos sólo se produce cuando salimos de "fdisk" con el comando "w", puesto que existe la posibilidad de abandonar el programa (comando "q" ) sin validar los cambios realizados, y por lo tanto dejar el disco duro tal y como estaba antes de su ejecución.

Seguidamente crearemos con el comando n (new) y opción p, la partición para Linux con un tamaño (muy pequeño) de 500 MB:

Command (m for help): n
Command action
   e   extended
   p   primary partition (1-4)

Partition number (1-4): 1
First cylinder (1-526, default 1): 1
Last cylinder or +size or +sizeM or +sizeK (1-526, default 526): +500M

Command (m for help): p

Disk /dev/hdc: 64 heads, 63 sectors, 526 cylinders
Units = cylinders of 4032 * 512 bytes

   Device Boot    Start       End    Blocks   Id  System
/dev/hdc1             1       254    512032+  83  Linux

Command (m for help):

De forma contraria a las siguientes particiones, en este caso no es necesario asignarle ningún tipo a esta partición, puesto que por defecto siempre se toma el tipo 83 Linux native, que es exactamente el que queremos. Se puede comprobar que el tamaño creado se corresponde con el deseado, puesto que 512032 KB / 1024 = 500 MB.

Para crear las siguientes particiones, lo normal sería realizar el mismo proceso que el anteriormente descrito, con la única diferencia de asignarle a cada partición el tipo correspondiente(82 para Linux swap y 06 para FAT 16). No obstante complicaremos esta tarea un poco creando estas particiones no como primarias, sino como unidades lógicas dentro de una partición extendida (la única diferencia es que creando unidades primarias, topamos con un límite de 4 particiones, por contra en una extendida se pueden crear un número indefinido de particiones/unidades lógicas), para que el ejemplo resulte más didático.
Comenzaremos pues por crear la partición extendida, opción e, que contendrá el restante espacio libre en disco:

Command (m for help): n
Command action
   e   extended
   p   primary partition (1-4)

Partition number (1-4): 2
First cylinder (255-526, default 255):
Using default value 255
Last cylinder or +size or +sizeM or +sizeK (255-526, default 526):
Using default value 526

Command (m for help):  p

Disk /dev/hdc: 64 heads, 63 sectors, 526 cylinders
Units = cylinders of 4032 * 512 bytes

Device Boot    Start       End    Blocks    Id  System
/dev/hdc1             1        254    512032+  83  Linux
/dev/hdc2           255       526    548352    5  Extended

Command (m for help):

Mediante la opción l , asignaremos 128 MB para la partición swap y el restante para la partición de MS-DOS :

Command (m for help): n
Command action
   l   logical (5 or over)
   p   primary partition (1-4)

First cylinder (255-526, default 255):
Using default value 255
Last cylinder or +size or +sizeM or +sizeK (255-526, default 526): +128M

Command (m for help): p

Disk /dev/hdc: 64 heads, 63 sectors, 526 cylinders
Units = cylinders of 4032 * 512 bytes

   Device Boot    Start       End    Blocks   Id  System
/dev/hdc1             1        254    512032+  83  Linux
/dev/hdc2           255       526    548352    5  Extended
/dev/hdc5           255       320    133024+  83  Linux

Command (m for help):

Como siempre por defecto a la recien creada partición se le ha asignado el tipo 83, sin embargo debemos asignarle el tipo 82, para ello se utiliza el comando t (type):
 

Command (m for help): t
Partition number (1-5): 5
Hex code (type L to list codes): 82
Changed system type of partition 5 to 82 (Linux swap)

Command (m for help): p

Disk /dev/hdc: 64 heads, 63 sectors, 526 cylinders
Units = cylinders of 4032 * 512 bytes

Device Boot    Start       End    Blocks    Id   System
/dev/hdc1             1        254    512032+  83  Linux
/dev/hdc2           255       526    548352    5   Extended
/dev/hdc5           255       320    133024+  82  Linux swap

Command (m for help):

Finalmente en el espacion restante crearemos la partición de MS-DOS:

Command (m for help): n
Command action
   l   logical (5 or over)
   p   primary partition (1-4)

First cylinder (321-526, default 321):
Using default value 321
Last cylinder or +size or +sizeM or +sizeK (321-526, default 526):
Using default value 526

Command (m for help): p

Disk /dev/hdc: 64 heads, 63 sectors, 526 cylinders
Units = cylinders of 4032 * 512 bytes

Device Boot    Start       End    Blocks    Id   System
/dev/hdc1             1        254    512032+  83  Linux
/dev/hdc2           255       526    548352    5   Extended
/dev/hdc5           255       320    133024+  82  Linux swap
/dev/hdc6           321       526    415264+  83  Linux

Command (m for help): t
Partition number (1-6): 6
Hex code (type L to list codes): 06
Changed system type of partition 6 to 6 (FAT16)

Command (m for help): p

Disk /dev/hdc: 64 heads, 63 sectors, 526 cylinders
Units = cylinders of 4032 * 512 bytes

Device Boot    Start       End    Blocks    Id   System
/dev/hdc1             1        254    512032+  83  Linux
/dev/hdc2           255       526    548352    5   Extended
/dev/hdc5           255       320    133024+  82  Linux swap
/dev/hdc6           321       526    415264+   6  FAT16

Command (m for help):

Creadas ya las particiones podemos establecer como activa una de ellas, utilizando el comando a (activate), para indicar que debe arrancarse el sistema operativo contenido en la misma (en este caso no se trata de un disco duro maestro del canal 1 IDE [/dev/hda] al cual se accede al arrancar el ordenardor, sin embargo se realiza el proceso igualmente por motivos didácticos) al encender el ordenador.

Command (m for help): a
Partition number (1-6): 1

Command (m for help): p

Disk /dev/hdc: 64 heads, 63 sectors, 526 cylinders
Units = cylinders of 4032 * 512 bytes

Device Boot    Start       End    Blocks   Id  System
/dev/hdc1   *         1       254    512032+  83  Linux
/dev/hdc2           255       526    548352    5  Extended
/dev/hdc5           255       320    133024+  82  Linux swap
/dev/hdc6           321       526    415264+   6  FAT16

Command (m for help):

Una vez que ya tenemos particionado el disco duro tal y como queremos, lo único que nos queda por hacer es hacer válidos los cambios efectuados, es decir, que realmente en disco se escriba esta nueva configuración (tabla de partición) del disco duro (lo cual acarrea la pérdida de todos los datos previamente existentes).

Para ello se utiliza el comando w (write), de todas formas si no estamos seguros de lo que hemos hecho podemos salir sin grabar y sin alterar nada con el comando q (quit).
 

Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.
Syncing disks.

WARNING: If you have created or modified any DOS 6.x
partitions, please see the fdisk manual page for additional
information.
 

Nota: El "WARNING" final se produce porque lo recomendable teóricamente siempre es particionar y formatear las particiones de un
sistema operativo desde ese sistema operativo.

Nota: El comando m  (menú), muestra todos los comandos disponibles en "fdisk".

El siguiente paso a dar en estos casos es el formateo de las particiones con el sistema de ficheros correspondiente al tipo de partición, esto es:
 

Tipo de partición Sistema de ficheros


Tipo 83 ext2
Tipo 82  swap
Tipo 06 fat

Sin embargo si estas particiones han sido creadas durante el proceso de instalación de Linux, no habrá de preocuparse por el formateo de las particiones Linux native (82) y swap (82), pues es el propio proceso de instalación es el encargado de realizarlo de forma automática.
De cualquier manera a continuación se mencionan los comandos Linux relacionados con el formateo del tipo de particiones mencionado:
 
 

Tipo de partición Tipo de partición Comando Linux



Tipo 83 ext2 mkfs.ext2
Tipo 82  swap mkswap
Tipo 06 fat mkfs.msdos

Última actualización: 2007-04-29 10:56:59-05



ir arriba
The Queen is here Mozilla Firefox The Best DataBase CakePHP Framework CSS GNU Hacker