7

Кто-нибудь знает, как изменить UUID тома? Подоплека этого вопроса заключается в том, что у меня возникла повторяющаяся проблема с UUID:

У меня есть /Volumes/OldMacHD с UUID XYZ. У меня есть /Volumes/Mirror1 с UUID XYZ (такой же UUID! Бьюсь об заклад, это потому, что OldMacHD используется, чтобы быть частью этого зеркала). Я получил эти UUID через:

diskutil info /dev/thatdisknumber | grep UUID 

Я хотел бы изменить UUID Mirror1 .

Я случайно обнаружил утилиту hfs.util , поскольку в конце концов это тома HFS. Страница man для hfs.util говорит, что если вы введете флаг -s , это изменит UUID. Однако, если вы hfs.util сам по себе, он вообще не покажет вам опцию -s , только каждый параметр, кроме этого! Grr. Я все равно попробовал:

sudo /System/Library/Filesystems/hfs.fs/hfs.util -s /dev/disk4 (the raid volume).  

Ничего не произошло. Нет сообщения об ошибке, нет сообщения об успехе. UUID точно такой же. Я попробовал, пока громкость была отключена.

Есть идеи?

6 ответов6

3

синтаксис для hfs.util, похоже, просто имя устройства, а не путь, включающий /dev /

т.е.

Server:~ admin$ mount
(...)
/dev/disk1s2 on /Volumes/Backup (hfs, local, journaled)
(...)
Server:~ admin$ sudo /System/Library/Filesystems/hfs.fs/hfs.util -s rdisk1s2

убедитесь, что размонтировали диск перед hfs.util -s и монтировали после.

используйте "сырое" устройство, т.е. rdisk1s2 вместо disk1s2

Информация о diskutil не покажет новый uuid, пока вы не перемонтируете.

2

Это должно быть выполнимо. попробуйте использовать hfs.util, указав фактический идентификатор устройства для тома (если это raid-том, вам нужен идентификатор устройства для тома в raid, а не для какого-либо конкретного диска).

В качестве альтернативы используйте маленький инструмент, который является частью SuperDuper! так что вы можете указать путь к подключенному тому.

Подробная информация о том, как обрабатывается идентификатор тома (который на самом деле не является UUID, UUID используется только для отображения и пересчитывается каждый раз из фактического идентификатора тома), объясняется в моем ответе на вопрос « Как изменить UUID?» тома в Mac OS X в УКАЗАННОЕ значение?

1

Вы можете просто изменить UUID по формату раздела / стереть.

1) Отформатируйте диск в Mac OS Extended, используя встроенную Disk Utility

2) Если вам нужен раздел Windows, отформатируйте диск в exFAT после того, как вы сделали первый шаг (по некоторым причинам вам нужно два шага для раздела Windows)

Вы можете проверить, изменился ли UUID, перечислив все номера UUID:

find /Volumes -maxdepth 1 -mindepth 1 -exec diskutil info {} \;
1

/dev/disk4 не является томом HFS, это целый диск, включая таблицу разделов и любое количество отдельных томов (разделов) на диске. /dev/disk4s0 будет примером тома. Найдите правильный идентификатор для фактического тома HFS, который вас интересует, и попробуйте выполнить на нем hfs.util -s .

0

Все примеры, которые я могу найти, берут только имя BSD устройства, а не полный путь к файлу устройства. Вы пробовали это?

0

Самый простой и совместимый способ, который я нашел, это с помощью Gparted (можно найти mac dmg на sourceforge ИЛИ http://gparted.org) и вручную выбрать этот раздел / диск и отредактировать uuid таким образом.

НО с disk util (это работает как на Linux, так и на Mac:

  1. вставить диск

  2. выберите передачу и выключите автоматическое крепление

  3. во вновь редактируемых полях измените "Отображаемое имя", а затем выберите (из "монтировать как") монтирование как UUID = foo

    • если на этом диске не осталось ничего значимого, переформатируйте и объявите отображаемое имя и смонтируйте его как "$ {отображаемое имя} (что будет uuid = foo)
  4. (опционально) при необходимости включите автоматическую установку

  5. повторное использование

  6. (необязательно) измените fstab, чтобы повторно ввести смесь дисков

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .