Ich habe ein Fedora-Gastbetriebssystem in VMware. Ich möchte die /boot
Partition erweitern , füge also dieser VM ein weiteres virtuelles Laufwerk hinzu und versuche, das Laufwerk zu klonen.
Nach dem dd if=/dev/sda1 of=/dev/sdb1
, blkid
Bericht , dass / dev / sda1 und / dev / sdb1 haben die gleiche UUID / GUID.
Es ist seltsam, dass es im Universum zwei gleiche UUIDs gibt. Wie kann man eine davon in einen anderen UUID-Wert ändern?
Update 25.01.2017
Betreff geändert, UUID bedeutet hier Dateisystem-UUID, nicht Partitions-UUID.
Da es sich um eine Dateisystem-UUID handelt, sind dateisystemspezifische Utils erforderlich, um die UUID zu ändern, oder verwenden Sie Hexeditor, um Rohdaten auf der Festplatte zu ändern ( GEFÄHRLICH, nicht empfohlen, wenn Sie nicht wissen, was Sie tun ).
quelle
Antworten:
Um eine zufällige neue UUID zu generieren, können Sie Folgendes verwenden:
Die tatsächliche Änderung der UUID hängt vom Dateisystem ab.
Angenommen, das Dateisystem einer anderen Familie
Oder wenn Sie sicher sind, dass uuidgen funktioniert:
Angenommen, btrfs-Dateisystem
Die UUID wird im Superblock gespeichert, sodass eine byteweise Kopie des Dateisystems dieselbe UUID hat.
quelle
Verwenden:
wenn es sich um ein ext- Dateisystem handelt, oder
Wenn es sich um ein XFS- Dateisystem handelt.
Der Grund, warum die zweite Partition dieselbe UUID hat, ist, dass
dd
nur Daten von einer Datei in eine andere kopiert werden (dd if=/dev/sda1 of=/dev/sdb1
=cat /dev/sda1 > /dev/sdb1
).dd
Sie wissen nicht, was eine Partition ist oder wie sie eine UUID generieren soll, und haben einfach alle Daten wie sie sind kopiert, einschließlich der UUID, die im Superblock des Dateisystems am Anfang der Partition gespeichert ist.Apropos,
Ich denke auch, dass UUID (Universally Unique IDentifier) ein seltsamer Name ist. Es sollte PGUID (möglicherweise global eindeutiger IDentifier) oder besser nur ARLN (eine relativ große Zahl) heißen.
quelle
Neben ext2 / ext3 / ex4 und xfs können Sie auch die UUID des folgenden Dateisystems oder Blockgeräts ändern.
Wechsel
swaplabel -U $NEW_UUID
Software-RAID (MD-RAID)
Bei MD-RAID müssen Sie zuerst das RAID stoppen und dann die UUID beim Neuzusammenbau aktualisieren. Wenn Ihr RAID also gemountet ist,
/
müssen Sie die UUID im Offline-Modus aktualisieren. Verwenden Sie dazu eine Live-CD.mdadm --stop $RAID_DEVICE
mdadm --assemble $RAID_DEVICE --update=uuid --uuid=$NEW_UUID $MEMBER_DEVICES...
Beispiel:
mdadm --stop /dev/md127
mdadm --assemble /dev/md127 --update=uuid --uuid=2A1D2A1D-2A1D-2A1D-2A1D-2A1D2A1D2A1D /dev/sda2 /dev/sdb2
Nach der Aktualisierung der UUID müssen Sie möglicherweise
grub.cfg
(rd.md.uuid=$NEW_UUID
in derlinux/linuxefi/linux16
Befehlszeile) und / oderfstab
und / odermdadm.conf
und / oder aktualisierenupdate-initramfs
(Debian-Familie) und / oderdracut --force
(Red Hat-Familie) damit Sie das nächste Mal erfolgreich booten können.LUKS (Cryptsetup)
cryptsetup luksUUID --uuid=$NEW_UUID $LUKS_DEVICE
Beispiel:
cryptsetup luksUUID --uuid=e0c0e0c0-e0c0-e0c0-e0c0-e0c0e0c0e0c0 ~/encrypted-LUKS.loop
FAT / NTFS / exFAT
Dies ist eine andere Geschichte hier,
Derzeit gibt es keine Dienstprogramme zum Ändern der Dateisystem-UUID dieser Dateisysteme(Siehe Reichharts Antwort - dasmlabel
Tool), aber wir können die Rohdaten auf der Festplatte ändern, um dies zu tun.WARNUNG: Es ist gefährlich, Rohdaten auf der Festplatte zu ändern. Ohne vorsichtigen Betrieb können Daten verloren gehen.
Hier sind detaillierte Schritte zum Ändern von Rohdaten auf der Festplatte mit
hexedit
.blkid
Notieren Sie sich die UUID des Dateisystems auf Papier oder merken Sie sich diese. Die UUID-Zeichenfolge von FAT / exFAT sieht aus wie1122-3344
, die UUID-Zeichenfolge von NTFS sieht aus wie1122334455667788
.Öffnen Sie das Partitionsgerät mit hexedit
hexedit <partition device such as /dev/sda1>
blkid
gemeldet1234-ABCD
, suchen SieCDAB3412
), um die UUID-Daten auf der Festplatte zu durchsuchen.blkid
um die UUID zu überprüfen.grub.cfg
und / oderfstab
damit Sie das nächste Mal erfolgreich booten können.fsck <partition device such as /dev/sda1>
und sehen ein „Es gibt Unterschiede zwischen Bootsektor und seine Sicherung“ Nachricht. Um das Problem zu lösen, wählen Sie "1) Original in Backup kopieren" und drücken Sie , wenn Sie gefragt werden, ob Sie Änderungen durchführen möchten (j / n)y .quelle
mkfs.exfat -i 01234567 /dev/partitionname
wo dermkfs.exfat
Befehl vom Paket exfat-utils unter Fedora Linux installiert wurde . Vielleicht solltest du das zu deiner Antwort hinzufügen, da die Hexedit-Variante ziemlich gefährlich ist!Verwenden Sie für XFS:
xfs_admin -U <uuid> <device>
Verwenden
xfs_admin -u <device>
Sie diese Option, um eine UUID anzuzeigen. In einem anderen Beitrag zu U & L wurde auf denblkid
Befehl zum Anzeigen aller oder einiger UUIDs auf dem System hingewiesen .quelle
BTRFS
Das Ausführen
btrfsck
wird empfohlen, da das Ändern der UUID in BTRFS keine atomare Operation ist.quelle
Teilantwort für VFAT
Für ext * - und xfs-Dateisysteme gibt es bereits gute Antworten. Aber für VFAT empfehle ich dringend, mlabel des mtools-Pakets zu verwenden. Die Verwendung von Hex-Editoren ist GEFÄHRLICH.
Verwenden Sie so etwas, um eine neue UUID zu erstellen:
quelle
mlabel -n -i /dev/sdb3 ::
Unter Fedora 27 habe ich festgestellt, dass die Reihenfolge der Argumente eine entscheidende Rolle spielt ... Sie müssen das Gerät zuerst schreiben, sonst wird die UUID nicht geändert. Beispielsweise
quelle
-U
bevor derdevice
.So ändern Sie die UUID / s der duplizierten Festplattenpartition mit dem Befehl dd - Verwenden Sie GParted.
Wählen Sie in der GParted-Benutzeroberfläche Laufwerk aus, Partition auswählen und Partition aushängen. Wählen Sie im Ordner "Partition" die Option "NEW UUID" (Neue UUID), und wiederholen Sie den Vorgang, bis alle doppelten Partitions-UUIDs des Festplattenlaufwerks zum Ersetzen markiert sind. Ersetzen Sie bei bootfähigen Datenträgern nicht die UEFI-Partitions-UUID.
Überprüfen Sie den ausgewählten Laufwerksbuchstaben und die ausgewählten Partitionen. - Alles in Ordnung? ...
Klicken Sie in der GParted-Benutzeroberfläche auf das Symbol "Alle Vorgänge anwenden".
Bearbeiten Sie bei bootfähigen Datenträgern die UUID der Datei / etc / fstab = string / s und den Mount-Punkt / die Mount-Punkte:
quelle