Ich habe ein USB-Laufwerk, das keine UUID empfängt. Wenn ich mir den Inhalt von / dev / disk / by-uuid ansehe, existiert er dort nicht. Der Entwicklungspunkt, in dem sich die Partition befindet, befindet sich in / dev / sdb. Ich kann SDB unter / dev / disk / by-path sehen. Außerdem erhalte ich bei Verwendung von blkid keine Ausgabe. Ich gehe davon aus, dass ich einen Fehlercode erhalten habe, der zurückgegeben wurde.
Gibt es eine Möglichkeit, eine UUID für diese Partition zu erhalten?
Ergebnis von 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
Die Partitionstabelle und Partition wurde mit gparted erstellt, daher wurde sie partitioniert und der Befehl mkfs.ext3 ausgeführt.
Ausgabe von 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
Es wurde als ext3-Laufwerk formatiert. Warum wird das als ext2 angezeigt?
/dev/sdb
hat keine UUID,/dev/sdb1
sollte aber, wenn sie formatiert wurde.fsck -n /dev/sdb1
. Sie können auch versuchen, ihm eine UUID zu geben, umtune2fs -U random /dev/sdb1
dann zu sehen. Es spielt keine Rolle, was die UUID ist.fsck -y /dev/sdb1
; Wenn Sie es nicht mounten können, führen Sie einfach den fsck aus und hoffentlich geht nichts verloren. Lesen Sieman fsck
den Unterschied zwischen-n
und-y
.Antworten:
Das soll passieren.
Es gibt zwei umgangssprachliche Verwendungen des Begriffs "Festplatte" oder "Laufwerk": Die erste bezieht sich auf ein physisches Gerät wie einen USB-Stick. Die zweite bezieht sich auf eine Dateisystempartition , von der sich möglicherweise mehrere auf einem physischen Gerät befinden.
Geräteknoten wie
/dev/sda
beziehen sich auf den ersten Sinn (physische Geräte); Geräteknoten wie/dev/sda1
beziehen sich auf die zweite (Dateisystempartitionen). Sinn ergeben? sda1 ist eine Dateisystempartition auf der physischen Festplatte sda. Es ist möglich, ein gesamtes Gerät mit einer Partition zu formatieren. Dies ist jedoch ungewöhnlich und hat im Allgemeinen/dev/sda
niemals eine UUID.Dateisystempartitionen haben UUIDs, physische Geräte nicht . Ich glaube, sie werden zufällig erstellt, wenn das Dateisystem erstellt wird (weshalb sie sich ändern, wenn Sie z. B. eine Partition neu formatieren, und wenn Sie eine Partition auf Blockebene kopieren und eine neue Partition mit dem Image erstellen, haben Sie zwei Partitionen mit der gleichen UUID).
Denken Sie also daran, dass die UUID beim Formatieren der Partition erstellt wird . Wenn Sie eine Festplatte partitionieren (z. B. mit fdisk), formatieren Sie nichts, sondern legen lediglich den Partitionstyp (und die Größe usw.) in der Partitionstabelle fest, sodass die neuen unformatierten Partitionen keine UUID haben.
Da es das Tool ist, mit dem die Partition formatiert wird, die die UUID festlegt, ist es möglicherweise möglich, dass sehr alte Tools dies nicht tun. Sie können jedoch immer eine neue (für ext) festlegen
tune2fs
, z.quelle
/dev/sdb1
oder/dev/sdb
? Letzteres sollte nicht. Auch fdisk Ausgang bedeutet nicht , dass eine Partition formatiert ist, und somit nicht beweisen , dass es sollte eine UUID zur Verfügung hat. Ich habe oben einige kurze Absätze hinzugefügt, um dies zu erklären./dev/disk/by-uuid
angezeigt wurde (Ubuntu 16.04, betrifft aber wahrscheinlich andere). Also (1) Partition (en) und Dateisystem (e) erstellen, (2) neu starten. Es gibt wahrscheinlich einen Weg ohne Neustart, aber ich habe es vorgezogen zu überprüfen, ob alles von einem Kaltstart stammt, also habe ich nicht nachgeforscht.Die Datei / dev / disk / by-uuid wird beim Booten vom Programm "partprobe" ausgefüllt. Wenn Sie eine Festplatte oder Partition haben, die partprobe nicht erkennen kann, schlägt partprobe mit einem Fehler fehl und beendet das Scannen der restlichen Partitionen:
Das ist offensichtlich ein Fehler bei partprobe part . Wahrscheinlich spezifisch für Ubuntu 14.04 (vertrauenswürdig). Die Problemumgehung besteht darin, partprobe explizit auf der Partition auszuführen, die nicht gescannt wurde:
Beachten Sie, dass partprobe bei jedem Festplattenverwaltungsvorgang viele Male gestartet wird, sodass die Problemumgehung nur von kurzer Dauer ist.
quelle
Versuchen Sie sudo mit dem
ls -l /dev/disk/by-uuid
oderblkid /dev/sdb1
Ich habe auch ein partitioniertes + formatiertes Format
sdb1
, aus irgendeinem Grund wird es nicht in der Liste angezeigt, es sei denn, ich verwende essudo
.quelle
Ich habe festgestellt,
file -s
dass die UUID für eine Partition in einem Fall angegebenblkid
werden kann, in dem dies nicht der Fall ist:quelle