GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Ändern Sie die UUID der vfat-Partition

Die Volume-ID von FAT32 wird im ersten Sektor bei Offset 67 (0x43) gespeichert, bei FAT16 bei 39 (0x27). Man kann den dd verwenden Befehl zum Lesen (ersetzen Sie /dev/sdc1 mit Ihrer realen Partition):

dd bs=1 skip=67 count=4 if=/dev/sdc1 2>/dev/null \
| xxd -plain -u \
| sed -r 's/(..)(..)(..)(..)/\4\3-\2\1/'

Und natürlich kann man auch eine neue UUID hinterlegen (1234-ABCD ersetzen mit Ihrem gewünschten Wert):

UUID="1234-ABCD"
printf "\x${UUID:7:2}\x${UUID:5:2}\x${UUID:2:2}\x${UUID:0:2}" \
| dd bs=1 seek=67 count=4 conv=notrunc of=/dev/sdc1

Referenz:Physikalische Struktur von FAT (Volume Serial Number offset):https://technet.microsoft.com/en-us/library/cc776720(v=ws.10).aspx#w2k3tr_fat_how_gkxz


Es kann hilfreich sein zu wissen, warum Sie dies tun möchten. Ich kenne kein Tool, mit dem Sie das tun können, was Sie möchten, aber es gibt möglicherweise andere Optionen ....

Technisch gesehen haben FAT-Partitionen keine UUIDs; sie haben Seriennummern, die mehrere Linux-Tools und -Dateien (wie mount und /etc/fstab ) kann anstelle von UUIDs verwendet werden. Auf GPT-Datenträgern haben die Partitionen, die FAT-Dateisysteme enthalten, GUIDs, die (bei recht aktuellen Linux-Distributionen) als PARTUUIDs in mount bezeichnet werden können und /etc/fstab . Beide FAT-Dateisysteme und (auf GPT-Festplatten) die Partitionen, die sie enthalten, können auch Namen haben, die auch von mount verwendet werden können oder in /etc/fstab . Jede dieser Funktionen kann anstelle der FAT-Seriennummer verwendet werden.

Obwohl ich kein Tool kenne, um die Seriennummern von FAT-Partitionen zu ändern, können sie gesetzt werden, wenn das Dateisystem über den -i erstellt wird Option zu mkdosfs , wie in:

mkdosfs -i ABCD1234 /dev/sdc1

Dieses Beispiel setzt die Seriennummer von /dev/sdc1 zu ABCD-1234. Wenn das Dateisystem klein genug ist, können Sie es sichern, ein neues Dateisystem mit der gewünschten Seriennummer erstellen und es wiederherstellen. Wenn Sie versuchen, die Seriennummer als Teil eines Datenträger- oder Installations-Setup-Skripts festzulegen, legen Sie sie über mkdosfs fest könnte alles sein, was Sie brauchen.

Sie können die GUID der Partition mit gdisk ändern oder sgdisk . Mit letzterem würden Sie den Job über -u erledigen Option, wie in:

sgdisk -u 1:BC87D91A-02F3-4C52-87CD-536A3DF2A074 /dev/sdc

Dieses Beispiel legt die GUID von /dev/sdc1 fest bis BC87D91A-02F3-4C52-87CD-536A3DF2A074. (Beachten Sie, dass -u akzeptiert einen durch Doppelpunkte getrennten Satz von Optionen, von denen die erste die Partitionsnummer und die zweite der GUID-Wert ist. Der Gerätedateiname für das Whole-Disk-Gerät [nicht the partition] ist die letzte Option.)

Abhängig von Ihren Anforderungen kann einer dieser Ansätze funktionieren. Wenn Sie weiter weg gehen, können Sie das Label des Dateisystems mit dem dosfslabel festlegen Werkzeug; oder Sie können den Namen einer GPT-Partition mit sgdisk ändern ist -c Option, die ähnlich wie -u funktioniert , nimmt aber eher einen Namen als eine GUID.


Oft möchte man eine neue zufällige UUID für eine vfat-Partition setzen (anstatt eine bestimmte zu setzen), um beispielsweise Konflikte nach dem Duplizieren einer Partition mit dd zu vermeiden . In diesem Fall ist eine einfache Lösung die Verwendung von gparted :Rechtsklick auf die Partition, dann "Neue UUID".

@tarabyte schlägt vor, dass die meisten Leute auf diese Seite kommen und nach einer Möglichkeit ohne GUI (z. B. Befehlszeile) suchen, um dies auf einem Headless-Server zu tun. Wenn das der Fall ist, gparted zeigt, dass der Befehl, der unter der Haube ausgeführt wird, wenn Sie das obige tun, ungefähr so ​​​​ist:

    sudo mlabel -s -n :: -i /dev/nvme0n1p6

Linux
  1. So partitionieren Sie eine Festplatte unter Linux

  2. Wie ändere ich die UUID des Dateisystems (2 gleiche UUID)?

  3. Ändern Sie die Nummer der Partition von sda1 auf sda2

  4. Wie finde ich die UUID eines Dateisystems

  5. Wie ändere ich ein physisches Partitionssystem auf LVM?

So ändern Sie die UUID der Partition im Linux-Dateisystem

Cd-Befehl in Linux (Verzeichnis wechseln)

Linux-Partitionsverwaltung

Welche Szenarien führen dazu, dass sich die UUID einer Festplatte ändert?

Wie ändere ich das Partitionsschema auf Ihrem Linux-Server?

Zeitzone in Ubuntu 18.04 ändern