Odpowiedzi:
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 .
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.)
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.
blkidpamięć podręczną, bardzo mile widziane. Odpowiedź zaktualizowana w celu odzwierciedlenia tego wkładu.