#4sysadmins

Inicio » GNU/Linux » Particionar un dispositivo con parted

Particionar un dispositivo con parted

Últimas Entradas

Follow #4sysadmins on WordPress.com

En una entrada anterior aprendíamos a particionar un disco con el comando fdisk, el cual se utiliza para tablas de particiones de tipo MBR (Master Boot Record) con el que nos encontramos una restricción importante con respecto al número de particiones primarias que podemos crear, que es tan solo de cuatro, si bien es cierto que es posible crear mas particiones si entre las cuatro particiones existe una como partición extendida, partición que nos permitirá extender el número de particiones en el disco. Estas particiones creadas dentro de la partición extendida son particiones lógicas y a efectos prácticos son como las particiones primarias. Podremos crear hasta 23 particiones lógicas.

Cuando formateamos un disco con parted estamos empleando la tabla de particiones GPT (GUID Partition Table) la cual forma parte del estándar EFI o UEFI (Extensible Firmware Interface) con la que podremos crear hasta un máximo de 128 particiones primarias.

Bien, no se hable mas, vamos a comenzar a particionar el disco.

 

Particionando un disco externo con parted

Vamos a suponer que tenemos para este ejemplo un disco duro externo de 160GB el cual queremos particionar en cinco partes, por ejemplo para albergar distintos sistemas de ficheros o sistemas operativos. Lo primero que haremos es plantear el diseño del disco el cual para nosotros queda tal que así:

  • Partición que usaremos para formatearla con un sistema de archivos FAT32
  • Partición que formatearemos con un sistema de archivos EXT4, bien para uso compartido con otros sistemas Linux o para instalar en ella un sistema GNU/Linux en si.
  • Una tercera partición que posteriormente formatearemos con NTFS para compartir archivos con sistemas MS Windows
  • La cuarta partición la utilizaremos por ejemplo para darle un posterior formato swap (hará de partición dedicada a la paginación)
  • Por último una quinta partición que utilizaremos para montar los /home de los usuarios y formatearemos con el sistema de archivos XFS

Bien ahora que ya sabemos cuantas particiones y para que tipo de sistemas de archivos necesitaremos, vamos a proceder a conectar el dispositivo externo y una vez detectado por el sistema comprobar de que unidad se trata.

Para comprobar que unidad de dispositivo se le a asignado  (/dev/sda, /dev/sdb, /dev/sdc…) podemos utilizar los siguientes comandos, que sumados a la intuición y características del disco deduciremos de cual se trata:

Nota: damos por echo de que acabamos de conectar el dispositivo

$ sudo dmesg
...
[165516.887203] usb-storage 2-1.2:1.0: USB Mass Storage device detected
[165516.888352] usb-storage 2-1.2:1.0: Quirks match for vid 152d pid 2329: 8020
[165516.888458] scsi5 : usb-storage 2-1.2:1.0
[165519.117413] scsi 5:0:0:0: Direct-Access     ST916031 0AS              0303 PQ: 0 ANSI: 2 CCS
[165519.117910] sd 5:0:0:0: Attached scsi generic sg2 type 0
[165519.123841] sd 5:0:0:0: [sdb] 312581808 512-byte logical blocks: (160 GB/149 GiB)
[165519.125282] sd 5:0:0:0: [sdb] Write Protect is off
[165519.125287] sd 5:0:0:0: [sdb] Mode Sense: 28 00 00 00
...
$ sudo fdisk -l
WARNING: GPT (GUID Partition Table) detected on '/dev/sda'! The util fdisk doesn't support GPT. Use GNU Parted.
Disk /dev/sda: 500.1 GB, 500107862016 bytes
255 heads, 63 sectors/track, 60801 cylinders, total 976773168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000
Device Boot Start End Blocks Id System
/dev/sda1 1 976773167 488386583+ ee GPT
Disk /dev/sdb: 160.0 GB, 160041885696 bytes
81 heads, 63 sectors/track, 61254 cylinders, total 312581808 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0xea81879d
Device Boot Start End Blocks Id System
/dev/sdb1 * 2048 312581807 156289880 83 Linux
$ sudo parted -l
Model: ATA WDC WD5000BEVT-2 (scsi)
Disk /dev/sda: 500GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Number Start End Size File system Name Flags
 1 1049kB 71,0GB 71,0GB xfs msftdata
 2 71,0GB 144GB 72,9GB xfs msftdata
 3 144GB 147GB 3000MB linux-swap(v1)
 4 147GB 147GB 1049kB bios_grub
 5 147GB 388GB 241GB ntfs msftdata
Model: ST916031 0AS (scsi)
Disk /dev/sdb: 160GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Number Start End Size Type File system Flags
 1 1049kB 160GB 160GB primary fat32 boot

Bien ahora ya sabemos que se trata de la unidad /dev/sdb así que vamos a utilizarla con parted.

IMPORTANTE: El comando parted es mucho mas potente que fdisk (el cual ya vimos en una entrada anterior). Con parted podremos (entre otros) realizar un simple particionado de forma interactiva, realizar un particionado a la vez que creamos el sistema de archivos, mover particiones, renombrar o crear etiquetas a particiones, redimensionar el tamaño, etc… por lo que recomiendo la lectura de su página man ($ man parted) que sin ser muy extensa, explica breve y concisamente sus caso de uso.

Anotado lo anterior, diré que aquí vamos a particionar de forma interactiva para hacer lo que hicimos con fdisk en la entrada anterior lo mas parecido posible.

$ sudo parted /dev/sdb

Ahora dentro del menú vamos a imprimir la tabla de particiones, ya que de haberlas, las vamos a eliminar para crear una tabla nueva:

(parted) print
Model: ST916031 0AS (scsi)
Disk /dev/sdb: 160GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Number    Start    End    Size    Type    File system    Flags
 1         1049kB 160GB 160GB primary    fat32       boot

Vamos a eliminar esta partición:

(parted) rm 1

Ahora creamos las particiones. Lo primero será indicar el tipo de tabla de particiones, msdos para MBR o gpt para EFI (entre otros)

(parted) mklabel gpt

 

Partición 1:

Vamos a crearla de 20000MB (20GB) y para ser posteriormente (aunque podríamos hacerlo en tiempo de creación) formateada con un sistema de archivos fat32

(parted) mkpart Windowsfat
File system type? [ext2]? fat32 
Start? 1 
End? 20000

 

Partición 2:

Esta vez vamos a dar un espacio 50GB

(parted) mkpart 
Partition name? []? LinuxExt 
File system type? [ext2]? ext4 
Start? 20000 
End? 70000

 

Partición 3:

Partición /dev/sdb3 para Windows con un tamaño de 50GB

(parted) mkpart 
Partition name? []? WindowsNTFS 
File system type? [ext2]? NTFS 
Start? 70001 
End? 120000

 

Partición 4:

Partición destinada a paginación (swappiness) que posteriormente será formateada con mkswap. Le daremos tan solo 4GB

(parted) mkpart 
Partition name? []? Swap 
File system type? [ext2]? linux-swap 
Start? 120001 
End? 124000

 

Partición 5:

Última partición primaria que creamos (/dev/sdb5) que será para XFS donde montaremos los /home de los usuarios. Le daremos el resto del espacio

(parted) mkpart 
Partition name? []? HOME 
File system type? [ext2]? xfs 
Start? 124001 
End? 160000

Ahora imprimiremos la tabla de particiones para ver el estado en el que se encuentra:

(parted) print 
Model: ST916031 0AS (scsi)
Disk /dev/sdb: 160GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Number        Start        End        Size  File system    Name     Flags
    1        1049kB      20,0GB      20,0GB   fat32      Windows   msftdata
    2        20,0GB      70,0GB      50,0GB              LinuxExt
    3        70,0GB     120GB        50,0GB              WindowsNTFS msftdata
    4       120GB       124GB        4000MB                Swap
    5       124GB       160GB        36,0GB                HOME

 

Para salir de parted escribimos quit

(parted) quit

Listo ya tendríamos particionado el disco. Para empezar a utilizar las particiones antes deberemos de formatearlas.

Aprenderemos a dar diferentes formatos a estas particiones en la siguiente entrada.

 


6 comentarios

  1. xxxgaboxxx dice:

    Hola! Alguna recomendación para un pendrive que se lo formateo a y no lo reconoce ningún OS. Saludos!

    Me gusta

    • nebul4ck dice:

      No te entiendo. ¿ Has particionado el disco y le has dado formato con por ejemplo el comando mkfs.ext4? (en caso de que el formato deseado sea ext4)

      Me gusta

      • xxxgaboxxx dice:

        Estuve jugando con “dd” o “fdisk” en un pendrive Sandisk y ahora no me lo reconoce, probé con la herramienta de la marca en Windows y nada. Dmesg me dice que está pero no lo puedo montar.

        Me gusta

      • nebul4ck dice:

        Si dmesg te lo reconoce, prueba lo siguiente. Vamos a suponer que el dispositivo es /dev/sdb, OK?

        Prueba esto:

        $ sudo fdisk -l /dev/sdb
        ó
        $ sudo parted -l

        Si te da resultados, entonces aplicale formato al dispositivo completo:

        $ sudo mkfs.vfat /dev/sdb

        Si quieres intenta a particionarlo y luego a formatear tan solo esa partición.

        Cuando este formateado prueba entonces a montarlo:

        $ sudo mount /dev/sdb /mnt
        ó
        $ sudo mount /dev/sdb1 /mnt (si lo particionastes)

        Si dmesg te lo reconoce, aún está vivo, el problema es cuando dmesg no lo pilla :p

        Cuentame!

        Le gusta a 1 persona

      • xxxgaboxxx dice:

        Gracias por tu tiempo, voy a crear una entrada en mi blog con respecto a esto así la seguimos por ahí. Saludos.

        Le gusta a 1 persona

      • nebul4ck dice:

        Tiene pinta de que la tabla de particiones esta dañada, al usar el comando dd seguramente hayas modificado la geometría del disco. No me he enfrentado nunca a tener que restaurar la geometría de un disco, quizás con dd puedas volver a reestablecerla.

        Algunas opciones:

        Prueba a utilizar el comando testdisk.

        1. Inserta el driver
        2. $ sudo testdisk
        3. A ver si tienes suerte y te reconoce /dev/sdb…, si hay suerte crea un log que te informe un poco mas. De todos modos busca info sobre recuperar la tabla de particiones!

        Otra cosa que probaría a hacer (así a ciegas) es:

        1. $ sudo parted /dev/sdb (seguramente no lo reconocerá :( )
        2. Muchas veces entra al usb, aunque no imprime particiones pues la tabla está corrupta
        3. Una vez dentro dile que vas a usar una tabla de particiones MBR, esto puedes hacerlo con mklabel
        4. Te pedirá que introduzcas el tipo de tabla: teclea msdos y [Enter]
        5. Luego pulsa q o quit y reentra nuevamente para crear una partición con mkpart un_nombre

        No sé… es por dar ideas, pero casi seguro que te las vas a ver para reconstruir la geometría del disco!!

        Suerte!

        PD El blog en el que se está siguiente esta entrada es: https://eyesonlinux.wordpress.com/

        Saludos!

        Me gusta

Deja un comentario, Gracias!

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: