ubuntuusers.de

Du betrachtest eine alte Revision dieser Wikiseite.

UUID

Dieser Artikel wurde für die folgenden Ubuntu-Versionen getestet:

Dieser Artikel ist größtenteils für alle Ubuntu-Versionen gültig.

Zum Verständnis dieses Artikels sind folgende Seiten hilfreich:

UUID steht für Universally Unique Identifier und bezeichnet nach einem bestimmten Standard formatierte Identifikationsnummern. Diese sehen etwa so aus:

Jedes Linux-Dateisystem besitzt einen UUID, über den es identifiziert werden kann. Zwar kann man das auch über die Device-Dateien /dev/sdaX tun, aber die Nummerierung kann sich hier ändern - z.B. beim Vertauschen von Kabeln. Andere Eigenschaften wie Label oder Größe des Dateisystems garantieren keine Eindeutigkeit. Vergleichen kann man den UUID also mit einer Personalausweisnummer: Zwei Personen können den gleichen Namen tragen, sie haben aber trotzdem verschiedene Ausweisnummern.

UUIDs werden üblicherweise mit Verfahren erzeugt, die darauf ausgelegt sind, dass ein solcher Identifikator eindeutig ist. Die Wahrscheinlichkeit, dass zwei generierte UUIDs gleich sind, ist also verschwindend gering. Bei der Verwendung solcher eindeutigen Identifikationsnummern sind der Phantasie keine Grenzen gesetzt; in diesem Artikel geht es nur um den Einsatz bei Dateisystemen.

Seit Feisty Fawn werden die im System vorhandenen Dateisysteme (inklusive Swap) in der fstab und in der menu.lst standardmäßig mittels UUID angesprochen.

Die Windows-Dateisysteme FAT und NTFS verwenden keine UUIDs, sondern die "Volume Serial Number". Unter Linux wird diese vom Dateisystemtreiber als UUID-Ersatz verwendet. Die Volume Serial Number ist deutlich kürzer als ein UUID, und garantiert daher keine Eindeutigkeit:

Vergleich verschiedener Identifikatoren
Typ UUID Serial Number (NTFS) Serial Number (FAT)
Format xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx xxxxxxxxxxxxxxxx xxxx-xxxx
Länge 16 Bytes 8 Bytes 4 Bytes
Anzahl der möglichen Identifikatoren 28·16 ≈ 3.4 · 1038 28·8 ≈ 18 · 1018 28·4 ≈ 4.3 · 109

⚓︎

UUIDs anzeigen

Hinweis:

Bis Ubuntu "Hardy Heron" 8.04 waren Root-Rechte zum Auslesen der UUIDs mittels blkid nötig. Der Bug 220275 wurde jedoch in aktuellen Versionen behoben, so dass nun keine Root-Rechte mehr nötig sind. Desweiteren sollte man auf jeden Fall beachten, dass die UUIDs zwischengespeichert werden, der Cache kann daher veraltete Informationen enthalten. Daher kann es sinnvoll sein den Cache mittels blkid -g leeren zu lassen. Weitere Hinweise hierzu findet man im Artikel blkid.

Mit dem Befehl [1]

blkid /dev/sda1 

Alle UUIDs der vorhandenen Dateisysteme liefert

blkid 

oder

ls -Al /dev/disk/by-uuid 

Mehr Informationen zum Befehl blkid findet man hier.

⚓︎

UUIDs verändern

Artikel für fortgeschrittene Anwender

Dieser Artikel erfordert mehr Erfahrung im Umgang mit Linux und ist daher nur für fortgeschrittene Benutzer gedacht.

Der UUID wird beim Formatieren eines Laufwerks automatisch generiert und muss normalerweise nicht geändert werden. In gewissen Fällen kann dies aber sinnvoll sein, z.B. nach einer Festplattenspiegelung, bei der der UUID mitkopiert wurde. Je nach verwendetem Dateisystem sind hierfür unterschiedliche Befehle erforderlich. Generell sollte man jedoch vorher unbedingt ein Backup anlegen, und das Dateisystem aushängen.

Hinweis:

Im folgenden muss /dev/sdaX jeweils durch die Bezeichung der zu ändernden Partition ersetzt werden.

Ext2/3

sudo tune2fs -U NEUER_UUID /dev/sdaX 

Hierbei kann NEUER_UUID entweder ein (z.B. mit `uuidgen) selbst erstellter UUID sein, oder eines dieser Schlüsselwörter: * random - setzt einen zufälligen UUID * time - setzt einen aus der aktuellen Uhrzeit generierten UUID * clear - Abkürzung für 00000000-0000-0000-0000-000000000000 == Reiserfs == {{{#!vorlage Befehl sudo reiserfstune -u NEUER_UUID /dev/sdaX }}} NEUER_UUID muss ein gültiger UUID sein. Um automatisch mit uuidgen einen zufälligen UUID zu erzeugen, kann man diesen Befehl verwenden: {{{#!vorlage Befehl sudo reiserfstune -u $(uuidgen) /dev/sdaX }}} == Swap == {{{#!vorlage Hinweis Die Funktion zum setzen des UUID von Swap-Dateisystemen wurde erst in [:Hardy_Heron: Ubuntu 8.04] eingeführt. Für frühere Ubuntu-Versionen kann man [https://bugs.launchpad.net/util-linux/+bug/186274 bei launchpad.net] {en} das entsprechende mkswap-Programm herunterladen. Alternativ kann man die Änderungen manuell durchführen (s.u.), wobei man POS=1036 und SIZE=16 wählt. }}} {{{#!vorlage Befehl sudo swapoff -v /dev/sdaX sudo mkswap -U NEUER_UUID /dev/sdaX sudo swapon -v /dev/sdaX }}} == FAT / NTFS == Wie bereits erwähnt, kommt bei den Windows-Dateisystemen kein UUID zum Einsatz, sondern eine Seriennummer. Um diese zu bearbeiten, benötigt man Handarbeit: Zunächst extrahiert man die aktuelle Serial mit {{{#!vorlage Befehl sudo dd if=/dev/sdaX of=/tmp/serial bs=1 skip=POS count=SIZE }}} Die Werte für POS und SIZE sind gemäß dieser Tabelle zu wählen: ||<rowclass="kopf"> || FAT16 || FAT32 || NTFS || || POS ||<cellstyle="text-align: right;"> 39||<cellstyle="text-align: right;"> 67 ||<cellstyle="text-align: right;"> 72 || || SIZE ||<cellstyle="text-align: right;"> 4||<cellstyle="text-align: right;"> 4 ||<cellstyle="text-align: right;"> 8 || Nun kann man die Datei '''/tmp/serial''' mit einem Hex-Editor (z.B. ghex2 oder khexedit) öffnen und bearbeiten. Sie sollte nichts weiter als die Seriennummer enthalten, und zwar im [wikipedia:Byte-Reihenfolge:Little Endian-Format] (also "rückwärts"). Zunächst sollte man sich davon überzeugen, dass dies der Fall ist. Dann nimmt man die gewünschten Änderungen mit dem Hex-Editor vor und speichert die Datei ab. Schließlich schreibt man mit {{{#!vorlage Befehl sudo dd if=/tmp/serial of=/dev/sdaX bs=1 seek=POS count=SIZE }}} die neue Seriennummer zurück. Die Werte für POS und SIZE müssen wieder wie oben gesetzt werden. {{{#!vorlage Hinweis Beim Auslesen der Seriennummer verwendet man den Parameter skip=, beim Schreiben seek= }}} = Links = * [http://de.wikipedia.org/wiki/Universally_Unique_Identifier Wikipedia-Artikel "UUID"] {de} * [http://technet2.microsoft.com/WindowsServer/en/library/50cd4ffc-1389-423d-9d02-1a898b2eb39f1033.mspx Technische Spezifikation FAT] {en} * [http://technet2.microsoft.com/WindowsServer/en/library/8cc5891d-bf8e-4164-862d-dac5418c59481033.mspx Technische Spezifikation NTFS] {en} ---- # tag: Hardware, System

Diese Revision wurde am 13. Oktober 2009 14:52 von Bordi erstellt.
Die folgenden Schlagworte wurden dem Artikel zugewiesen: Hardware, System