Odpowiedzi:
Osoby pracujące ze zwykłymi dyskami mogą to zrobić po prostu za pomocą tune2fs
i 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 blkid
nadal (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 .
tune2fs -U
dla ext; xfs_admin -U
dla XFS; jfs_tune -U
dla JFS; ntfslabel --new-serial
dla 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
.)
blkid
to, 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/null
jako root. Chociaż lepiej jest używać takich narzędzi lsblk -f
, które odpytują automatycznie aktualizowaną pamięć podręczną udev.
blkid
pamięć podręczną, bardzo mile widziane. Odpowiedź zaktualizowana w celu odzwierciedlenia tego wkładu.