Перейти к содержимому

Изменить UUID под Linux?

3

Мне нужно создать и назначить новый UUID для обычного раздела диска под Linux.

Какие инструменты доступны и как их использовать?

2 327 просмотров
goangit спросил 11 лет назад
G 168

1 ответ

2

Those working with ordinary disks can do this simply with tune2fs and uuidgen.

Example: using a not currently mounted device /dev/sdb1

tune2fs /dev/sdb1 -U `uuidgen` 

The new UUID will be immediately visible under

ls -l /dev/disk/by-uuid 

if, say, you need to copy the value to /etc/fstab for automatic mount.

However, blkid will continue to (erroneously) report the old value until the cache is updated (on reboot, for example; though the cache may be bypassed with sudo blkid -c /dev/null).

Alternatively, the new UUID may be obtained via udev with

sudo lsblk -fo UUID /dev/sdb1 

Those working with LVM disks might like to check the answer here.

Так что это метка для файловой системы? tune2fs работает для ext2 / 3/4, или другие файловые системы даже имеют / используют идентификаторы блоков?

Xen2050 · 11 лет назад · 1

Это хороший вопрос, который я не рассматривал. Файловая система, которую я имел в виду при написании, действительно ext4, но я, безусловно, открыт для ответов по другим контекстам файловой системы.

goangit · 11 лет назад · 0

Да, многие файловые системы имеют уникальные идентификаторы (хотя они не всегда в формате UUID). Используйте tune2fs -U для ext; xfs_admin -U для xfs; jfs_tune -U для JFS; ntfslabel --new-serial для NTFS и так далее. (Я думаю, что btrfs может не позволить изменить UUID, поскольку он широко используется внутри.) Аналогично, разделы GPT и тома LVM имеют свои собственные уникальные идентификаторы. (Первый называется «PARTUUID» и его можно увидеть в «by-partuuid».)

grawity · 11 лет назад · 2

Что касается blkid, он работает путем чтения непосредственно с диска, и из-за этого ему необходимо кэшировать извлеченную информацию в месте, доступном для обычных пользователей. Вы можете обойти кеш, используя blkid -c / dev / null от имени root. Однако лучше использовать такие инструменты, как lsblk -f, который запрашивает автоматически обновляемый кеш udev.

grawity · 11 лет назад · 1

Спасибо за понимание кеша blkid, высоко ценится. Ответ обновлен, чтобы отразить этот вклад.

goangit · 11 лет назад · 0
goangit ответил 11 лет назад
G 168