[[Vorlage(Getestet, general)]] {{{#!vorlage Wissen [:Terminal: Ein Terminal öffnen] }}} [[Inhaltsverzeichnis(1)]] = Die UUID = '''UUID''' steht für '''U'''niversally '''U'''nique '''Id'''entifier und bezeichnet nach dem IETF-Standard [#Links RFC4122] formatierte Identifikationsnummern. Diese sehen etwa so aus: * ``6a12a4d5-e9e6-4568-afcc-34c70b24a668`` Es wird hierfür auch die Bezeichnung '''GUID''' ('''G'''lobally '''U'''nique '''Id'''entifier) verwendet. Jedes Linux-Dateisystem besitzt einen UUID, über den es identifiziert werden kann. Zwar kann man das auch über die Geräte-Dateien '''/dev/sdaX''' tun, aber die Nummerierung kann sich hier ändern - z.B. beim Vertauschen von Kabeln. Andere Eigenschaften wie [:Labels: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 unterschiedliche Ausweisnummern. Bei Verwendung einer (mit [:gdisk:] bearbeitbaren) GPT zur Partitionierung eines Datenträgers gibt es zusätzlich eine individuelle UUID zur Identifizierung des gesamten Datenträgers sowie für jede Partition auch eine individuelle UUID (Partitions-UUID -in den Befehlen als PARTUUID abgekürzt-). Außerdem werden UUID auch zur Definition der Partitionstypen verwendet. 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. Ab [:Edgy Eft#UUIDs: Ubuntu 6.10] wurden die im System vorhandenen Dateisysteme (inklusive Swap) in der [:fstab:] standardmäßig mittels UUID angesprochen. Ab [:Karmic_Koala:Ubuntu 9.10] wird bei Neuinstallationen auf Grund des Wechsels auf [:GRUB_2:] nicht mehr die '''menu.lst''', sondern die [:GRUB_2/Konfiguration:grub.cfg] mitsamt der UUIDs erstellt. == Übersicht == 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: ||<-4 rowclass="titel"> Vergleich verschiedener Identifikatoren || || Typ || UUID || Serial Number (NTFS) || Serial Number (FAT) || || Format || xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx || xxxxxxxxxxxxxxxx || xxxx-xxxx || || Länge || 16 Bytes (32 Zeichen, mit 4 Bindestrichen in 5 Gruppen aufgeteilt) || 8 Bytes || 4 Bytes || || Anzahl der möglichen Identifikatoren || 2^^(8·16)^^ ≈ 3.4 · 10^^(38)^^ || 2^^(8·8)^^ ≈ 18 · 10^^(18)^^ || 2^^(8·4)^^ ≈ 4.3 · 10^^(9)^^ || == Zuordnung Windows Partitionen == Um eine eindeutige Zuordnung einer Windows-Partition für Arbeiten unter Ubuntu zu erhalten, kann man die "Volume Serial Number" einer Partitionen unter Windows abfragen. Dazu muss man im Windows die * ''"Eingabeaufforderung als Administrator"'' aufrufen und dort beispielhaft für die Abfrage vom Volume / Laufwerk '''C:''' eingeben: {{{#!vorlage Befehl vol c: }}} Man erhält dann eine Ausgabe, die für alle Laufwerke, unabhängig von der Formatierung ([wikipedia:VFAT:], [wikipedia:NTFS:]), beispielhaft lautet: {{{ E0CF-1F83 }}} {{{#!vorlage Hinweis Diese so ermittlte HEX-Zahl kann man für [wikipedia:VFAT:] direkt einsetzen. Bei Partitionen formatiert mit [wikipedia:NTFS:] muss man diese Ausgabe noch linux-konform aufbereiten. }}} Dazu gibt man dann im selben Rechner im Linux-Terminal [1] ein: {{{#!vorlage Befehl sudo blkid | grep 'E0CF1F83' }}} ein und erhält dann: {{{ /dev/sda3: LABEL="HOME-PC-PROG" UUID="A6E0CF4AE0CF1F83" TYPE="ntfs" }}} Mit dieser 8 Bytes langen, Linux-konformen UUID kann man dann die relevanten Arbeiten unter Ubuntu ausführen. [[Anker(anzeigen)]] = UUIDs anzeigen = {{{#!vorlage Hinweis Der Befehl blkid benötigt für den ersten Aufruf grundsätzlich [:sudo: root-Rechte]. Des Weiteren sollte man auf jeden Fall beachten, dass die UUIDs nach dem ersten Aufruf in der Datei '''/etc/blkid.tab''' zwischengespeichert werden. Nach dem ersten Aufruf wird dann nur noch diese Datei ausgelesen, anstatt alle Datenträger erneut abzufragen. Informationen, wie man dieses Verhalten verhindern kann, findet man im Artikel [:blkid:]. Alternativ kann seit [:Precise_Pangolin: Ubuntu 12.04] auch [:lsblk:] verwendet werden. }}} Die UUID einer Partition lässt sich mit dem Befehl [1]: {{{#!vorlage Befehl sudo blkid /dev/sdaX }}} betrachten, wobei `/dev/sdaX` durch die Bezeichnung der Partition ersetzt werden muss. Möchte man jedoch alle vorhandenen Dateisysteme betrachten, lautet der Befehl: {{{#!vorlage Befehl sudo blkid }}} oder {{{#!vorlage Befehl ls -Al /dev/disk/by-uuid }}} Mehr Informationen findet man im Artikel zu [:blkid:]. Die entsprechenden Befehle für [:lsblk:] lauten {{{#!vorlage Befehl lsblk -lf -o+PARTUUID /dev/sdaX lsblk -lf -o+PARTUUID /dev/disk/*/* # erzeugt übersichtliche Tabelle mit den UUIDs aller Datenträger }}} {{{#!vorlage Experten Ein UUID ist keine einfache Bytefolge, vielmehr stehen die ersten drei Felder für Ganzzahlen. Im Speicher eine little-endian-Maschine findet man diese Felder daher jeweils in der umgekehrten Reihenfolge der Bytes. Die hinteren Felder sind dagegen als Bytefolgen definiert und in der Reihenfolge der externen Darstellung auch im Speicher auffindbar. Details siehe RFC4122. }}} == UUID mit grafischen Programmen ermitteln == Die UUID einer Partition lässt sich auch mit Hilfe von Programmen mit grafischer Benutzeroberfläche anzeigen. Z.B. kann man bei [:GParted:] die UUID anzeigen lassen, indem man die Partition in der Liste der vorhandenen Partitionen anklickt und dann den Menüpunkt ''"Partition -> Information"'' auswählt. In der Gnome [:Laufwerksverwaltung:] wird die UUID aufgelistet, wenn man in der grafischen Darstellung der Partitionen ein Partition anklickt. [[Anker(aendern)]] = UUIDs verändern = [[Vorlage(Fortgeschritten)]] Der UUID wird beim Formatieren eines Laufwerks automatisch generiert und braucht normalerweise nicht geändert zu werden. In gewissen Fällen kann dies aber sinnvoll sein, z.B. nach einer Festplattenspiegelung, bei der der UUID mit kopiert wurde. Je nach verwendetem Dateisystem sind hierfür unterschiedliche Befehle erforderlich. Generell sollte man jedoch vorher unbedingt ein [:Backup:] anlegen und das Dateisystem [:mount:aushängen]. {{{#!vorlage Hinweis Im folgenden muss ``/dev/sdaX`` jeweils durch die Bezeichnung der zu ändernden Partition ersetzt werden. }}} == Ext2/3/4 == {{{#!vorlage Befehl 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 == Die Funktion zum Setzen des UUID von Swap-Dateisystemen wurde erst mit [:Hardy_Heron:Ubuntu 8.04] eingeführt. {{{#!vorlage Befehl sudo swapoff -v /dev/sdaX sudo mkswap -U NEUER_UUID /dev/sdaX sudo swapon -v /dev/sdaX }}} Es existiert ein Skript, das die UUID aus '''/etc/fstab''' automatisch übernimmt: [:Skripte/UUID_anpassen_mit_uuid2swap:uuid2swap]. == Verschlüsselte Partitionen == {{{#!vorlage Befehl sudo cryptsetup luksUUID /dev/sdaX --uuid NEUER_UUID }}} == RAID-Partitionen == {{{#!vorlage Befehl sudo mdadm --assemble /dev/mdX --update=uuid --uuid NEUER_UUID }}} == FAT / NTFS == {{{#!vorlage Experten Änderungen an den Windows Partitionen sollte man ausschließlich unter Windows vornehmen, damit Windows diese Veränderung erkennt und richtig verarbeitet - externe Eingriffe können zu weitreichenden Fehlern führen. }}} Wie bereits erwähnt, kommt beim Windows-Dateisystemen keine UUID zum Einsatz, sondern eine Seriennummer. Um diese auszulesen bzw. zu ändern - kann man ein entsprechendes Windowsprogramm (z.B. die Anwendung '''HardDiskSerialNumberChanger.exe''') benutzen. == UUID mit GParted ändern == Mit Hilfe von [:GParted:] kann man eine UUID ebenfalls ändern. Dazu klickt man auf die gewünschte Partition und wählt dann den Menüpunkt ''"Partition -> Neue UUID"''. = Links = * [:blkid:] UUID im Terminal abfragen * [wikipedia:Universally_Unique_Identifier:UUID] * [https://www.rfc-editor.org/rfc/pdfrfc/rfc4122.txt.pdf RFC4122] {en} – IETF-Standard zu UUID, enthält auch Angaben zu Format und Darstellung * [http://technet.microsoft.com/en-us/library/cc938438 Technische Spezifikation FAT] {en} * [http://technet.microsoft.com/en-us/library/cc976808.aspx Technische Spezifikation NTFS] {en} # tag: Hardware, System