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?
/dev/sdb
n'aura pas d'UUID, mais/dev/sdb1
devrait si elle a été formatée.fsck -n /dev/sdb1
. Vous pouvez également essayer de lui donner un UUID avectune2fs -U random /dev/sdb1
alors voir. Peu importe ce qu'est l'UUID.fsck -y /dev/sdb1
; si vous ne pouvez pas le monter, lancez simplement le fsck et j'espère que rien ne sera perdu. Lisezman fsck
la différence entre-n
et-y
.Réponses:
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/sda
réfèrent au premier sens (périphériques physiques); les nœuds de périphérique comme se/dev/sda1
ré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/sda
n'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:la source
/dev/sdb1
ou/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./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é./ 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:
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:
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.
la source
J'ai trouvé que
file -s
peut donner l'UUID pour une partition dans un cas oùblkid
ne sera pas:la source
Essayez sudo avec le
ls -l /dev/disk/by-uuid
oublkid /dev/sdb1
J'ai également un partitionné + formaté
sdb1
, pour une raison quelconque, il n'apparaît pas dans la liste, sauf si j'utilisesudo
.la source