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 .
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.
Odpowiedzi:
Osoby pracujące ze zwykłymi dyskami mogą to zrobić po prostu za pomocą
tune2fs
iuuidgen
.Przykład: użycie nie zamontowanego urządzenia
/dev/sdb1
Nowy UUID będzie natychmiast widoczny pod
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ętasudo blkid -c /dev/null
).Alternatywnie nowy UUID można uzyskać za pomocą udev za pomocą
Osoby pracujące z dyskami LVM mogą chcieć sprawdzić odpowiedź tutaj .
źródło
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ć wby-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ącblkid -c/dev/null
jako root. Chociaż lepiej jest używać takich narzędzilsblk -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.