Как сбросить ремап hdd

Обновлено: 01.07.2024

Как с помощью программы Victoria произвести посекторное стирание информации с жёсткого диска и этим избавиться от сбойных секторов (бэд-блоков)

Привет друзья! Данная статья является продолжением повествования о программе по ремонту жёстких дисков Victoria и конечно лучше было бы, если перед прочтением этой статьи, вы прочитали предыдущую. Коротко напомню Вам о чём шла речь в первой статье. Если ваша операционная система тормозит и зависает, а жёсткий диск иногда издаёт посторонние звуки, то дело может быть в сбойных секторах ( бэд-блоках). Сбойные сектора бывают двух видов: физические и логические.

Примечание : кому интересно, более подробная статья о сбойных секторах (бэд-блоках) лежит здесь .

Логические бэд-блоки - встречаются намного чаще, это некорректно записанная в сектор информация, которую магнитная головка жёсткого диска прочитать не может или считывает со значительной задержкой, если таких секторов много, то из-за этого наш компьютер также может работать медленно. Для проведения диагностики жёсткого диска можно воспользоваться программой Victoria. Чтобы вам всё было понятно, предлагаю рассмотреть данный вопрос на конкретном примере.

Встреча 10 лет спустя

На днях ко мне приехал приятель с системным блоком под мышкой и пожаловался на странную работу компьютера (подвисания, тормоза, постоянные проверки жёсткого диска на ошибки при включении), переустановка операционной системы не помогла. Системный блок оказался идеально чистым внутри, а температура процессора, видеокарты, жёсткого диска в норме. Конечно мои подозрения упали на жёсткий диск, который при ближайшем рассмотрении оказался знаменитым ветераном WDC WD1200JS-00MHB0: объём 120 Гб SATA-II, когда-то популярный чёрный жёсткий диск высокопроизводительной серии Caviar SE от производителя Western Digital! Друзья, данный диск я покупал своему приятелю 10 лет назад, обратите внимание на дату изготовления - 16 октября 2005 года!



Итак, посмотрим, что со здоровьем у нашего старого знакомого и с чего это он стал зависать и тормозить! Запускаю с флешки программу CrystalDiskInfo и смотрю SMART (самодиагностика жёсткого диска), ничего криминального нет, техническое состояние - Хорошо.


Запускаю программу Victoriaпрямо в работающей Windows 8.1 и обязательно от администратора, начинаю производить тест поверхности жёсткого диска.


В начальном окне программы выбираю вкладку Standard и в правой части окна выделяю левой мышью винчестер WDC WD1200JS-00MHB0.


Перехожу на вкладку Tests и отмечаю пункты Ignor и read , жму Start . Запускается простой тест поверхности жёсткого диска без исправления ошибок. Данный тест не опасен для информации, находящейся на жёстком диске. Мне интересно узнать, в каком состоянии жёсткий диск после десяти лет работы. Самое главное не запускать во время теста никаких программ, иначе возможны ошибки, вообще идеально произвести тест HDD в ДОС-режиме с помощью загрузочной флешки программы Victoria, но мы сделаем это чуть позже.


Через 30 минут получаем результат теста:

В нашем случае бэд-блоков нет, но есть сектора с большой задержкой более 600 мc, смотрим на скриншот, всё показано стрелочками.

500 блоков секторов с задержкой более 50 мc.

31 блок секторов с задержкой более 200 мc.

7 блоков секторов с задержкой более 600 мc (блоки секторов с такой задержкой опасны и являются скорее всего кандидатами в бэд-блоки).


Есть небольшая вероятность, что из-за данных семи секторов и происходят зависания компьютера.

Предлагаю применить для жёсткого диска в программе Victoria алгоритм Write (Запись, стирание) на жаргоне ремонтников - "Запись по всей поляне". Произойдёт посекторное стирание информации с диска блоками по 256 секторов и последующая принудительная запись в сектора нулей. Именно таким образом можно избавиться от логических бэд-блоков и в некоторых случаях от физических бэд-блоков (произойдёт ремап).

Логические "бэды" после такой принудительной записи просто потеряют некорректную информацию в своих секторах, она будет перезаписана нулями.

Физические "бэды" могут пропасть от того, что Виктория слишком явно покажет их встроенной микропрограмме жёсткого диска и та просто переназначит бэд-блоки резервными секторами с запасных дорожек!

Винчестеры Seagate Barracuda очень популярны среди пользователей персональных компьютеров. Многие диски отрабатывают по 5-10 лет и имеют при таком возрасте отличное "здоровье". Под словом "здоровье" я понимаю как само функционирование жесткого диска, его скорость и стабильность, так и показатели его системы самодиагностики и восстановления S.M.A.R.T.. Зачастую, за многие годы работы, показатели системы самодиагностики S.M.A.R.T. изменяются с момента начала использования жесткого диска. В этих показателях самим жестким диском запоминаются такие параметры как: максимальная температура жесткого диска, время работы жесткого диска (часы наработки), количество включений и выключений, количество парковок головок и т.д. Однако, самые нежелательные показатели, которые могут появится при многолетней работе жесткого диска - это количество сбойных секторов.

Причины появления сбойных секторов бывают разные. Основная причина - время. Со временем на диске, даже очень качественном, могут появляться участки с нестабильным чтением записанной информации, особенно если эта информация была записана очень давно, а диск не использовался долгое время. Среди причин могут быть и низкое качество самих пластин жесткого диска, некачественная сборка или использование дешёвых материалов при изготовлении HDD производителем.

Однако бывают случаи, когда сбойные сектора появляются не по причине самого жесткого диска. Я имею ввиду случаи, когда происходит выключение питания в момент записи информации на диск, или дефект в SATA кабеле, или ошибки в контроллере SATA на материнской плате компьютера, или нестабильная работа блока питания ПК (скачки напряжения по линиям 5V и 12V). В этих случаях система самодиагностики может найти на поверхности жесткого диска от нескольких штук, до нескольких тысяч так называемых "софтовых бэдов", т.е. участков, где информация не может прочитаться, т.к. не совпадают контрольные суммы с самой информацией, что записана в эти блоки. Система диагностики зачастую определяет их как нестабильные или плохие и изменяет показатели системы S.M.A.R.T. не в лучшую сторону. Система S.M.A.R.T. может даже заменить эти блоки хорошими и в своих показателях отобразить их как Realocated (перемещённые), хотя сами блоки могут быть очень даже хорошими. Такое бывает довольно часто, но не всегда.

Ниже на фото показан скриншот программы Victoria с показателями S.M.A.R.T. проблемного диска. Можно видеть более тысячи уже перемещённых секторов и сотни готовящихся к перемещению.

Итак, что мы можем сделать, чтобы попытаться вернуть показатели S.M.A.R.T. в норму? Мы можем обнулить показатели S.M.A.R.T. или перенести плохие сектора в скрытую область системы самодиагностики, так называемый P(Slip)-лист. Эта операция не гарантирует того, что после обнуления показателей, эти показатели через несколько дней или недель не появятся вновь. Если диск действительно имеет плохие сектора, то система самодиагностики их выявит и пометит через некоторое время использования диска. Так что Вам скорее всего не получится из действительно "убитого" жесткого диска сделать "конфетку".

В данном руководстве изложена процедура сброса показателей S.M.A.R.T. для жестких дисков Seagate Barracuda 7200.11, Seagate Barracuda 7200.12, Seagate Barracuda ES, Seagate Barracuda ES.2. На других жестких дисках Seagate Barracuda я не проверял, возможно процедура подобная.

Для начала нам необходимо обзавестись адаптером RS232-to-TTL. Можно cобрать переходник на базе микросхемы MAX232 как показано на схеме:

Примечание к схеме: Если есть возможность подключиться к стабилизированному напряжению +5В, то схему можно упростить, выкинув из нее стабилизатор 7805 с двумя конденсаторами обвязки.

Альтернативная схема адаптера RS232-to-TTL:

Ещё, как вариант, можно использовать USB программатор на CH341A как адаптер USB в TTL. Он позволит подключится даже к компьютеру без COM порта. Подключение будет осуществлятся через USB, что более удобно. Купить USB программатор на CH341A можно у нас в магазине с доставкой по Украине службами доставки.

Внимание! Всё, что Вы будете делать дальше, делается Вами на свой страх и риск. Это может привести как к потере информации, так и поломке самого жесткого диска!

Далее порядок действий следующий:

1.) Если на жестком диске установлена перемычка "режим работы SATA I", то заранее уберите эту перемычку, переводящую диск в режим работы SATA I.

2.) Подключаем контроллер 232-to-TTL к COM порту. (Если Вы используете USB конвертер или программатор на CH341A в качестве 232-to-TTL адаптера, то драйвер должен быть уже установлен заранее. Описывать установку драйвера я не буду.)

3.) Запускаем программу ГиперТерминал (входит в состав Windows XP). Если у Вас установлена Windows Vista, Windows 7, Windows 8 или более новая, то в стандартной поставке ГиперТерминал не входит. Вы можете скачать англоязычную версия HyperTerminal с нашего сайта. Запускаем HyperTerminal и вводим название подключения. Название подключения указываем любое, я ввёл "1".

4.) В гипертерминале выбираем COM порт. У меня COM3, у Вас может быть другой. Всё зависит от того как Вы подключили адаптер 232-to-TTL.

5.) Устанавливаем скорость порта 38400, управление потоком - нет, остальное по умолчанию как показано ниже на скриншоте.

6.) Перед подключением контроллера 232-to-TTL к жесткому диску рекомендую проверить работу связки ГиперТерминала и адаптера 232-to-TTL. Для проверки работоспособности замкните между собой Rx и Tx проводки и в окне ГиперТерминала напечатайте что-то на клавиатуре. В окне должны отображаться введённые символы - «эхо» терминала. Каждый введенный вами символ — должен появлятся на экране (возвращаться через Tx-Rx). Если «эхо» нет, значит ваш девайс не работает или неправильно настроен COM порт. На деле это выглядит так: подключаем кабель — запускаем теминал — настраиваем его на нужный порт — пытаемся что-нибудь напечатать — в терминале тишина. Значит что-то не работате. Если замыкаем Tx-Rx — пытаемся что-нибудь напечатать — в терминале появляется то, что мы напечатали. Вывод — «эхо» работает и у нас всё готово к подключению HDD диска.

7.) Тремя проводками подключаем контроллер 232-to-TTL к винчестеру. Подключаем Tx и Rx как показано на фото (GND можно не подключать, но в этом случае возможны появления в ГиперТерминале лишних символов - мусора). Я подключал все три провода.

8.) Подаем питание на винчестер. В результате у Вас должно быть вот такое подключение:

10.) Один раз жмем CTRL+Z и терпеливо ждем приглашение в виде:

Примечание: Чтобы увидеть список команд и описание к ним для вашего жесткого диска, необходимо ввести /C и «Enter», а затем Q и «Enter». Не забудьте после просмотра команд опять перейти в режим T командой /T.

11.) Набираем /1 жмем «Enter» (переход на уровень 1). Наблюдаем на терминале:

12.) Набираем N1 жмем «Enter» (очистка SMART и снятие блокировки "CC"). Наблюдаем на терминале:

13.) Набираем /T жмем «Enter» (переход на корневой уровень). Наблюдаем на терминале:

16.) Жмем Ctrl+Z. Наблюдаем на терминале:

17.) Набираем команду чтобы перенести из G(Alt)-листа дефекты в заводской P(Slip)-лист m0,2,3. 22 и жмем «Enter». Наблюдаем на терминале:

Max Wr Retries = 00, Max Rd Retries = 00, Max ECC T-Level = 14, Max Certify Rewrite Retries = 00C8
User Partition Format 4% complete, Zone 00, Pass 00, LBA 00004339,
User Partition Format Successful - Elapsed Time 0 mins 30 secs

Далее m0,2,2. 22 и жмем «Enter». Наблюдаем на терминале:

Max Wr Retries = 00, Max Rd Retries = 00, Max ECC T-Level = 14, Max Certify Rewrite Retries = 00C8
User Partition Format 4% complete, Zone 00, Pass 00, LBA 00004339,
User Partition Format Successful - Elapsed Time 0 mins 30 secs

18.) Этот пункт можно пропустить. Теперь можно полностью отформатировать весь диск. Процесс форматирования может занять от получаса до нескольких часов. Набираем m0,8,2. 22 и жмем «Enter». Наблюдаем на терминале:

И дальше много строк в процессе форматирования всего диска. В конце процесса мы получим следующее:

19.) Набираем /2 жмем «Enter» (переход на уровень 2). Наблюдаем на терминале:

20.) Набираем Z жмем «Enter» (команда на останов двигателя). Наблюдаем на терминале:

F3 2>Z
Spin Down Complete
Elapsed Time 0.138 msecs
F3 2>

Жесткий диск пишет что остановил двигатель.

21.) Выключаем разъём питания жесткого диска. Выключаем компьютер. Подсоединяем винчестер в штатном режиме и готовимся радоваться.

После всех процедур через «Терминал» рекомендуется выполнить

Отключаем питание. Выключаем компьютер. Подсоединяем винчестер к компьютеру в штатном режиме. Контролле SATA рекомендую перевести из режима AHCI в IDE если этого не сделано ранее, так будет меньше шансов, что диск не определится.

Очистка Smart Жесткого диска Сброс smart, Hdd, Жесткий Диск, Гифка, Длиннопост

После этого нам понадобится терминал, для работы с программой жестяка. Я использовал обычный виндовый, но разницы никакой нет.
Настройки для Samsung Такие . Ком порт может быть другой. Зависит от того, в какой USB воткнут USB-TTL переходник

Очистка Smart Жесткого диска Сброс smart, Hdd, Жесткий Диск, Гифка, Длиннопост

После чего подключаем Питание к жестком диску ( на бардак не обращаем внимание, это творческий беспорядок).

Очистка Smart Жесткого диска Сброс smart, Hdd, Жесткий Диск, Гифка, Длиннопост

Ах да, чуть не забыл, старый смарт жесткого диска

Очистка Smart Жесткого диска Сброс smart, Hdd, Жесткий Диск, Гифка, Длиннопост

После подключения питания к HDD, в терминале вы увидите примерно следующее, после того как пробежали все строчки, нажмите сочетание клавиш CTRL+Z чтобы жестяк понял, что вы собираетесь с ним общаться. В ответ он выдаст F3 T>

Очистка Smart Жесткого диска Сброс smart, Hdd, Жесткий Диск, Гифка, Длиннопост

В терминале набираем /1 для перехода в каталог

После чего набираем N1

И видим, что смарт очистился

Очистка Smart Жесткого диска Сброс smart, Hdd, Жесткий Диск, Гифка, Длиннопост

А вот и новый смарт

Очистка Smart Жесткого диска Сброс smart, Hdd, Жесткий Диск, Гифка, Длиннопост

Ну собственно все, конечно это не ремонт, и абсолютно ни на что не повлияет, кроме как на визуальные показатели HDD. Как это использовать и зачем? Ну это пример работы с терминалом жесткого диска, а так каждому решать, может кто углубится в это, там еще множество команд ) Возможно кто нибудь после этого поста научится восстанавливать информацию с HDD и сделает серьезную фирму ) В общем всем удачи ребят, и до новых встреч.


Сообщество Ремонтёров

6.1K постов 35.4K подписчиков

Правила сообщества

К публикации допускаются только тематические статьи с тегом "Ремонт техники".

В сообществе строго запрещено и карается баном всего две вещи:

В остальном действуют базовые правила Пикабу.

Чувствую, на Авито прибавится "полностью исправных" ЖД

Вот так и впаривают б\у винты под видом новых, какнибудь запилю длиннопост с подробностями ;)

"Подключать соответственно GND-GND TX-TX RX-RX" - правильно подключать RX-TX

Чё разорались то?

Хоть и давно, но чего так было орать.

Имею 6 винтов сиагейта smart bad, стояли в автобусах. Винты полностью исправны, тестированны, просто в сильный минус плохо запускались, сброшу smart, воткну в рейд и пусть будет мини сервак на 3 t.b.

Не все же такие мудаки как думаете, чтоб куда чего то впарить.

Статья полезна. Сторублёвый программатор, прямые руки решат проблему.

Очистить SMART бывает полезно при заваленом 191, но нормальном 5 атрибуте.

А для SSD такое вообще возможно?

Ребята, ТС, подскажите, если пункт reallocated sector count выдает почти 20000 - жестаку конец?

"Настройки для Samsung Такие . " а HDD seagate.Что то не сходится.

А разве не TX -> RX и RX -> TX подключают?

@Scrypto, подскажите пожалуйста где взять половинчатый кабель SATA как у вас на фото? Нашёл только USB - TCL адаптер

Может подскажешь? имеется тошиба 2.5'' 1тб, не форматируется и ничего не дает сделать с жестким. ни из под винды ни из под юникса, пробывал с загрузочных прог та же беда. к терминалу сколько не побывал подключится так и не смог. не смог найти правильного подключения. жалко выкидывать. хард вроде не битый

правильно понимаю, таким образом лечат "муху цц?" на барракудах?

Здравствуюте а не подскажете возможно ли таким способом очистить таблицу Reallocated Sectors? Или есть другой способ?

Конечно спустя 5лет почти даже ровно 5лет попытаюсь спросить. Сталкивались с sas 2.5 hdd. И если да где искать 4pin разъем.

А какие еще есть команды и что можно с их использованием делать, хотя бы типы команд?

@moderator, тег "жесть" уберите, пожалуйста

Что никого не смущает что ТЕРМИНАЛ подключали к ТОШИБЕ, а команды то от СИГЕЙТА.

Как внешний хард внутрь запихнуть?


Золотой фонд багоделов

Если в ремастере GTA покачивать машиной из стороны в сторону, она увеличивается в размерах.


Действительно

Действительно Скриншот, Twitter, Верующие, Апокалипсис, Коронавирус, QR-код

На злобу дня

На злобу дня

Ответ на пост «Не прокатило»


Восстановить удаленные файлы — не проблема, для этого есть десятки утилит. Но что, если накопитель поврежден, имеет ошибочное описание геометрии или доступ к нему закрыт паролем на уровне контроллера? Тогда на помощь приходит утилита Victoria. Она написана на ассемблере, занимает считаные килобайты и работает с контроллером напрямую.

WARNING


Вся информация приведена для ознакомления. Victoria использует низкоуровневые операции, смысл которых описан в руководстве. Редакция и автор не несут ответственности за любой возможный вред.

От MS-DOS до Windows 10

Victoria задумывалась как средство расширенной диагностики накопителей (тогда — жестких дисков, а сегодня еще и SSD) и управления настройками их работы через низкоуровневые команды. Белорусский программист Сергей Казанский лет десять разрабатывал ее и выпускал авторский набор утилит для восстановления данных. За это время вышло множество коммерческих релизов Victoria, несколько бесплатных версий и одна неофициальная, которой мы уделим особое внимание.

Первоначально Victoria была дисковой утилитой для MS-DOS, написанной на ассемблере. Древняя операционка подходила лучше, чем Windows, из-за того, что в однозадачной среде проще обеспечить эксклюзивный доступ к диску. С появлением поддержки драйвера porttalk.sys Victoria версий 4.xx научилась работать и в многозадачной среде WinPE, а также в Windows от XP до 10 любой разрядности. Запускать ее стало проще, действия в графическом интерфейсе стали нагляднее, да и сам режим работы изменился. Но вот беда: без понимания новых особенностей программы некоторые пользователи начали терять данные и целые диски вместо того, чтобы восстанавливать их. Поэтому последняя официальная версия 4.46b имеет развитую «защиту от дурака».

По умолчанию в ней доступны только недеструктивные операции с накопителями. Это не просто режим «только чтение», как в других утилитах, которые обращаются к HDD/SSD средствами драйвера Windows. У Victoria при первом старте также блокируется возможность изменить HPA (и напортачить с геометрией диска), случайно запустить низкоуровневое форматирование и «выстрелить себе в ногу» более изощренными способами.

Универсальный солдат

Victoria — максимально универсальная утилита. Она обращается к накопителю любого типа (HDD, SSD, USB Flash) и с любым ATA-совместимым интерфейсом. Ее дело — передавать ATA-команды любому устройству, которое их поддерживает. Поэтому все сказанное про работу Victoria с дисковыми накопителями справедливо и для твердотельных, за исключением того, что относится к их конструктивным особенностям. Понятно, что для SSD бессмысленно смотреть время раскрутки шпинделя и пытаться управлять скоростью позиционирования головок, — у него нет ни того ни другого. Тем не менее протестировать и даже восстановить SSD с помощью Victoria вполне возможно.

Victoria 4.47

Эту версию сделал в 2013 году программист из Москвы Олег Щербаков. Он пропатчил последнюю официальную сборку Victoria 4.46b. Скачивать лучше здесь. На этом сайте Щербаков опубликовал ее вместе с исходниками патчей. Остальные ресурсы могут распространять под видом новой «Виктории» что угодно.

Хоть Victoria и далеко не новая программа, в ней нашлись и критические ошибки, требовавшие исправления. Одна из них приводила к тому, что запустить Victoria в 64-разрядных версиях Windows было невозможно. Из-за другой могли появиться проблемы при работе с большими дисками. Если объем был выше терабайта, то Victoria 4.46b просто тратила всю виртуальную память на отрисовку и цветовую маркировку проверяемых блоков LBA. В версии 4.47 Щербаков все это исправил.

Запуск Victoria 4.47 в Windows 7 SP1 x64, режим API

Запуск Victoria 4.47 в Windows 7 SP1 x64, режим API

PIO vs API

У Victoria есть два режима работы: PIO (port input/output) и API (application programming interface). В режиме PIO контроллер накопителя опрашивается программой через драйвер porttalk.sys. Если выбрать API, то будут использоваться средства операционной системы. Скорость работы с диском в режиме PIO падает, поскольку не поддерживаются DMA и высокоуровневые оптимизации чтения и записи. Однако режим PIO позволяет использовать все возможности Victoria и отправлять любые команды ATA непосредственно дисковому контроллеру, минуя ОС и стандартные драйверы. Именно через PIO чаще всего работают с дисками в лабораториях восстановления данных. Victoria поддерживает как накопители с современным интерфейсом SATA, так и старые — PATA (он же IDE). Victoria умеет работать и с внешними дисками (особенности будут описаны ниже).

Выбрав режим PIO, в начале работы надо просканировать шину и определить дисковые контроллеры кнопкой PCI-Scan. Справа от нее отображается окно выбора порта диска. Внутренние обычно детектируются без проблем, а вот для внешних дисков придется сначала выяснить их порт. Это можно сделать в свойствах оборудования или в любой диагностической программе (например, AIDA64). После этого необходимо вручную задать порт в «Виктории». Еще при сканировании можно отметить флажок All dev (все устройства) и методом исключения отыскать нужный диск в списке найденных.

Victoria 4.47 в режиме PIO

Victoria 4.47 в режиме PIO

Режим PIO целесообразно использовать именно для низкоуровневых команд. Простой поиск сбойных секторов и их переназначение в резервную область диска гораздо быстрее (но менее надежно) протекает в режиме API.

Ограничения режима API следующие: нельзя устанавливать и снимать пароли ATA, отключена также работа с Host Protected Area и просмотр регистров. Если какая-то из этих функций нужна, то можно переключиться в режим PIO. Бывает, что режим PIO недоступен. Это случается при использовании старых версий Victoria в 64-разрядных ОС. Еще причиной могут быть ошибки в работе с драйвером porttalk.sys или выбор режима SATA AHCI. Гарантированно выйти из положения можно следующим образом.

  1. Записываем загрузочную флешку
    с WinPE x86 и помещаем на нее программу Victoria простым копированием.
  2. Подключаем нужный накопитель к порту SATA/PATA, если еще не сделали этого.
  3. Отключаем все другие HDD или SSD (опционально).
  4. Заходим в CMOS setup, переключаем режим SATA-контроллера с AHCI на совместимый (compatible, native или IDE).
  5. Загружаем WinPE. При необходимости доустанавливаем драйверы, включая porttalk.
  6. Запускаем Victoria в режиме PIO, инициализируем нужный HDD или SSD и выполняем необходимую команду.

Настройки можно задать через GUI или в файле vcr40.ini. Этот же файл поможет снять блокировку работы с первичным портом. По умолчанию она включена для того, чтобы защитить системный диск от случайной модификации. Чтобы можно было выбрать Primary в списке портов, нужно сделать две вещи:

  1. Отключить опцию «только недеструктивные функции» и закрыть программу.
  2. В секции [ATA Port] файла vcr40.ini дописать строку Enable PM=1 , сохранить изменения и перезапустить программу.

Porttalk

Последние версии Victoria умеют автоматически устанавливать драйвер porttalk, однако он совершенно бесполезен в 64-разрядных системах. Дело в том, что в них ради большей безопасности убрали пару функций, которые нужны для работы porttalk и Victoria. Поэтому драйвер porttalk (и, соответственно, режим PIO) работает только в 32-битных версиях Windows, где есть функции Ke386SetIoAccessMap и Ke386IoSetAccessProcess .

Внешние накопители

Внешние диски — это обычные ноутбучные (2,5″) или десктопные (3,5″) модели в контейнерах с интерфейсами USB и FireWire. Они снабжаются различными контроллерами с общим названием «SATA-мост». Многие из этих мостов не транслируют низкоуровневые команды. Поэтому с одними внешними накопителями Victoria может сразу работать в режиме PIO так же, как с внутренними дисками, а с другими сначала придется помучиться. В простейшем случае будет достаточно извлечь сам диск из корпуса (гермоблок не вскрывать!) и подключить к порту напрямую.

Редкий зверь: SATA-винчестер без SATA-порта

У Western Digital и, возможно, других производителей некоторые внешние винчестеры выпускались уже с распаянным мостом SATA — USB. Поэтому обычного разъема SATA на них нет. Тем не менее их все равно можно подключить напрямую к порту, подпаяв SATA-кабель к выводам на плате диска. Чтобы понять, относится ли твой диск к такой серии, придется гуглить по номеру модели и искать даташиты.

Пароли

Одна из наиболее востребованных низкоуровневых команд в режиме PIO — это работа с паролями. Согласно спецификациям, доступ к диску можно ограничить при помощи пароля. Он задается пользователем из BIOS или с помощью внешних утилит. Также существует предустановленный производителем мастер-пароль. Заблокировать диск можно только с помощью пользовательского пароля. Если его забыли, то блокировку можно снять мастер-паролем.

В зависимости от заданного уровня безопасности результат ввода мастер-пароля будет разным. При высоком уровне (high) мастер-пароль действует наравне с пользовательским. Он просто разблокирует диск, и все. Если же задан максимальный уровень безопасности (max), то ввод мастер-пароля вместо пользовательского приведет к разблокировке диска только после полного стирания на нем всех данных (secure erase).

Работа с ATA-паролями осложняется еще и тем, что по стандарту они всегда состоят из 32 байт (какой бы длины ты его ни задавал). Лишние символы игнорируются, а недостающие дописываются автоматически. Проблема в том, что разные программы дописывают их по-разному. Особенно грешат этим штатные защитные утилиты на некоторых ноутбуках. Вместо традиционных нолей (или хотя бы пробелов) они используют непечатаемые символы. Код 00h вообще нельзя набрать с клавиатуры (даже через +код). Выход здесь один: не вводить пароль в окне программы, а считать его из файла. Любые символы можно записать в файл с помощью hex-редактора.

Нередко пользователь не может разблокировать диск, даже когда вводит верный пароль. При смене ноутбука или утрате штатной утилиты любая другая (например, HDDL) допишет пароль до 32 байт своими символами.

Встречается и предварительная модификация пароля. Во многих ноутбуках он фактически шифруется перед отправкой контроллеру. Обычно это простейшие логические операции, но легче от этого не становится. Пользователь думает, что тут известный ему пароль, в то время как реально контроллер принимает совершенно другой. Если ты перепробовал все варианты предполагаемых пользовательских и стандартных мастер-паролей, но не добился результата, то выход один — нести накопитель в лабораторию, где с ним будут работать в технологическом режиме.

Как вернуть утерянный терабайт

Иногда очень выручает возможность работать Victoria в режиме PIO с HPA (Host Protected Area) — служебной областью памяти, в которой записана геометрия диска. Она определяет объем накопителя, задавая его как число блоков LBA.

В моей практике был занятный случай. Получил стандартную жалобу: «компьютер не включается» (читай, ОС не загружается). Владелец посетовал, что мучается уже около месяца. Сначала он объездил все сервисные центры, затем приглашал разных эникейщиков — безрезультатно. Я приехал, посмотрел и тоже крепко задумался. Все комплектующие исправны. Диск определяется в BIOS, но загрузка с него не идет. Запустил Linux с флешки. Винчестер виден, но утилиты логической разметки показывают странную картину: 64 Мбайт общего объема и один раздел с неизвестной файловой системой.

И тут я сообразил, что на винчестере просто слетела HPA. В результате терабайтный диск стал определяться как 64-мегабайтный огрызок. Переключил в CMOS setup режим SATA-портов с AHCI на совместимый, взял флешку с WinPE и запустил Victoria в режиме PIO. Далее отправил команду NHPA (восстановить заводской объем).

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

Почему подвела Victoria? Предполагаю, потому, что у этого диска были какие-то специфические особенности, неизвестные мне или универсальной программе.

Сбойные секторы

Чаще всего Victoria используется для поиска и устранения сбойных секторов. Если с HPA у диска все в порядке и парольная защита не стоит, но никакими утилитами прочитать с него файлы за разумное время не удается, то пора проверять поверхности. Victoria умеет это делать в любом режиме (PIO/API) с помощью посекторного чтения (read), записи (write) и записи с проверкой (verify).

Обнаружение сбойных секторов

Обнаружение сбойных секторов

При восстановлении данных можно использовать только чтение, но его варианты тоже бывают разными. Простейший из них — последовательный: с первого блока до последнего. Начальное и конечное значение LBA можно указать вручную, что удобно сразу по многим причинам. Во-первых, так появляется возможность проверять диски любого объема, просто выполняя тест фрагментами до одного терабайта. Во-вторых, можно заново проверить подозрительную область и исключить внешние факторы. Victoria анализирует время обращения к сектору. Обычно у новых дисков оно не превышает 5 мс у 80% секторов. Нормальными также считаются секторы со временем опроса менее 50 мс. Те, у которых оно измеряется сотнями миллисекунд, — кандидаты в сбойные секторы.

Кандидаты в бэды

Кандидаты в бэды

Если сектор считался спустя несколько секунд, то это однозначный bad block. Такие дисковый контроллер должен выявлять самостоятельно во время простоя и заменять их в адресной таблице исправными секторами из резервной области. Однако на практике это происходит не всегда. Victoria может попросить винчестер сделать такую операцию (Remap) для тех секторов, которые слишком долго не отвечали на запросы. Формально при этой процедуре теряется часть информации, но реально она уже была потеряна в тот момент, когда сектор стал сбойным.

В платной версии Victoria была доступна функция Restore — попытка считать данные из сбойного сектора любой ценой и последующая их перезапись на исправный сектор. Однако программа официально не поддерживается с 2008 года, поэтому приобрести ее полную версию вряд ли получится. Бесплатная Victoria не раз выручала тем, что восстанавливала HPA, сбрасывала пароли и устраняла сбойные секторы, из-за которых зависали другие программы восстановления данных.

График чтения при тесте поверхности HDD

График чтения при тесте поверхности HDD

Как бесплатная Victoria спасла секретную работу

Поделюсь с тобой еще одной историей. Лаборатория в НИИ, наше время. Аналитическим прибором управляют с компьютера, который был с ним в комплекте. На компе предустановлен очень специфический софт, который разработчики больше не поддерживают. Дистрибутива нет ни на диске, ни на сайте. Есть только установленная программа, и она перестала работать. Лаборатория выполняла исследование по многолетнему госконтракту. Без чудо-прибора сотрудники оказались связаны по рукам и ногам. Помучались и выяснили, что проблема с диском. От древности он покрылся бэдами, и нормальная работа стала невозможной. Попытка сделать клон диска с пропуском сбойных секторов не увенчалась успехом — программа клонирования зависала намертво. Прогнали диск тестом Victoria с функцией Remap. Предварительно подобрали необходимые настройки. К вечеру того же дня успешно сняли дисковый образ, а затем восстановили с него все на новый винчестер. Прибор ожил, контракт был выполнен в срок.

Дополнительные возможности Victoria

Victoria детально анализирует состояние накопителя и может устранить практически любой сбой в его работе. Собственно, этим Victoria и отличается от массы других утилит. Если большинство программ просто показывает атрибуты SMART, то она умеет запускать принудительно целые наборы тестов самодиагностики.

Victoria обнаруживает скрытые дефекты при анализе SMART

Victoria обнаруживает скрытые дефекты при анализе SMART

У Victoria четыре метода и три типа тестирования поверхности (всего двенадцать режимов). В каждом она автоматически подсчитывает общее число дефектных блоков и записывает их адреса в лог. Подобно дисковому редактору, Victoria умеет показывать содержимое секторов и позволяет его менять. В режиме PIO Victoria отображает информацию о логических разделах на носителе даже в том случае, если он вообще не определяется в BIOS. Ни одна утилита с доступом через API на это не способна. Дополнительно Victoria умеет управлять уровнем акустического шума диска (AAM), регулируя скорость перемещения его головок при поиске, запускать низкоуровневое форматирование, изменять объем HDD и выполнять бенчмарки. Ее можно использовать даже для проверки физического интерфейса (состояния кабелей и портов). В домашних условиях она спасет HDD или SSD во многих сложных ситуациях, кроме тяжелых механических повреждений, требующих вскрытия гермоблока. В лаборатории справятся и с ними, используя Victoria как одну из проверенных утилит.

Паспорт диска, принудительный запуск теста SMART и управление AAM в программе Victoria 4.46b

Паспорт диска, принудительный запуск теста SMART и управление AAM в программе Victoria 4.46b

Заключение

Читайте также: