Surgió la necesidad de identificar el formato de sistema de archivos de un dispositivo. Este artículo explica cómo listar todos los filesystems disponibles y sus formatos empleando la herramienta lsblk.

Típicamente se recurre a mount para identificar el sistema de archivos de un dispositivo:

emi@vaio:~$ mount | grep "^/dev"
/dev/sda7 on / type ext4 (rw,noatime)
/dev/sda1 on /boot type ext2 (rw,noatime)
/dev/sda4 on /System type fuseblk (rw,relatime,user_id=0,group_id=0,allow_other,blksize=4096)
/dev/sda5 on /data type fuseblk (rw,relatime,user_id=0,group_id=0,allow_other,blksize=4096)
/dev/sda6 on /vault type fuseblk (rw,relatime,user_id=0,group_id=0,allow_other,blksize=4096)

En esta salida, el tipo de sistema de archivos de cada dispositivo aparece luego de la palabra "type". Sin embargo, el sistema de archivos debe estar montado para que aparezca listado en la salida de mount.

¿Qué ocurre si necesito identificar el sistema de archivos de un dispositivo que no está montado? En este caso es posible utilizar herramientas de gestión de discos como fdisk, cfdisk, gdisk u otra:

root@vaio:/home/emi# fdisk -l
Disk /dev/sda: 465.8 GiB, 500107862016 bytes, 976773168 sectors
Disk model: ST500LM012 HN-M5
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: dos
Disk identifier: 0x000bbc48

Device     Boot     Start       End   Sectors   Size Id Type
/dev/sda1            2048   3999743   3997696   1.9G 83 Linux
/dev/sda2         4001790 892887039 888885250 423.9G  5 Extended
/dev/sda3  *    892887040 893091839    204800   100M  7 HPFS/NTFS/exFAT
/dev/sda4       893091840 976771071  83679232  39.9G  7 HPFS/NTFS/exFAT
/dev/sda5       132001792 532000767 399998976 190.8G  7 HPFS/NTFS/exFAT
/dev/sda6       532002816 892887039 360884224 172.1G  7 HPFS/NTFS/exFAT
/dev/sda7         4003840 131999743 127995904    61G 83 Linux

Partition 2 does not start on physical sector boundary.
Partition table entries are not in disk order.


El problema con estas herramientas es que la información sobre el formato de sistema de archivos es meramente informativa, ya que se obtiene del número en la columna tipo de la tabla de particiones (el cual puede no coincidir con el formato de sistema de archivos efectivamente utilizado en el dispositivo). Notar los valores "HPFS/NTFS/exFAT" en la columna "Type" de la salida de fdisk. Esto apenas da un indicio de qué formato de sistema de archivos se está utilizando.

Anteriormente demostré cómo listar todos los dispositivos por bloque utilizando lsblk:

emi@vaio:~$ lsblk
NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda      8:0    0 465.8G  0 disk 
├─sda1   8:1    0   1.9G  0 part /boot
├─sda2   8:2    0     1K  0 part 
├─sda3   8:3    0   100M  0 part 
├─sda4   8:4    0  39.9G  0 part /System
├─sda5   8:5    0 190.8G  0 part /data
├─sda6   8:6    0 172.1G  0 part /vault
└─sda7   8:7    0    61G  0 part /
sr0     11:0    1  1024M  0 rom  

Además de listar los dispositivos por bloque (típicamente discos, particiones y dispositivos de almacenamiento externos), esta herramienta permite mostrar información adicional disponible sobre cada dispositivo empleando la opción -f:

emi@vaio:~$ lsblk -f
NAME   FSTYPE LABEL           UUID                                 FSAVAIL FSUSE% MOUNTPOINT
sda                                                                               
├─sda1 ext2                   42868a2d-0ebf-4846-9b51-badb81d38cf1    1.7G     5% /boot
├─sda2                                                                            
├─sda3 ntfs   System Reserved B85AB1565AB1125C                                    
├─sda4 ntfs   System          CA0AB4F00AB4DB21                        3.9G    90% /System
├─sda5 ntfs   Data            6FAB714E6DC69037                       22.9G    88% /data
├─sda6 ntfs   Vault           24CA2622CA25F0AA                        7.7G    96% /vault
└─sda7 ext4                   f744048d-f6ec-47c0-8c3e-8eb31fec67b0   29.6G    51% /
sr0                                                                               

Esta salida muestra con exactitud qué formato de sistema de archivos utiliza cada dispositivo. Notar que en la columna "FSTYPE" figura "ntfs" donde antes fdisk reportaba "HPFS/NTFS/exFAT". Además extrae información adicional desde cada uno, tal como el espacio disponible, porcentaje de uso y etiqueta.

Por otro lado esta herramienta permite listar el UUID (identificador único universal) de cada disco/partición, lo cual puede ser útil si se desea montar mediante UUID en vez de nombre de dispositivo (esto permite montar con exactitud en sistemas donde el nombre de dispositivo no es predecible o persistente ante reinicios).

Compartí este artículo