Я немного запутался насчет лимита MBR 2TB. Это относится к общему хранилищу системы или только к загрузочному разделу? Допустим, у меня установлена 32-разрядная версия Windows 7 на диске объемом 500 ГБ в основном разделе и три диска по 1 ТБ каждый в виде логических разделов, все MBR, NO 4k, внутренние, NO USB. Может ли эта конфигурация работать без проблем?
1 ответ
Согласно блогу Microsoft Technet существует три разных размера диска по 2 ТБ:
- Размер раздела
- Количество кластеров
- SCSI Goo
Размер раздела Основная загрузочная запись (MBR) хранит расположение различных разделов диска. Количество байтов, выделенных для указателя / смещения, равно 4 (32 бита). Это означает, что самое высокое значение, которое может быть сохранено в таблице разделов MBR:
FFFFFFFFh - hexadecimal
4294967295d - decimal
Этот максимальный размер раздела не в байтах, а в количестве секторов. Поскольку в настоящее время секторы ограничены 512 байтами, максимальный размер составляет 2 ТБ.
4 294 967 295 секторов * 512 байт / секторов = 2 199 023 255 040 байт или 2 ТБ.
Количество кластеров
Второе ограничение труднее обнаружить. Это ограничение NTFS. NTFS ограничена (2 ^ 32 -1) кластерами…. Не смотря ни на что. Наименьший возможный размер кластера составляет 512 байт (1 сектор). Итак, опять математика оставляет нам 2 199 023 255 040 или 2 ТБ.
(2 ^ 32) -1 = (4 294 967 296) -1 = 4 294 967 295 кластеров
4 294 967 295 кластеров * 512 байт / кластер = = 2 199 023 255 040 байт или 2 ТБ
SCSI Goo
Это гораздо труднее понять, так как требует базовых знаний SCSI. Операционные системы Microsoft Windows поддерживают два разных стандарта SCSI, когда речь идет о чтении и записи. Существует третий, но он очень старый и в основном используется только на ленточных устройствах. Так что давайте просто забудем об этом и остановимся на двух, которые имеют отношение к делу.
Этими двумя стандартами являются Read10/Write10 и Read16/Write16. Все это связано со структурой CDB (блок дескриптора команды).
Read10/Write10 - этот стандарт резервирует байты 2-5 для определения LBA (адрес логического блока). Думайте о LBA как о числах секторов…., Это облегчает ваш мозг. Таким образом, у нас есть 4 байта, которые могут определять адресуемые сектора. Как и в «ограничении размера раздела», мы вернулись к работе с 4-байтовым числом, используемым для определения всех адресов на диске.
FFFFFFFFh - hexadecimal 4294967295d - decimal
И так же, как и раньше, выше просто возможное количество адресов (количество секторов). Умножив на стандартный размер сектора 512 байт, мы получим…
4 294 967 295 секторов * 512 байт / секторов = 2 199 023 255 040 байт или 2 ТБ.
Это означает, что из-за того, что в Windows используется стандарт Read10/Write10, самый большой поддерживаемый диск - 2 ТБ. Терминология является ключевой здесь; накопители имеют верхние пределы 2 ТБ; тома могут быть больше (охватывающих несколько дисков).
Решения
Одним из решений является использование нескольких дисков емкостью 2 ТБ на одном томе, что позволяет хранить большие файлы (> 2 ТБ).
Второй способ обойти ограничение размера раздела - использовать конфигурацию GPT (Guid Partition Table). В Windows 2003 SP1 Microsoft представила свою реализацию GPT. Диск, настроенный как GPT, а не как стиль MBR, будет иметь массив разделов из 32 секторов вместо крошечной таблицы разделов из 64 байтов .
Дополнительная информация о поддержке Windows для жестких дисков объемом более 2 ТБ.