UUID подключенного тома хранится на томе?

2

У меня есть некоторый код OS X, который использует UUID тома для некоторых вычислений. Я переписываю эти расчеты для Windows. У меня есть требование, что для данного диска, вычисления дают одинаковые результаты в обеих операционных системах; нет возможности изменить расчет, чтобы использовать более качественный фрагмент данных, например, серийный номер диска.

К сожалению, я не могу найти много информации об этом UUID. Ближайший фрагмент данных, который я могу найти в Windows, - это имя подключенного тома, которое принимает форму GUID; По совпадению UUID тома в OS X также является GUID.

Имя подключенного тома в Windows совпадает с именем UUID в OS X? Том знает даже о своем собственном UUID, или эта связь поддерживается ОС?

dauphic
источник
Можете ли вы обновить свой вопрос, чтобы уточнить, о каком формате тома вы говорите в Windows? Или какие форматы таблиц разделов и форматы томов, как вы надеетесь, подойдут для Mac и Windows? Прямо сейчас кажется, что вам может быть интересно, как заставить окно Windows считывать UUID с тома Mac HFS +.
Spiff
Я не думаю, что мой вопрос касается конкретной файловой системы, хотя это может быть; как я уже сказал, я не совсем уверен, что это за UUID. Я полагал, что UUID не был определен для HFS +, но это может быть. Если это так, я не думаю, что есть решение. В идеале я бы хотел поддерживать HFS + и NTFS; Я не видел никаких замечаний о UUID, существующем только для томов HFS +, поэтому предположил, что он существует и для томов NTFS.
dauphic
@Spiff: Кроме того, у меня есть существующий код OS X, который использует GUID, полученный из UUID для идентификации тома. Мы также сохраняем идентификатор на фактическом томе, но если идентификатор удален или не может быть сохранен, код должен быть в состоянии определить, какой это том (независимо от того, с какой ОС используется диск).
dauphic

Ответы:

1

После изучения источников Дарвина я вижу, что VolumeUUID хранится в заголовке тома в FinderInfo.
Увидеть http://www.opensource.apple.com/source/hfs/hfs-191.1/hfs_util/hfsutil_main.c
Также просмотрите здесь для получения дополнительной информации: http://www.opensource.apple.com/source/hfs/hfs-191.1/

HFS + VolumeUUID не относится к UUID для этого раздела в GPT. Я только что проверил в своей системе, и «Уникальный GUID раздела» в GPT полностью отличался от HFS + VolumeUUID для моего основного загрузочного раздела в этой системе.

Многие другие файловые системы также имеют встроенные уникальные идентификаторы, хотя и не обязательно UUID / GUID.

Для справки, вот расположение уникальных идентификаторов, таких как они, в некоторых других форматах файловой системы:

Spiff
источник