Zmienić UUID w systemie Linux?

3

Muszę utworzyć i przypisać nowy identyfikator UUID do zwykłej partycji dysku w systemie Linux.

Jakie narzędzia są dostępne i jak ich używać?

Goangit
źródło
Czy musisz zmienić identyfikator UUID partycji (by-partuuid) lub systemu plików (by-uuid)?
grawitacja

Odpowiedzi:

2

Osoby pracujące ze zwykłymi dyskami mogą to zrobić po prostu za pomocą tune2fsi uuidgen.

Przykład: użycie nie zamontowanego urządzenia /dev/sdb1

tune2fs /dev/sdb1 -U `uuidgen`

Nowy UUID będzie natychmiast widoczny pod

ls -l /dev/disk/by-uuid

jeśli powiedzmy, że musisz skopiować wartość do / etc / fstab dla automatycznego montowania.

Jednak blkidnadal (błędnie) zgłasza starą wartość, dopóki pamięć podręczna nie zostanie zaktualizowana (na przykład przy ponownym uruchomieniu; chociaż pamięć podręczna może zostać ominięta sudo blkid -c /dev/null).

Alternatywnie nowy UUID można uzyskać za pomocą udev za pomocą

sudo lsblk -fo UUID /dev/sdb1

Osoby pracujące z dyskami LVM mogą chcieć sprawdzić odpowiedź tutaj .

Goangit
źródło
1
Czyli jest to typ etykiety specyficznej dla systemu plików? tune2fs działa dla ext2 / 3/4, czy inne systemy plików mają nawet / używają identyfikatorów bloków?
Xen2050,
To dobre pytanie, którego nie rozważałem. System plików, o którym pisałem, to rzeczywiście ext4, ale z pewnością jestem otwarty na odpowiedzi na inne konteksty systemu plików.
goangit
2
Tak, wiele systemów plików ma unikalne identyfikatory (chociaż nie zawsze mają format UUID). Użyj tune2fs -Udla ext; xfs_admin -Udla XFS; jfs_tune -Udla JFS; ntfslabel --new-serialdla NTFS i tak dalej. (Myślę, że btrfs może nie zezwalać na zmianę UUID, ponieważ jest szeroko stosowany wewnętrznie.) Podobnie, partycje GPT i woluminy LVM mają swoje własne unikalne identyfikatory. (Ten pierwszy nazywa się „PARTUUID” i można go zobaczyć w by-partuuid.)
grawity
1
Jeśli chodzi o blkidto, działa poprzez czytanie bezpośrednio z dysku, i dlatego musi buforować pobrane informacje w miejscu dostępnym dla zwykłych użytkowników. Możesz ominąć pamięć podręczną, używając blkid -c/dev/nulljako root. Chociaż lepiej jest używać takich narzędzi lsblk -f, które odpytują automatycznie aktualizowaną pamięć podręczną udev.
grawitacja
Dziękujemy za wgląd w blkidpamięć podręczną, bardzo mile widziane. Odpowiedź zaktualizowana w celu odzwierciedlenia tego wkładu.
goangit