UUID de una unidad que no aparecerá en / dev / disk / by-uuid o blkid


12

Tengo una unidad USB que no recibe un UUID. Cuando miro el contenido de / dev / disk / by-uuid, no existe allí. El punto de desarrollo en el que vive la partición es on / dev / sdb. Puedo ver sdb en / dev / disk / by-path. Además, cuando uso blkid, obtengo cero resultados. Supongo que recibí un código de error que regresó.

¿Hay alguna manera de obtener un UUID para esta partición?

Consecuencia de fdisk -l /dev/sdb:

Disk /dev/sdb: 320.1 GB, 320072932352 bytes
255 heads, 63 sectors/track, 38913 cylinders, total 625142446 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: 0x00082145

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048   625141759   312569856   83  Linux

La tabla de particiones y la partición se crearon con gparted, por lo que se particionó y ejecutó el comando mkfs.ext3.

Salida de fsck -n / dev / sdb1

fsck from util-linux 2.20.1
e2fsck 1.42 (29-Nov-2011)
fsck.ext2: Superblock invalid, trying backup blocks...
zwei was not cleanly unmounted, check forced.
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
zwei: 11/19537920 files (0.0% non-contiguous), 1275097/78142464 blocks

Fue formateado como una unidad ext3. ¿Por qué aparece eso como ext2?


Debe aclarar de qué dispositivo está hablando. /dev/sdbno tendrá un UUID, pero /dev/sdb1debería hacerlo si ha sido formateado.
Ricitos de oro

1
Me refiero a / dev / sdb1 que está bajo / dev / sdb
monksy

Publicar la salida de fsck -n /dev/sdb1. También podría intentar darle un UUID con tune2fs -U random /dev/sdb1luego ver. No importa cuál sea el UUID.
Ricitos de oro

publicado [lo siento si esto se está
volviendo

1
No hay problema. El bit "superblock inválido" puede explicar por qué no hay UUID. Si necesita hacer una copia de seguridad de las cosas allí, intente montarlo y hacerlo, luego desmonte y fsck -y /dev/sdb1; Si no puede montarlo, simplemente ejecute el fsck y esperemos que no se pierda nada. Lea man fsckla diferencia entre -ny -y.
Ricitos de Oro

Respuestas:


13

Eso es lo que se supone que debe pasar.

Aquí hay dos usos coloquiales del término "disco" o "unidad": el primero se refiere a un dispositivo físico como un dispositivo USB. El segundo se refiere a una partición del sistema de archivos , de la cual puede haber varias en un dispositivo físico.

Los nodos de dispositivo como se /dev/sdarefieren al primer sentido (dispositivos físicos); los nodos de dispositivos como se /dev/sda1refieren a la segunda (particiones del sistema de archivos). ¿Tener sentido? sda1 es una partición del sistema de archivos en el disco físico sda. Es posible formatear un dispositivo completo con una partición, pero eso es inusual, por lo que, en general, /dev/sdanunca tendrá un UUID.

Las particiones del sistema de archivos tienen UUID, los dispositivos físicos no . Creo que se crean aleatoriamente cuando se crea el sistema de archivos (por lo que cambiarán si usted, por ejemplo, formatea una partición, y por qué si bloquea el nivel, copie una partición y cree una nueva partición con la imagen, tendrá dos particiones con el mismo UUID).

Por lo tanto, tenga en cuenta que el UUID se crea cuando se formatea la partición . Cuando particiona un disco (p. Ej., Con fdisk), no está formateando nada, solo está configurando el tipo de partición (y tamaño, etc.) en la tabla de particiones, por lo que las nuevas particiones sin formato no tienen un UUID.

Finalmente, dado que es la herramienta utilizada para formatear la partición que establece el UUID, es posible que herramientas muy antiguas no lo hagan. Sin embargo, siempre puede configurar uno nuevo (para ext) con tune2fs, por ejemplo:

tune2fs -U random /dev/whatever

SDA es mi unidad principal. SDB, SDD, etc. son unidades USB. He actualizado mi respuesta para incluir fdisk -l para demostrar que tiene una partición.
monksy

@monksy: y el nodo del dispositivo que no informa un UUID es /dev/sdb1o /dev/sdb? El posterior no debería. Además, la salida de fdisk no indica que una partición está formateada y, por lo tanto, no prueba que deba tener un UUID disponible. He agregado algunos párrafos cortos arriba para explicar esto.
Ricitos de oro

Está formateado. Cuando se enchufa [elementos pre fstab] gnome automounter lo abrirá. No obtengo un UUID para sdb1. El fdisk -l es solo una prueba de que hay una partición allí
monksy

1
Tuve que reiniciar antes de que la partición apareciera en /dev/disk/by-uuid(Ubuntu 16.04 pero probablemente afecta a otros). Entonces (1) crea particiones y sistemas de archivos, (2) reinicia. Probablemente haya una forma de no reiniciar, pero preferí comprobar que todo surge de un arranque en frío, así que no investigé.
Fazy

2

El / dev / disk / by-uuid se rellena en el arranque mediante el programa "partprobe". Si tiene un disco o partición que partprobe no puede reconocer, entonces partprobe falla con un error y detiene el escaneo del resto de particiones:

root@machine1:~# partprobe 
Error: /dev/mapper/sda5_crypt: unrecognised disk label
root@machine1:~# 

Eso es obviamente un error en la parte de la sonda . Probablemente específico de ubuntu 14.04 (confiable). La solución es ejecutar partprobe explícitamente en la partición que no se escaneó:

root@machine1:~# partprobe /dev/sdd1

Tenga en cuenta que partprobe se inicia muchas veces como resultado de cada operación de administración de disco, por lo que la solución es de corta duración.


2

He descubierto que file -spuede dar el UUID para una partición en un caso en el blkidque no:

sudo file -s /dev/sda1
/dev/sda1: Linux rev 1.0 ext2 filesystem data (mounted or unclean), UUID=ef55765f-dae5-426f-82c4-0d98265c5f21 (needs journal recovery)

1

Prueba sudo con el ls -l /dev/disk/by-uuidoblkid /dev/sdb1

Tengo un particionado + formateado sdb1también, por alguna razón no aparece en la lista a menos que lo use sudo.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.