Loess.ru

having fun

Увидеть Заворот Данных и…… выжить

Всё началось с дохнущего харда. Сие печальное событие вынуждает на подвиги — купить новый, да побольше, слить остатки, а старый записать в ненадёжные бэкапы. Но не всё так просто. WinXP, она же 2003 server, не желает просто так дружиться с толстющими HDD объёмом свыше 2 Тб, точнее, дружится, но один раздел на таком диске использовать не может. После пары минут гугления было найдено и реализовано решение — «gpt 3tb paragon driver for winxp» — взгуглив, можно найти с десяток подробных статей, сделанных с помощью ctrl+c, ctrl+v. Это решение показало мне один цельный раздел в Win NT 5.2.
Прошло N-ное количество времени, и меня стали одолевать непонятные неуловимые BSOD’ы, случайные долгие шуршания жестким диском, непонятные тайминги на операциях записи на всех HDD. В итоге я на себе испытал т.н. «заворот данных» — когда файлы, записываемые в раздел на отметке 2,2 Тб начинают писаться в физическое начало раздела, затирая служебные таблицы и всё подряд. Это было внезапно и больно, не помог ни gdisk, ни мануал к нему, ни форумы, ни гуглёж, ни изучение матчасти, ни левые тулзы, ни ру-борд. Даже самая крутая штука для неинвазивного восстановления оказалась безрезультатной.

Я начал копать — обновлять драйвера, способные как-то влиять на это, следить за активностью записывающих процессов, играть с режимами AHCI/IDE в биосе, но везде натыкался на какой-нибудь косяк и непонимание источника проблем. Внимание привлекли странные сообщения в системном логе вида:

Тип события:	Предупреждение
Источник события:	gpt_loader
Категория события:	Отсутствует
Код события:	11
Дата:		17.03.2015
Время:		0:56:23
Пользователь:		Н/Д
Компьютер:	MAINFRAME
Описание:
Port driver for disk 1 failed ATA IDENTIFY command.
Данные:
0000: 00 00 1a 00 02 00 74 00   ......t.
0008: 00 00 00 00 0b 00 05 80   .......?
0010: 00 00 00 00 00 00 00 00   ........
0018: 00 00 00 00 00 00 00 00   ........
0020: 00 00 00 00 00 00 00 00   ........
0028: 5a 41 74 61 47 70 74 4c   ZAtaGptL
0030: 6f 61 64 65 72 3a 3a 67   oader::g
0038: 65 74 44 69 73 6b 53 69   etDiskSi
0040: 7a 65                     ze

или «ATA IDENTIFY command failed by device 7», а также БСОДы STOP 7b.

В итоге выяснилось, что эта гадость не работает ни с какими драйверами кроме стандартных Microsoft IDE, поставляемых с ОС. Проблема с заворотом была где-то в связке gpt_loader+ide режим. Выставил AHCI, поставил свежую дровину SATA контроллера (еле нашёл, ich10r, ven 8086 dev 3a22) — gpt_loader стал нонстопом срать в журнал и вешать харды без особой причины. удалил gpt_loader из системы — всё залетало.
Чтобы удалить эту срань, необходимо погуглить, как «deactivate kernel mode filter driver» и почитать http://support.microsoft.com/en-us/kb/816071. Для контроля использовать кнопку «Сведения…» вкладки «Драйвер» свойств драйвера жесткого диска:
gpt+ahci+driver
этой гадости (gpt_loader) там быть не должно. НИКОГДА!

Делайте бэкапы, жуйте морковь и изучайте матчасть =)

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Лимит времени истёк. Пожалуйста, перезагрузите CAPTCHA.