Ответ 1
Единственный способ, которым я смог найти, - это несколько плохо документированная функция hfs.util
.
Запустите команду diskutil
, а затем скопируйте/запомните/сохраните Device Identifier
:
diskutil info /Volumes/my_drive_label | grep "Device Identifier"
Вы можете использовать hfs.util
с Device Identifier
(заменяя disk2s1
ниже) от diskutil
до (re) сгенерировать UUID для вашего тома:
/System/Library/Filesystems/hfs.fs/hfs.util -s disk2s1
Помните, что это не будет работать для каждого тома, если том не является файлом HFS, чем он может не работать, а другие команды Filesystem/*.fs/*.util
могут не иметь глагола -s
для генерации UUID.
UPDATE
В Yosemite и после того, как флаг -s
отключен на уровне источника. Я не смог найти предварительно измененную версию hfs.util
, но вы можете сделать это самостоятельно, используя информацию, найденную в этом вопросе суперпользователя, вкратце изложенный здесь:
- Загрузите источник hfs.util из Apple и извлеките его во временную папку
- Загрузите hfs_fsctl.h из Apple и поместите его в папку hfs.util.
- Измените строку 47 of
hfsutil_jnl.c
на#include <hfs_fsctl.h>
- Измените строку 80 of
hfsutil_main.c
на#include <System/uuid/uuid.h>
- Измените строку 81 of
hfsutil_main.c
наstatic unsigned char kFSUUIDNamespaceSHA1[] = {0xB3,0xE2,0x0F,0x39,0xF2,0x92,0x11,0xD6,0x97,0xA4,0x00,0x30,0x65,0x43,0xEC,0xAC};
(заменив строку include) - Также добавьте
#define HFS_UUID_SUPPORT 1
вhfsutil_main.c
В разделе анализа синтаксиса все еще может быть что-то отсутствует, если приведенное выше не работает, обратитесь к вопросу суперпользователя и прокомментируйте, если я что-то пропустил.
Некоторые люди также сообщили, что для изменения UUID диска можно использовать Gparted.