(репост) Предупреждение для владельцев HDD > 2.2TB (3TB, 4TB) и контроллеров Marvell 88SE91xx

Sep 01, 2013 18:34

Оригинал взят у sporaw в Предупреждение для владельцев HDD > 2.2TB (3TB, 4TB) и контроллеров Marvell 88SE91xx (например, на P
Доброй ночи!

Хочу предостеречь всех владельцев больших HDD. Больших - это больше 2.2TB, т.е. 3TB, 4TB и т.п. Сказанный ниже рецепт в целом годен на все случаи жизни (т.е. даже если у вас не такое железо, но в теории есть шанс встретиться с любым другим железом и подобными глюками с 32-битным ограничением расчета, в т.ч. даже в софте).

Контроллер Marvell 88SE91xx, по крайней мере, с BIOS <= 1.0.0.1031 не поддерживает полноценно диски объемом больше 2.2TB. Его BIOS при каждой перезагрузке по физическому смещению BAA1471E00h на каждый диск прописывает бэкап GPT-таблицы размером в 4060h байт (и тем самым портит ваши данные). Это смещение - граница 746.52Gb (достаточно известная константа) из-за переполнения адресации.


Проверено лично у меня на 4-х HDD 3TB на таком железе:
Плата: ASUS P9X79-PRO
Marvell 91xx SATA 6G Controller -- Marvell 88SE91xx Adapter
Driver: mv91xx.sys mvxxmm.sys mv91xxm.dll - v1.2.0.1038
BIOS v1.0.0.1031

Так же подтвердил еще один человек, прочитавший мой блог (для него это было большим "сюрпризом"):
У него так же подтверждено на 4-х дисках и тоже такой же контроллер.
SATA controller: Marvell Technology Group Ltd. 88SE9123 PCIe SATA 6.0 Gb/s controller (rev 11)

Более подробно обо всем этом и как именно я это нашел, здесь:
http://sporaw.livejournal.com/203122.html
http://sporaw.livejournal.com/208049.html

Мой совет - даже если у вас не такое железо, сберегите свои данные. Сделайте так, как я описал в разделе "Выводы" по первой ссылке. (Кратко: создаете файл по этому смещению и никогда этот файл не двигаете. Даже если какой-то софт или железо туда пишет мусор, ваши данные не страдают).

Добавлено:
Смещение, на самом деле, может быть другим при другом объеме дисков.

В общем виде это так: бэкап пишется в последний сектор, берем номер этого сектора и считаем остаток от деления на 2^32 (из-за переполнения). Узнаем точный сектор куда нагажено.

repost, железки, баги

Previous post Next post
Up