1

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

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

Не кажется рациональным использование предположительно "случайной" схемы для создания определенных идентификаторов.

1 ответ1

3

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

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

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

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

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

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

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

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

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