3

У меня есть UEFI-машина с CentOS на одном диске и Windows 2016 на другом. Установщик Windows записывает защитную MBR GPT, но он точно не соответствует стандарту UEFI, как описано здесь. Он записывает MBR с одним разделом в соответствии со стандартом, но затем создает последний сектор 2 ^ 32-1 вместо фактического размера диска.

Это не проблема, пока я не попытаюсь использовать sgdisk для сохранения таблицы разделов и последующего восстановления. Плохая цифра для размера смущает вещи, и это заканчивается повреждением MBR. В CentOS я могу предотвратить это, используя gdisk для написания новой защитной MBR. Тем не менее, было бы удобно, если бы я мог сделать это из Windows. Есть ли способ?

1 ответ1

2

Поскольку диск автора всего 1 ТБ, мой ответ ниже не применим.

Я обнаружил очень удивительный факт в статье «Защитная MBR GPT и таблица разделов»:

Windows 7 всегда заполняет это поле значением 0xFFFFFFFF, хотя в спецификации UEFI указано, что для дисков объемом до 2,2 ТБ следует "установить размер диска минус один".

И это то, что отмечено в сноске:

Ссылка и полная цитата: Спецификация унифицированного расширяемого микропрограммного интерфейса, версия 2.3.1, исправления C, 27 июня 2012 г., которая изложена в главе 5 «Расположение дисков таблицы разделов (GPT) GUID», раздел 5.2.3, «Защитная MBR», таблица 15, «SizeInLBA», на стр. 100: «Установите размер диска минус один. Установите значение 0xFFFFFFFF, если размер диска слишком велик для представления в этом поле. « Поскольку Microsoft использует ту же запись для дисков размером менее 2,2 ТБ, что и для дисков емкостью более 2,2 ТБ, они не соответствуют спецификации UEFI для SizeInLBA. ,

Так что это тот случай, когда Microsoft решила игнорировать стандарт, и с этим ничего нельзя поделать. Решением может быть выделение разделов в Linux.

Если вы ищете утилиту стороннего производителя под Windows, см. Статью Best Free Partition Management Software, в которой перечислены бесплатные сторонние утилиты, которые могут не игнорировать стандарт.


(Старый ответ)

Я думаю, что ваш диск должен быть больше, чем 2,2 ТБ, что является максимальным размером для MBR.

Защитный MBR (или любой MBR) ограничен этим размером. Это не может дать большее число, потому что поле в MBR, которое содержит размер раздела, имеет только 32 бита.

Это ограничение стало одной из причин, по которым GPT стал необходим, когда на рынок поступили диски размером более 2,2 ТБ.

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