GNU/Linux >> Tutoriales Linux >  >> Linux

¿Cómo encuentro el UUID de un sistema de archivos?

Solución 1:

Otro comando que podría estar disponible y que también funciona bastante bien para esto es 'blkid'. Es parte del paquete e2fsprogs. Ejemplos de su uso:

Busque datos en /dev/sda1:

[email protected]:~$ sudo blkid /dev/sda1
/dev/sda1: UUID="727cac18-044b-4504-87f1-a5aefa774bda" TYPE="ext3"

Mostrar datos UUID para todas las particiones:

[email protected]:~$ sudo blkid
/dev/sda1: UUID="727cac18-044b-4504-87f1-a5aefa774bda" TYPE="ext3"
/dev/sdb: UUID="467c4aa9-963d-4467-8cd0-d58caaacaff4" TYPE="ext3"

Mostrar datos UUID para todas las particiones en un formato más fácil de leer:(Nota:en versiones más recientes, blkid -L tiene un significado diferente, y blkid -o list debería usarse en su lugar)

[email protected]:~$ sudo blkid -L
device     fs_type label    mount point    UUID
-------------------------------------------------------------------------------
/dev/sda1 ext3             /              727cac18-044b-4504-87f1-a5aefa774bda
/dev/sdc  ext3             /home          467c4aa9-963d-4467-8cd0-d58caaacaff4

Muestra solo el UUID para /dev/sda1 y nada más:

[email protected]:~$ sudo blkid -s UUID -o value /dev/sda1
727cac18-044b-4504-87f1-a5aefa774bda

Solución 2:

Solo para discos con particiones GPT

En un disco con formato GPT, a cada partición se le asigna un GUID, que es una forma de UUID, aunque probablemente no sea a lo que se refería el cartel original. Por lo tanto, esta respuesta probablemente sea menos útil para el interrogador original. Sin embargo, creo que hay una distinción importante a tener en cuenta.

Para obtener el GUID de la partición 1 en el disco con formato GPT /dev/sda, así como su etiqueta de partición, etc.:

sudo sgdisk -i 1 /dev/sda

o todos con:

ls -l /dev/disk/by-partuuid

Para arrancar con la raíz del sistema de archivos en una determinada partición, usaría la sintaxis de parámetros del kernel de Linux de:

root=PARTUUID=87654321-4321-4321-abcd-123456789012

En este caso, puede especificar solo el comienzo del UUID, lo suficiente para que sea único. Este parámetro es más primitivo y el kernel puede entenderlo antes en su proceso de arranque.

Hay una diferencia en la semántica entre estos:

Un disco contiene particiones, una partición contiene un sistema de archivos, un sistema de archivos contiene directorios y archivos. Para algunas configuraciones y sistemas operativos hay más capas.

El GUID UUID y la etiqueta asociada se refieren a una partición, pero no al contenido de la partición. Una partición nueva en el mismo disco o una partición en un disco nuevo tendrá un UUID de GUID nuevo. La misma partición podría contener un sistema de archivos un día y otro en un día diferente. Solo existe para discos con formato GPT, pero no para discos particionados heredados. Por lo general, no hay más utilidad aquí que especificar root=/dev/sda1 o root=8:1 .

Las otras respuestas actuales se refieren al UUID de un sistema de archivos en alguna partición contenedora. Si el sistema de archivos se copia, como un todo, a otra partición o disco duro, ese valor sigue siendo el mismo. Este UUID es útil para encontrar un sistema de archivos movido. Por lo tanto, esto es probablemente más pertinente para la mayoría de las personas. Parámetro del kernel de Linux root=UUID=87654321-4321-4321-a567-123456789012 se refiere a esto.

Creo root=LABEL= y root=UUID= son implementados por el espacio de usuario temprano, el código de inicio que vi el otro día en mi sistema tradujo estos parámetros a /dev/disk/by-uuid y /dev/disk/by-label (enlaces que creo que son creados por udev en el espacio de usuario en mi sistema).

[1] http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/init/do_mounts.c#n183

Solución 3:

La forma limpia de secuencias de comandos de hacer esto que funciona en cualquier tipo de sistema de archivos es:

lsblk -no UUID <device-containing-FS>

O, dado el punto de montaje (o cualquier archivo dentro de él):

lsblk -no UUID $(df -P <file> | awk 'END{print $1}')

El resultado es el UUID, el UUID completo y nada más que el UUID.

Solución 4:

La forma más fácil de hacer esto para ext2/ext3/ext4 es:

/sbin/tune2fs -l /dev/sda1

Solución 5:

La forma recomendada de hacer esto es hacer

sudo vol_id -u /dev/sda2

Para obtener más información sobre el uso de UUID, consulte este artículo (de la ayuda de ubuntu, pero debería funcionar para cualquier distribución de Linux que use UUID).

Como se indica en los comentarios a esta pregunta, es posible que vol_id no se interponga en su camino. En ubuntu está en /sbin, por lo que lo anterior funcionará. Para fedora parece necesitar

sudo /lib/udev/vol_id -u /dev/sda2

Si otras distribuciones tienen vol_id en otros lugares, publique un comentario y lo agregaré a esta respuesta.


Linux
  1. CentOS / RHEL:cómo encontrar el UUID de un dispositivo o sistema de archivos

  2. ¿Cómo encontrar el tamaño de inodo de un sistema de archivos ext2/ext3/ext4?

  3. ¿Cómo encuentro el tamaño máximo de pila?

  4. Cómo canalizar los resultados de 'buscar' a mv en Linux

  5. ¿Cómo averiguo qué está utilizando todo el espacio en mi partición /?

Cómo cambiar el UUID de la partición en el sistema de archivos de Linux

Cómo encontrar el tipo de sistema de archivos montado en Linux

Cómo identificar el UUID del sistema de archivos en Linux:el tutorial definitivo

¿Cómo cambiar el esquema de partición en su servidor Linux?

Android - ¿Cómo encontrar el nombre de ruta de la partición de intercambio en la tarjeta SD?

¿Cómo montar un sistema de archivos en un entorno de solo lectura?