Есть ли способ «вычислить» guid для таблицы разделов GPT?

Есть ли способ «вычислить» guid для таблицы разделов GPT?

Существуют специальные зарезервированные направляющие, например, {DE94BBA4-06D1-4D40-A16A-BFD50179D6AC}для раздела Windows или {00000000-0000-0000-0000-000000000000}для неиспользуемого раздела.

Откуда берутся эти значения? Они как-то сфабрикованы или просто сгенерированы случайным образом и затем зарегистрированы?

Кажется не очень рациональным использовать якобы «случайную» схему для создания конкретных идентификаторов.

решение1

Кажется не очень рациональным использовать якобы «случайную» схему для создания конкретных идентификаторов.

На самом деле, это кажется очень рациональным.

В старые времена оригинального формата IBM MBR мы использовали 8-битный идентификатор для "типа раздела". Это было где-то в 1982 году.

Этого могло быть достаточно, когда мы предвидели лишь небольшое количество возможностей, но среди различных вариантов DOS, других ОС для ПК и нескольких других систем, которым требовались собственные (иногда несколько разных) идентификаторы типов разделов, довольно легко было исчерпать выбор.

GPT разработан для решения проблем MBR, которые возникли за последние 35 лет. Теперь, когда у нас есть во много раз больше места для хранения размером с ноготь, чем было у огромного массива хранения тогда, мы можем позволить себе «потратить» несколько дополнительных байтов на то, чтобы гарантировать, что, учитывая законы физики, как мы их понимаем, мы можемникогдакончаются варианты. (Грубо говоря, на Земле просто недостаточно материи, чтобы дажемагазин(Одна копия каждого действительного GUID с известными на данный момент методами хранения. Каждый ныне живущий человек на Земле может сгенерировать около 10^25 GUID, и риск столкновения все равно будет лишь незначительным.)

GPT, или таблица разделов GUID, использует GUID практически для всего. Поскольку примитив уже используется, то, похоже, нет никаких серьезных причин использовать что-то другое для типа раздела.

GUID генерируются случайным образом в соответствии с фиксированным форматом. Так что вы можете выбрать какое-то «специальное» значение или просто сгенерировать один GUID и назвать его «специальным». Нет ничего магического, что делает одно конкретное значение GUID более или менее особенным, чем любое другое. Пожалуй, единственный действительно «специальный» GUID — это GUID из всех нулей, но это только потому, что мы обычно рассматриваем значения из всех нулей или единиц как специальные в вычислениях.

Итак, как только вы решили использовать GUID и вам нужно определить какое-то конкретное значение, вы простосгенерировать случайный GUID, а затем объявить указом, что «этот GUID имеет такое-то значение».Любой, кто захочет взаимодействовать с вами, должен будет рассматривать этот конкретный GUID как имеющий именно это значение, а не какое-либо другое.

Связанный контент