Как жесткий диск в формате MBR может превышать 1,81 ТБ?

Недавно я приобрел внешний накопитель емкостью 3 ТБ (2,72 ТБ).

Теперь, согласно статье Википедии о MBR, максимальный адресуемый объем памяти на диске, отформатированном по схеме MBR, ограничен 2 ТБ (1,81 ТБ), поэтому вполне естественно, что жесткие диски большой емкости (>2 ТБ) должны быть отформатированы с использованием раздела GUID. Настольная (GPT) схема позволяет использовать всю емкость жесткого диска.

Почему тогда внешний накопитель WD My Book емкостью 3 ТБ в заводских условиях отформатирован по схеме MBR и, что еще более удивительно, почему он отображается в Windows как накопитель на 2,72 ТБ, когда MBR может адресовать только 1,81 ТБ?

Кто-нибудь еще с жестким диском Western Digital (или другой торговой марки) большой емкости видел это раньше?

Если это помогает, HDD отформатирован с использованием NTFS и размер сектора 4096 bytes, Также вот несколько скриншотов:

3 TiB MBRWD My Book - 3 ТБ


РЕДАКТИРОВАТЬ: После того, как я опубликовал свой ответ, я прочитал этот пост от AnandTech, который говорит:

Теперь адреса LBA в разделах MBR адресуются с использованием 32-разрядных значений, максимальное из которых составляет 2^32 или 4294967296. Каждый LBA на жестком диске соответствует значению сектора 512 байт (даже на дисках расширенного формата 4K они по-прежнему выглядят как 512-байтовый сектор дисков в ОС), поэтому самый большой раздел, который вы можете иметь в многораздельном диске MBR, составляет 4294967296 * 512 байт или 2 199 023 255 552 байт.

Производители жестких дисков определяют 1 ТБ как 1 триллион байт. Если мы используем это определение, то самый большой 32-разрядный раздел MBR будет иметь размер 2,199 ТБ (2 199 023 255 552 байт / 1 000 000 000 000). Если мы определим 1 ТБ как 1024^4 байта (TiB), то самый большой 32-разрядный раздел MBR будет 2 ТБ (2 199 023 255 552 байта / 1 099 511 627 776). В любом случае, с диском объемом 3 ТБ мы не получим один раздел размером 3 ТБ с использованием MBR.

Но, как вы видите, My Book, которой я владею, имеет один раздел объемом 3 ТБ (2,72 ТБ) и использует MBR. Причина, по которой меня это беспокоит, связана с этим инцидентом, когда человек утверждает, что столкнулся с проблемами целостности данных на диске после передачи более 2 ТБ данных на диск 3 ТБ в формате MBR.

3 ответа

Решение

Ваш накопитель использует расширенный формат 4Kn, где он использует собственный размер сектора 4K вместо эмуляции 512-байтовых секторов (512e). Это обеспечивает совместимость с устройствами, которые не поддерживают GPT, путем расширения предела MBR до 17,6 ТБ (16 ТиБ), что позволяет избежать необходимости использовать GPT.

  • MBR разрешает максимум 232 сектора. Это означает, что в обычных 512-байтовых секторах максимальный поддерживаемый размер диска составляет 2,2 ТБ (2 ТиБ). Однако для секторов 4K максимальный размер диска становится 17,6 ТБ (16 ТиБ).

  • Согласно этой статье (через Google Translate, слегка отредактированный), несколько внешних жестких дисков емкостью более 2,2 ТБ используют собственные 4K-сектора с таблицей разделов MBR для совместимости с Windows XP:

    Некоторые внешние диски Seagate (FreeAgent GoFlex) и Western Digital (My Book Essential) объемом 3 ТБ также можно использовать в XP на полную мощность благодаря еще одной технической возможности. Они не [подключаются] к системе через интерфейс USB или FireWire [с обычными] 512-байтовыми секторами, а скорее с секторами 4 КБ. Это обходит ограничение MBR в 2 ТБ. Но даже у этой хитрости есть недостатки: программы, которые обращаются к диску низкого уровня, такие как инструменты форматирования, могут не работать на дисках. [T] эй [также] не подходит [в качестве загрузочных дисков].

  • Производитель использует тот факт, что это внешний жесткий диск, при условии, что он будет использоваться только для хранения, а не для загрузки. Однако это создает еще один набор проблем совместимости, когда программы, использующие сектора размером 512 байт, могут работать неправильно:

    • Инструменты разметки, которые не поддерживают диски 4Kn, не будут правильно работать с этим диском.

    • Некоторые программы баз данных используют прямой дисковый ввод-вывод для производительности и целостности данных. Эти программы не будут работать правильно, если они не предназначены для обработки секторов 4K.

  • Внутренний жесткий диск, лежащий в основе, вполне может быть 512e - в этом случае электроника корпуса предоставляет системе 4K сектора для совместимости.

Ваш USB-накопитель отображается на главном компьютере с размером логического сектора 4096 байт, что позволяет разбить его на разделы с помощью таблицы разделов MBR, которая может использовать более 2 ТБ дискового пространства даже в Windows XP. Записи таблицы разделов MBR являются 32-битными, а Windows XP использует 32-битную математику для вычисления адресов секторов из таблицы разделов, позволяя использовать только первые 2^32 сектора диска. 2^32 сектора x 4096 байт / сектор = 16 ТБ. При 512 байтах на сектор только первые 2 ТБ диска могут использоваться таблицей разделов MBR. (2^32 сектора x 512 байт / сектор = 2 ТБ)

Однако ваш диск не является родным 4k. Есть два уровня перевода:

  1. Корпус USB содержит мост USB-SATA, который преобразует 4096 байт на логический сектор на интерфейсе USB с главным компьютером в 512 байт на логический сектор на интерфейсе SATA с диском внутри.
  2. Внутренний диск преобразует от 512 байт на логический сектор на своем интерфейсе SATA до 4096 байт на физический сектор. (Это эмуляция 512 байт / сектор или "512e".)

Запрос SMART, прошедший через USB-мост к диску SATA внутри, раскрывает правду (запускать здесь на моем собственном внешнем USB-накопителе Western Digital My Book емкостью 3 ТБ в Windows XP):

C:\Program Files\GSmartControl> smartctl -a -d sat pd11
smartctl 6.5 2016-05-07 r4318 [i686-w64-mingw32-xp-sp3] (sf-6.5-1)
Copyright (C) 2002-16, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF INFORMATION SECTION ===
Model Family:     Western Digital Green
Device Model:     WDC WD30EZRX-00MMMB0
Serial Number:    WD-WCAWZ12xxxxx
LU WWN Device Id: 5 0014ee 2063xxxxx
Firmware Version: 80.00A80
User Capacity:    3,000,592,982,016 bytes [3.00 TB]
Sector Sizes:     512 bytes logical, 4096 bytes physical

Внутренний диск SATA сообщает 512 байт на логический сектор и 4096 байт на физический сектор: это эмуляция 512 байт / сектор или "512e".

Однако диск, видимый хост-компьютером, подключенным через USB, имеет размер логического сектора 4096 байт:

C:\> wmic DISKDRIVE get bytespersector, caption
BytesPerSector  Caption
4096            WD My Book 1140 USB Device

Таким образом, Windows XP может использовать все 3 ТБ дискового пространства.

Если вам нужно больше доказательств, вы можете вынуть диск из корпуса и подключить его напрямую к разъему SATA материнской платы: тогда вы обнаружите, что диск имеет размер логического сектора 512 байт, и все разделы диска появятся. как 1/8 их предыдущего размера и быть нечитаемым из-за неправильных записей в таблице разделов, вызванных несоответствием размера сектора. Многие люди сделали это, и затем им пришлось решить проблему, переписав таблицу разделов.

Я проверил несколько разных внешних USB-накопителей, и все они имеют внутренний размер 512e, несмотря на то, что они настроены на совместимость с Windows XP с 4096 байтами на логический сектор на интерфейсе USB: WD My Book 3 ТБ, WD Elements 3 ТБ, HGST Touro 4 ТБ, WD Easystore 8 ТБ, WD Easystore 12 ТБ, WD Easystore 14 ТБ.

На вашем диске была таблица разделов MBR (или кто-то в какой-то момент изменил ее на MBR), чтобы он был совместим с Windows XP. Новые диски поставляются с таблицами разделов GPT, для которых требуется Windows Vista или более поздняя версия.

Инструмент WD Quick Formatter можно использовать для изменения внешнего USB-накопителя Western Digital между 512 байтами / сектором с таблицей разделов GPT (для Vista и более поздних версий) и 4096 байтами / сектором с таблицей разделов MBR (для совместимости с Windows XP).

Я связался со специалистом службы поддержки WD, и он сказал мне, что это аномалия, и что вместо этого я должен преобразовать диск в GPT, чтобы в будущем не произошло случайной потери данных.

Однако он не был уверен, действительно ли это приведет к потере данных, но порекомендовал мне преобразовать диск в GPT, и он также дал мне знать, что у меня был первый случай использования диска большой емкости в формате MBR (>2 ТБ), который он встречается.

Если вы уже сталкивались с подобной ситуацией и знаете, почему это так или нет, добавьте свой ответ.

Не обращайте внимания на все, что я написал ниже. Это может или не может быть правильно.


Я думаю, что нашел ответ. @Hennes и AIDA64 помогли. Кажется, что Western Digital разработала решение для предотвращения медленного прекращения MBR, и оно называется Advanced Format.

Благодаря этой технологии WD увеличил размер блока жесткого диска с 512 байт до 4 килобайт, поэтому диски расширенного формата могут увеличиться до 16 ТБ без ограничения 32-битного размера LBA.

Стивен Фоскетт очень хорошо объяснил это в своем блоге.


Из блога:

Текущая схема адресации жесткого диска составляет около 2,1 ТБ. В этом уравнении есть два простых фактора:

  1. Есть 4,294,967,296 адресуемые блоки в 32-битном "пространстве имен", и это все, с чем может справиться большинство компьютеров
  2. Каждый блок 512 bytes с тех пор, как динозавры продали компьютеры

Если мы умножим 4,294,967,296 раз 512, мы получаем 2,147,483,648 KB емкости. В дурацкой индустрии хранения Base-10, это емкость составляет 2,15 ТБ.

У производителей жестких дисков есть два пути вперед, и они не являются взаимоисключающими:

  1. Компания Western Digital впервые выпустила накопитель с расширенным форматом в конце 2009 года. Это устраняет (архаичный) размер блока, увеличивая его с 512 bytes в 4 kilobytes, Теперь, когда каждый адрес в восемь раз больше, нам нужно в восемь раз больше адресов для данного размера диска. Диски Advanced Format могут увеличиваться до 16 ТБ без ограничения 32-битного размера LBA.

  2. Seagate атаковал другую переменную, увеличив адресное пространство до полных 48 бит, указанных в стандарте LBA. Это дает удивительные 128 петабайт емкости даже с крошечной 512 byte блоки.

Я склонен идти с блогом, а не ответом техника поддержки WD. У меня есть пара накопителей Toshiba Stor.e Canvio 3 ТБ. Оба формата отформатированы на заводе с использованием "расширенного формата" с размерами кластеров и секторов 4k.

Диски используются на смарт-телевизоре Samsung, который не распознает раздел GPT (большинство мультимедийных устройств распознают только MBR).

Приводы 4K Advance Format / 512e могут быть одним из ответов, как отмечается в других ответах. Я не буду дублировать содержание их ответов, вдаваясь в подробности. Я пишу это немедленно, чтобы продемонстрировать, что я не хочу конкурировать с идеей 4KAF/512e, поскольку я с ней согласен. Однако, даже используя только 512-байтовые сектора, я вижу еще одну возможность.

Другая возможность * заключается в том, что это можно сделать с 512-байтовыми секторами на диске. Фактическое ограничение заключается в том, что начало раздела должно находиться в пределах первых 2 ТБ **, а затем в таблице разделов есть еще одно место, которое указывает, насколько велик раздел. Таким образом, теоретически раздел может перейти от границы 2 ТБ в место на 2 ТБ позже, поэтому MBR теоретически может поддерживать разделы размером примерно до 4 ТБ.

Я никогда не припоминаю, чтобы такое рекламировали, и могу представить, почему. Поскольку устройства хранения данных (жесткие диски, твердотельные накопители) продолжают расти в размерах, использование такого метода может помочь только в одном поколении удвоения размера (от 2 ТБ до 4 ТБ). Для этого потребуется, чтобы у людей было несколько разделов данных (один или несколько до отметки 2 ТБ, а затем только один, который начинается ближе к концу отметки 2 ТБ и не может иметь длину более 2 ТБ).

Попытка объяснить это среднему покупателю, скорее всего, станет кошмаром для отдела технической поддержки. Казалось бы, в интересах многих производителей просто принять GPT (что в любом случае звучит как хорошее решение в более долгосрочной перспективе по мере увеличения размеров дисков) и не говорить людям, что все, что превышает 2 ТБ, является макетом, который они намерены старайтесь поддерживать.

Хотя я не могу обещать, как операционные системы будут поддерживать такой макет, особенно потому, что многие люди используют Windows 10, которая может обновлять свое поведение без предварительного уведомления, которое видят большинство пользователей, создатели и сопровождающие операционных систем обычно хотят это делать. что просто и разумно. Это означает, что, если простой подход работает хорошо, нет причин стараться изо всех сил, чтобы его нарушить. Большая часть разработки операционных систем связана с технологиями, которые большинству программистов кажутся гораздо более интересными, чем обработка разделов. Итак, я бы сильно подозревал, что если вы каким-то образом сможете создать раздел, размер которого превышает отметку 2 ТБ, то этот раздел, скорее всего, действительно будет работать нормально. (Особенно, если он работает вначале, скорее всего, он заработает после установки операционной системы.Некоторые инструменты разделения могут помешать созданию такой допустимой разметки, так как некоторые ограничения могут быть наложены в попытке быть удобными для пользователя, но я могу подумать о некотором программном обеспечении для управления разделами (обычно текстовая база), где номера секторов (или значения CHS) могут быть введены вручную и, вероятно, будут работать с этой схемой.

[*] Я пишу этот ответ на основании проведенного мной исследования значения байтов в основной загрузочной записи. В вопросе есть тег "Windows 8.1". Я не определил, существует ли какое-либо конкретное поведение Windows 8.1, ограничивающее действия пользователя во время установки операционной системы, или с помощью "Управление дисками" (diskmgmt.msc), или с помощью DiskPart. Таким образом, этот ответ предназначен просто для рассмотрения концепции границы 2 ТБ для дисков, которые в основном используют схему разделения MBR. Если вам каким-то образом удастся создать такую ​​конфигурацию разделов, я могу представить, что большинство компьютерных прошивок ((U)EFI/BIOS) и большинство операционных систем с радостью загрузятся с нее и будут эффективно ее использовать. Также,Я полагаю, что большинство процедур установки операционной системы, вероятно, с радостью используют такой раздел, если он уже существует. Возражение потребует специальных проверок, которые вряд ли принесут большую пользу, поэтому такие проверки, вероятно, не проводятся широко.

[**] Цитата с моего собственного веб-сайта: "Последним сектором, который мог бы начать раздел, был бы сектор 4294967295, который составляет 2199023255040 байт, что на 512 байт меньше отметки в 2 ТБ".

Другие вопросы по тегам