Todo lo que se intenta aprender requiere práctica. Trabajar con discos duros en Linux no es una excepción. Practicar en un disco real a riesgo de dañar el sistema de archivos no es una buena idea, pero tampoco es demasiado práctico crear una máquina virtual para tales fines. Entonces, ¿cuál es la solución?
En Linux, todo se considera un archivo, y el disco duro se representa como un archivo. Esto plantea una posibilidad interesante. Podemos utilizar un archivo normal en lugar de un disco duro para nuestros experimentos.
Vamos a crear un sitio de pruebas con un equipo:
sudo dd if=/dev/zero of=/disk.img count=2000 bs=1M
Hemos creado un archivo de 2000 megabytes lleno de ceros con el que podemos trabajar con seguridad. Ejecutemos parted
, pasándole nuestro fichero en lugar del equipo:
$ sudo parted /disk.img
Si quieres trabajar con un disco real, simplemente pasa la ruta a su archivo de dispositivo a la utilidad:
$ sudo parted /dev/sda
La utilidad se iniciará en modo interactivo y podrás ejecutar los comandos necesarios. Ahora intentemos ver la lista de particiones del dispositivo:
(parted) print
Está vacía porque ni siquiera hay una tabla de particiones. Mientras no haya tabla de particiones, no se podrá realizar el particionado del disco Linux, por lo que tendremos que crear una. Para ello, utilizaremos el comando mktable
:
(parted) mktable gpt
Tenemos una tabla de particiones de tipo gpt
, pero puedes elegir una de estas: aix
, amiga
, bsd
, dvh
, gpt_sync_mbr
, gpt
, mac
, msdos
, pc98
, sun
, loop
Ahora vamos a crear una nueva partición del sistema de ficheros ext2
de 100 megabytes utilizando el comando mkpart
. Necesita que se le pasen tres parámetros: tipo de partición, sistema de archivos y coordenadas. El tipo de partición puede ser
primaria
lógica
extended
(primaria, lógica y extendida).En gpt
, puedes crear tantas particiones primarias como quieras y no tener que pensar en su tipo. Todo esto fue creado para MBR, en esta tabla hay una limitación en el número de particiones primarias - sólo cuatro.
Creando una partición primaria:
(parted) mkpart primary ext2 0 400М
Como esta es la primera partición, empezamos con cero y terminamos con el tamaño que queremos - 400 megabytes.
Veamos de nuevo la lista de particiones:
(parted) print
Vamos a crear algunas particiones más, por ejemplo para la raíz del sistema y para la carpeta home:
(parted) mkpart primary ext4 400 1000M
(parted) mkpart primary ext4 1000M -0M
El parámetro -0
significa contar desde el final de la partición, así que todo el espacio disponible para la tercera partición será tomado. Veamos lo que tenemos:
Trabajar con discos en Linux se hace por sus números. Reduzcamos la última partición y creemos otra después de ella:
(parted) resizepart 3 1600M
Puedes especificar el tamaño deseado como un porcentaje:
(parted) resizepart 3 60%
Y ahora crear una partición en particiones
:
mkpart primary ext4 1600M -0M
Particionar el disco en particiones Linux está completo. Omitiremos trabajar con sistemas de archivos en este artículo, ya que usaremos otros comandos para este propósito, que cubriremos en un artículo futuro.