UUID d'un lecteur qui n'apparaîtra pas dans / dev / disk / by-uuid ou blkid

12

J'ai une clé USB qui ne reçoit pas d'UUID. Quand je regarde le contenu de / dev / disk / by-uuid, il n'existe pas là-bas. Le point de développement dans lequel la partition réside est sur / dev / sdb. Je peux voir sdb sous / dev / disk / by-path. De plus, lorsque j'utilise blkid, je n'obtiens aucune sortie. Je suppose que j'ai reçu un code d'erreur qui est revenu.

Existe-t-il un moyen d'obtenir un UUID pour cette partition?

Résultat 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 table de partitions et la partition ont été créées avec gparted, elles ont donc été partitionnées et ont exécuté la commande mkfs.ext3.

Sortie 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

Il a été formaté en tant que lecteur ext3. Pourquoi cela apparaît-il comme ext2?

monksy
la source
Vous devez clarifier de quel appareil vous parlez. /dev/sdbn'aura pas d'UUID, mais /dev/sdb1devrait si elle a été formatée.
goldilocks
1
Je fais référence à / dev / sdb1 qui se trouve sous / dev / sdb
monksy
Publiez la sortie de fsck -n /dev/sdb1. Vous pouvez également essayer de lui donner un UUID avec tune2fs -U random /dev/sdb1alors voir. Peu importe ce qu'est l'UUID.
goldilocks
publié [désolé si cela devient ennuyeux]
monksy
1
Aucun problème. Le bit "superbloc invalide" peut expliquer pourquoi il n'y a pas d'UUID. Si vous avez besoin de sauvegarder des éléments là-bas, essayez de les monter et de le faire, puis démontez et fsck -y /dev/sdb1; si vous ne pouvez pas le monter, lancez simplement le fsck et j'espère que rien ne sera perdu. Lisez man fsckla différence entre -net -y.
goldilocks

Réponses:

13

C'est ce qui est censé se produire.

Il y a deux utilisations familières du terme "disque" ou "lecteur" en jeu ici: la première se réfère à un périphérique physique tel qu'une clé USB. Le second fait référence à une partition de système de fichiers , dont il peut y en avoir plusieurs sur un même périphérique physique.

Les nœuds de périphérique se /dev/sdaréfèrent au premier sens (périphériques physiques); les nœuds de périphérique comme se /dev/sda1réfèrent au second (partitions du système de fichiers). Ça a du sens? sda1 est une partition de système de fichiers sur le disque physique sda. Il est possible de formater un périphérique entier avec une partition, mais cela est inhabituel, donc en général, /dev/sdan'aura jamais d'UUID.

Partitions filesystem ont UUID, les périphériques physiques ne le font pas . Je crois qu'ils sont créés de manière aléatoire lorsque le système de fichiers est créé (c'est pourquoi ils changeront si vous, par exemple, reformatez une partition, et pourquoi si vous bloquez au niveau copie une partition et créez une nouvelle partition avec l'image, vous aurez deux partitions avec le même UUID).

Donc, gardez à l'esprit que l'UUID est créé lorsque la partition est formatée . Lorsque vous partitionnez un disque (par exemple, avec fdisk), vous ne formatez rien, vous définissez simplement le type de partition (et la taille, etc.) dans la table de partition, de sorte que les nouvelles partitions non formatées n'ont pas d'UUID.

Enfin, étant donné que c'est l'outil utilisé pour formater la partition qui définit l'UUID, il est possible que des outils très anciens ne le fassent pas. Cependant, vous pouvez toujours en définir un nouveau (pour ext) avec tune2fs, par exemple:

tune2fs -U random /dev/whatever
boucle d'or
la source
SDA est mon principal moteur. SDB, SDD, etc. sont des clés USB. J'ai mis à jour ma réponse pour inclure fdisk -l pour prouver qu'il a une partition.
monksy
@monksy: et le nœud de périphérique qui ne signale pas d'UUID est /dev/sdb1ou /dev/sdb? Ce dernier ne devrait pas. En outre, la sortie fdisk n'indique pas qu'une partition est formatée et ne prouve donc pas qu'elle doit avoir un UUID disponible. J'ai ajouté quelques courts paragraphes ci-dessus pour expliquer cela.
goldilocks
Il est formaté. Lorsqu'il est branché [éléments pre fstab], gnome automounter le fait apparaître. Je ne reçois pas d'UUID pour sdb1. Le fdisk -l est juste la preuve qu'il y a une partition
monksy
1
J'ai dû redémarrer avant que la partition n'apparaisse /dev/disk/by-uuid(Ubuntu 16.04 mais affecte probablement les autres). Donc (1) créer des partitions et des systèmes de fichiers, (2) redémarrer. Il y a probablement un moyen de ne pas redémarrer, mais j'ai préféré vérifier que tout provient d'un démarrage à froid, donc je n'ai pas enquêté.
flou
2

/ Dev / disk / by-uuid est rempli au démarrage par le programme "partprobe". Si vous avez un disque ou une partition que partprobe ne peut pas reconnaître, alors partprobe échoue avec une erreur et arrête l'analyse du reste des partitions:

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

C'est évidemment une erreur sur la partie partprobe . Probablement spécifique à Ubuntu 14.04 (fidèle). La solution consiste à exécuter explicitement partprobe sur la partition qui n'a pas été analysée:

root@machine1:~# partprobe /dev/sdd1

Notez que partprobe est démarré plusieurs fois en raison de chaque opération de gestion de disque, de sorte que la solution de contournement est de courte durée.

Arie Skliarouk
la source
2

J'ai trouvé que file -speut donner l'UUID pour une partition dans un cas où blkidne sera pas:

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)
mwfearnley
la source
1

Essayez sudo avec le ls -l /dev/disk/by-uuidoublkid /dev/sdb1

J'ai également un partitionné + formaté sdb1, pour une raison quelconque, il n'apparaît pas dans la liste, sauf si j'utilise sudo.

Gulchrider
la source