Верификация жесткого диска что это
В посте собран перечень 20 лучших бесплатных инструментов разбивки, диагностики, шифрования, восстановления, клонирования, форматирования дисков. Вообщем практически все что нужно для базовой работы с ними.
1. TestDisk
TestDisk позволяет восстанавливать загрузочные разделы, удаленные разделы, фиксировать поврежденные таблицы разделов и восстанавливать данные, а также создавать копии файлов с удаленных/недоступных разделов.
Примечание: PhotoRec ето связанное с TestDisk приложением. С его помощью возможно восстановить данные в памяти цифровой камеры на жестких дисках и компакт-дисках. Кроме того можно восстановить основные форматы изображений, аудиофайлы, текстовые документы, HTML-файлы и различные архивы.
При запуске TestDisk предоставляется список разделов жесткого диска, с которыми можно работать. Выбор доступных действий, осуществляемых в разделах, включает: анализ для корректировки структуры (и последующее восстановление, в случае обнаружения проблемы); изменение дисковой геометрии; удаление всех данных в таблице разделов; восстановление загрузочного раздела; перечисление и копирование файлов; восстановление удаленных файлов; создание снапшота раздела.
2. EaseUS Partition Master
EaseUS Partition Master — инструмент для работы с разделами жесткого диска. Он позволяет создавать, перемещать, объединять, разделять, форматировать, изменяя их размер и расположение без потери данных. Также помогает восстанавливать удаленные или потерянные данные, проверять разделы, перемещать ОС на другой HDD/SSD и т.д.
Слева представлен перечень операций, которые можно выполнить с выбранным разделом.
3. WinDirStat
Бесплатная программа WinDirStat проводит анализ использованного места на диске. Демонстрирует, как данные распределяются и какие из них занимают больше места.
Клик по полю в диаграмме выведет на экран рассматриваемый файл в структурном виде.
После загрузки WinDirStat и выбора дисков для анализа, программа сканирует дерево каталога и предоставляет статистику в таких вариантах: список каталогов; карта каталогов; список расширений.
4. Clonezilla
Clonezilla создает образ диска с инструментом клонирования, который также упакован с Parted Magic и первоначально доступен, как автономный инструмент. Представлен в двух версиях: Clonezilla Live и Clonezilla SE (Server Edition).
Clonezilla Live является загрузочным дистрибутивом Linux, позволяющим клонировать отдельные устройства.
Clonezilla SE — это пакет, который устанавливается на дистрибутиве Linux. Он используется для одновременного клонирования множества компьютеров по сети.
5. OSFMount
Использование данной утилиты дает возможность монтировать ранее сделанные образы дисков и представлять их в виде виртуальных приводов, непосредственно просмотривая сами данные. OSFMount поддерживает файлы образов, такие как: DD, ISO, BIN, IMG, DD, 00n, NRG, SDI, AFF, AFM, AFD и VMDK.
Дополнительная функция OSFMount — создание RAM-дисков, находящихся в оперативной памяти компьютера, что существенно ускоряет работу с ними. Для запуска процесса нужно перейти в File > Mount new virtual disk.
6. Defraggler
Defraggler — бесплатная программа для дефрагментации жесткого диска, которая способствует увеличению его скорости и срока службы. Особенностью программы является возможность дефрагментации также и отдельных файлов.
Поддерживает файловые системы NTFS, FAT32 и exFAT.
7. SSDLife
SSDLife — проводит диагностику твердотельного диска, выводит на экран информацию о его состоянии и оценивает предполагаемый срок службы. Поддерживает удаленный мониторинг, управляет уровнем производительности на некоторых моделях жестких дисков.
Благодаря контролю износа SSD можно повысить уровень безопасности данных, вовремя выявлять проблемы. На основе анализа программа делает вывод насколько часто используется твердотельный диск.
8. Darik’s Boot And Nuke (DBAN)
Довольно популярная бесплатная утилита DBAN, применяется для очистки жестких дисков.
В DBAN два основных режима: интерактивный (interactive mode) и автоматический (аutomatic mode). Интерактивный режим позволяет подготовить диск к удалнию данных и выбирать необходимые опции стирания. Автоматический режим очищает все обнаруженные диски.
9. HD Tune
Утилита HD Tune предназначена для работы с жестким диском и SSD. Измеряет уровень чтения-записи HDD/SSD, сканирует ошибки, проверяет состояние диска и выводит на экран информацию о нем.
При запуске приложения, нужно выбрать диск из выпадающего списка и перейти к надлежащей вкладке, чтобы просмотреть информацию.
10. VeraCrypt
VeraCrypt — бесплатное приложение для шифрования с открытым исходным кодом. Используется шифрование на лету.
Проект VeraCrypt создался на основе TrueCrypt с целью усиления методов защиты ключей шифрования.
11. CrystalDiskInfo
CrystalDiskInfo отображает состояние жестких дисков, поддерживающих технологию S.M.A.R.T. Утилита проводит мониторинг, оценивает общее состояние и отображает детальную информацию о жестких дисках (версия прошивки, серийный номер, стандарт, интерфейс, общее время работы и т. д.). У CrystalDiskInfo есть поддержка внешних жестких дисков.
В верхней панели на экране отображаются все активные жесткие диски. Щелчок по каждому из них показывает информацию. Иконки Health Status и Temperature меняют цвет в зависимости от значения.
12. Recuva
Утилита Recuva служит для восстановления случайно удаленных или потерянных файлов. Она сканирует нужный носитель информации, после чего выводит на экран список удаленных файлов. Каждый файл имеет свои параметры (имя, тип, путь, вероятность восстановления, состояние).
Необходимые файлы определяются с помощью функции предпросмотра и отмечаются флажками. Результат поиска можно отсортировать по типу (графика, музыка, документы, видео, архивы) и сразу просмотреть содержимое.
13. TreeSize
Программа TreeSize показывает дерево находящихся на жестком диске директорий с предоставлением информации об их размерах, а также проводит анализ использования дискового пространства.
Размеры папок выводятся на экран от самых больших до самых маленьких. Таким образом становится понятно, какие папки занимают большую часть места.
Примечание: При наличии Defraggler, Recuva и TreeSize, можно инициировать функции Defraggler и Recuva для определенной папки непосредственно из TreeSize — все три приложения эффективно интегрируются.
14. HDDScan
HDDScan — утилита диагностики жесткого диска, используется для тестирования накопителей информации (HDD, RAID, Flash) с целью выявления ошибок. Просматривает S.M.A.R.T. атрибуты, выводит показания датчиков температуры жестких дисков в панель задач и выполняет сравнительный тест чтения-записи.
HDDScan предназначена для тестирования накопителей SATA, IDE, SCSI, USB, FifeWire (IEEE 1394).
15. Disk2vhd
Бесплатная утилита Disk2vhd преобразует действующую физический диск в виртуальный Virtual Hard Disk (VHD) для платформы Microsoft Hyper-V. Причем, VHD-образ можно создавать прямо с запущенной операционной системы.
Disk2vhd создает один VHD-файл для каждого диска с избранными томами, сохраняя информацию о разделах диска и копируя только те данные, которые относятся к выбранному тому.
16. NTFSWalker
Портативная утилита NTFSWalker позволяет проводить анализ всех записей (включая и удаленные данные) в главной файловой таблице MFT диска NTFS.
Наличие собственных драйверов NTFS дает возможность просматривать файловую структуру без помощи Windows на любых носителях чтения компьютера. К просмотру доступны удаленные файлы, обычные файлы, а также подробные атрибуты для каждого файла.
17. GParted
GParted — редактор дисковых разделов с открытым исходным кодом. Осуществляет эффективное и безопасное управление разделами (создание, удаление, изменение размера, перемещение, копирование, проверка) без потери данных.
GParted позволяет создавать таблицы разделов (MS-DOS или GPT), включать, отключать и изменять атрибуты, выравнивать разделы, восстанавливать данные с поврежденных разделов и многое другое.
18. SpeedFan
Компьютерная программа SpeedFan следит за показателями датчиков материнской платы, видеокарты и жёстких дисков, с возможностью регулирования скорости вращения установленных вентиляторов. Есть возможность проводить автоматическую и ручную регулировку.
SpeedFan работает с жесткими дисками с интерфейсом SATA, EIDE и SCSI.
19. MyDefrag
MyDefrag — бесплатный дисковой дефрагментатор, который используется для упорядочивания данных, размещенных на жестких дисках, дискетах, дисках USB и картах памяти.
У программы есть удобная функция работы в режиме скринсейвера, в результате чего дефрагментация будет производится во время, назначенное для запуска хранителя экрана. MyDefrag также позволяет создавать или настраивать собственные сценарии.
20. DiskCryptor
С помощью шифровальной программы DiskCryptor с открытым исходным кодом, можно полностью зашифровать диск (все дисковые разделы, включая системный).
У DiskCryptor довольно высокая производительность — это один из самых быстрых драйверов шифрования дисковых томов. Программа поддерживает FAT12, FAT16, FAT32, NTFS и exFAT файловые системы, позволяя шифровать внутренние или внешние диски.
Он магнитный. Он электрический. Он фотонный. Нет, это не новое супергеройское трио из вселенной Marvel. Речь идёт о хранении наших драгоценных цифровых данных. Нам нужно где-то их хранить, надёжно и стабильно, чтобы мы могли иметь к ним доступ и изменять за мгновение ока. Забудьте о Железном человеке и Торе — мы говорим о жёстких дисках!
Итак, давайте погрузимся в изучении анатомии устройств, которые мы сегодня используем для хранения миллиардов битов данных.
Как проверить работоспособность жесткого диска программой HDD Scan
Данная программа имеет очень широкий спектр диагностических возможностей. К счастью интерфейс очень доступно оформлен и, несмотря на английский язык, новичок, при желании, сможет разобраться в нем.
К слову сказать, здесь вы сможете проверить не только жесткий диск, но и флешку, и другие внешние USB носители.
После загрузки вы можете разархивировать программу и сразу запустить значок «HDDScan.exe», так как тут не требуется установка.
Перед вами появится такая оболочка:
Первая кнопка (S.M.A.R.T.) обозначает технологию самоконтроля жесткого диска, анализ и отчётность. Нажав на нее, вы увидите краткую информацию о состоянии вашего HDD. Все отметки должны быть зеленого цвета:
Проверяем поверхность жесткого диска.
Для того чтобы выяснить состояние поверхности диска, выберите в меню круглой кнопки пункт «Surface Test»:
Можете проверить 3 положения из 4:
- Verify – верификация данных;
- Read – чтение секторов;
- Butterfly Read – видоизмененный аналог предыдущей функции;
- Erase – стирает все данные с жесткого диска!
Наконец, чтобы получить подробную информацию о вашем Винте – нажмите в меню круглой кнопки — «Identity Info». Перед вами появится детальное описание железа:
Надеюсь, что мой подробный обзор помог тем из вас, кто никак не мог разобраться с этими вещами. Теперь вы можете знать, какая программа для проверки жесткого диска наиболее удобна и практична.
Конечно, кто-то может посоветовать другие, платные или более «умные» утилиты, но для новичка, на мой взгляд, вряд ли найти что-то лучшее. А вы как считаете?
От 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 используется для поиска и устранения сбойных секторов. Если с HPA у диска все в порядке и парольная защита не стоит, но никакими утилитами прочитать с него файлы за разумное время не удается, то пора проверять поверхности. Victoria умеет это делать в любом режиме (PIO/API) с помощью посекторного чтения (read), записи (write) и записи с проверкой (verify).
Обнаружение сбойных секторов
При восстановлении данных можно использовать только чтение, но его варианты тоже бывают разными. Простейший из них — последовательный: с первого блока до последнего. Начальное и конечное значение LBA можно указать вручную, что удобно сразу по многим причинам. Во-первых, так появляется возможность проверять диски любого объема, просто выполняя тест фрагментами до одного терабайта. Во-вторых, можно заново проверить подозрительную область и исключить внешние факторы. Victoria анализирует время обращения к сектору. Обычно у новых дисков оно не превышает 5 мс у 80% секторов. Нормальными также считаются секторы со временем опроса менее 50 мс. Те, у которых оно измеряется сотнями миллисекунд, — кандидаты в сбойные секторы.
Кандидаты в бэды
Если сектор считался спустя несколько секунд, то это однозначный bad block. Такие дисковый контроллер должен выявлять самостоятельно во время простоя и заменять их в адресной таблице исправными секторами из резервной области. Однако на практике это происходит не всегда. Victoria может попросить винчестер сделать такую операцию (Remap) для тех секторов, которые слишком долго не отвечали на запросы. Формально при этой процедуре теряется часть информации, но реально она уже была потеряна в тот момент, когда сектор стал сбойным.
В платной версии Victoria была доступна функция Restore — попытка считать данные из сбойного сектора любой ценой и последующая их перезапись на исправный сектор. Однако программа официально не поддерживается с 2008 года, поэтому приобрести ее полную версию вряд ли получится. Бесплатная Victoria не раз выручала тем, что восстанавливала HPA, сбрасывала пароли и устраняла сбойные секторы, из-за которых зависали другие программы восстановления данных.
График чтения при тесте поверхности HDD
Как бесплатная Victoria спасла секретную работу
Поделюсь с тобой еще одной историей. Лаборатория в НИИ, наше время. Аналитическим прибором управляют с компьютера, который был с ним в комплекте. На компе предустановлен очень специфический софт, который разработчики больше не поддерживают. Дистрибутива нет ни на диске, ни на сайте. Есть только установленная программа, и она перестала работать. Лаборатория выполняла исследование по многолетнему госконтракту. Без чудо-прибора сотрудники оказались связаны по рукам и ногам. Помучались и выяснили, что проблема с диском. От древности он покрылся бэдами, и нормальная работа стала невозможной. Попытка сделать клон диска с пропуском сбойных секторов не увенчалась успехом — программа клонирования зависала намертво. Прогнали диск тестом Victoria с функцией Remap. Предварительно подобрали необходимые настройки. К вечеру того же дня успешно сняли дисковый образ, а затем восстановили с него все на новый винчестер. Прибор ожил, контракт был выполнен в срок.
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
Другие статьи в выпуске:
WARNING
Вся информация приведена для ознакомления. Victoria использует низкоуровневые операции, смысл которых описан в руководстве. Редакция и автор не несут ответственности за любой возможный вред.
Чтение, запись, верификация LBA-секторов дисков MBR и GPT.
Дополнительные дисковые функции
Дополнительные функции имеют номера 41h-49h и 4Eh. Порядок работы с этими функциями существенно отличается от принятого для стандартных функций прерывания Int 13h :
• вся адресная информация передается через буфер в оперативной памяти, а не через регистры;
• соглашения об использовании регистров изменены (для обеспечения передачи новых структур данных);
• для определения дополнительных возможностей аппаратуры (параметров) используются флаги.
Пакет дискового адреса
Фундаментальной структурой данных для дополнительных функций прерывания Int I3h является так называемый «Пакет дискового адреса» (Disk Address Packet). Получив пакет дискового адреса, прерывание Int 13h преобразует содержащиеся в нем данные в физические параметры, соответствующие используемому носителю информации. Формат пакета дискового адреса описан в таблице:
Формат пакета дискового адреса:
Рассмотрим назначение отдельных полей пакета дискового адреса более подробно:
- Байт со смещением 00h содержит размер пакета дискового адреса в байтах. Размер должен составлять 16 и более байт: если значение данного поля меньше 16, то функция завершается аварийно (устанавливается CF = 1, АН = 01h).
- Байт со смещением 01h зарезервирован для последующих версий стандарта и должен содержать значение 0.
- Байт со смещением 02h содержит число блоков (секторов) данных, подлежащих передаче. Значение числа передаваемых блоков не должно превышать 127 (7Fh), в противном случае функция завершается аварийно (устанавливается CF = 1, АН = 01h).
Если поле содержит значение 0, то при выполнении функции передача данных не производится. Если поле содержит значение FFh, то используется 64-разрядная адресация данных: адрес буфера задается не двойным словом со смещением 04h, а квадрасловом со смещением 10h; число передаваемых блоков задается двойным словом со смещением 18h.
- Байт со смещением 03h зарезервирован для последующих версий стандарта и должен содержать значение 0.
- Двойное слово со смещением 04h содержит адрес буфера в оперативной памяти, который используется при работе с диском. Адрес должен быть представлен в формате «сегмент/смещение», то есть буфер должен находиться в пределах первого мегабайта адресного пространства процессора. Если данное поле содержит значение FFFF: FFFFh, то для обращения к Буферу применяется линейный адрес, который задается квадрасловом со смещением 10h.
- Квадраслово со смещением 08h содержит абсолютный 64-разрядный номер начального блока (LBA-адрес) данных на диске. Если устройство поддерживает режим LBA, то данный адрес передается ему непосредственно, без каких-либо модификаций. Если устройство не может работать в режиме LBA, то производится преобразование линейного адреса в формат CHS. Все перечисленные поля пакета дискового адреса присутствуют в стандарте с момента появления его первой версии.
В новых версиях размер пакета был увеличен вдвое (32 байта вместо 16), так как возникла необходимость в поддержке 64-разрядной адресации данных, которая будет применяться в компьютерах с новыми (64-разрядными) моделями процессоров.
- Квадраслово со смещением 10h содержит 64-разрядный линейный адрес буфера передачи, то есть буфера в оперативной Памяти, который используется при выполнении операций записи и считывания. Данное поле имеет значение только в том случае, если байт со смещением 02h содержит значение FFh или двойное слово со смещением 04h содержит значение FFFF: FFFFh.
- Двойное слово со смещением 18h задает число передаваемых блоков, но используется только в том случае, если байт со cмещением 02h содержит значение FFh.
- Двойное слово со смещением 1Ch зарезервировано для последующих версий стандарта (должно содержать значение 0).
Правила передачи параметров дополнительным функциям
При вызове прерывания дополнительным функциям BIOS передаются через регистры процессора следующие данные:
• в АН — номер вызываемой функции;
• в DL — номер диска;
• в DS: SI — адрес буфера, содержащего пакет дискового адреса.
Передача остальных параметров, как было уже указано выше, производится через пакет дискового адреса.
Дополнительные функции BIOS предназначены только для жестких дисков и дисководов сменных дисков большой емкости, причем функции рассчитаны на использование не более четырех устройств. Передаваемый функции номер диска, таким образом, должен находиться в диапазоне 80h-83h.
После выполнения функции в регистре АН выдается код состояния (статус возврата). Кроме принятого для классических функций BIOS стандартного набора кодов возврата, которые перечислены в «синей» табл., для дополнительных функций введено еще несколько кодов, перечисленных в «белой» таблице.
Коды состояния (для жестких дисков):
Прерывание Int 13h, функция 42h: расширенное чтение
Функция осуществляет передачу секторов с заданной области диска в буфер памяти.
Перед вызовом прерывания требуется записать в регистры следующие значения:
• в АН — значение 42h;
• в DL — номер дисковода;
• в DS: SI — адрес пакета дискового адреса.
После завершения операции функция возвращает в регистре АН состояние дисковой системы. В случае аварийного завершения выполнения функции поле счетчика блоков в пакете дискового адреса содержит число блоков, которые были успешно прочитаны (прочитаны до того, как произошла ошибка).
Прерывание Int 13h, функция 43h: расширенная запись
Функция осуществляет передачу секторов из буфера памяти в заданную область диска. Запись данных проводится в режиме верификации, то есть после записи выполняется проверка секторов.
Перед вызовом прерывания требуется записать в регистры следующие значения:
• в АН — значение 43h;
• в AL — код режима записи (0 или 1 — запись без верификации, 2 — запись с верификацией);
• в DL — номер дисковода;
• в DS: SI — адрес пакета дискового адреса.
После завершения операции функция возвращает в регистре АН состояние дисковой системы. В случае аварийного завершения выполнения функции поле счетчика блоков в пакете дискового адреса содержит число блоков, которые были успешно записаны (записаны до того, как произошла ошибка). Причиной аварийного завершения , данной функции может быть отсутствие у заданного устройства поддержки команды записи данных с верификацией. Проверить наличие поддержки записи с верификацией можно при помощи функции 48h.
Прерывание Int 13h, функция 44h: верификация секторов
Функция осуществляет проверку секторов на диске по их контрольным суммам (без передачи информации между диском и оперативной памятью).
Перед вызовом прерывания требуется записать в регистры следующие значения:
• в АН — значение 44h;
• в DL — номер дисковода;
• в DS: SI – адрес пакета дискового адреса.
После завершения операции функция возвращает в регистре АН состояние дисковой системы. В случае аварийного завершения выполнения функции поле счетчика блоков в пакете дискового адреса содержит число блоков, которые были успешно верифицированы (проверены до того, как произошла ошибка).
Чтение Boot-сектора первого раздела диска MBR. Пример использования дополнительной функции BIOS INT 13, функция 42h.
- с адреса 200h расположен «пакет дискового адреса» (занимает 20h байтов).
Нажимая F2 выполни ли программу:
- c адреса 240h расположен буфер в который принято содержимое LBA с адресом 3Fh (Boot-сектор: EB 3C 90 46 … ).
Какие проблемы решают за счет использования таких программ ?
1. Восстановление системных областей (MBR, BOOT). После высокоуровнего форматирования разделов HDD, cтруктуры MBR и BOOT являются константами. Их копируют, например, в секторы 3 и 5 - 0 цилиндра - 0 поверхности этого HDD, и пишут программки их восстановления из этих копий (из сектора в сектор). Или сохраняют MBR и BOOT в самих программах восстановления этих структур. Заголовок GPT (GPT Header) содержит контрольную сумму CRC32 для себя и для таблицы разделов. Эти контрольные суммы проверяются процессами EFI при загрузке машины. Из-за проверок контрольных сумм недопустима и бессмысленна модификация содержимого GPT в шестнадцатеричных редакторах. Всякое редактирование нарушит соответствие содержания контрольным суммам, после чего EFI перезапишет первичный GPT вторичным. Если же оба GPT будут содержать неверные контрольные суммы, доступ к диску станет невозможным. Работа в разделах диска GPT возможна по чтению и записи в LBA- с екторы.
2. С помощью таких программ можно «спасать» файлы используя знание структур файловых систем «вручную».
3. С помощью таких программ можно «вручную» восстанавливать правильность служебных структур файловых систем.
4. С помощью таких программ можно тестировать и проводить диагностику HDD и др. устройств, создавать условия для исследования процессов с помощью осциллографа и многое другое .
Восстановить удаленные файлы — не проблема, для этого есть десятки утилит. Но что, если накопитель поврежден, имеет ошибочное описание геометрии или доступ к нему закрыт паролем на уровне контроллера? Тогда на помощь приходит утилита Victoria. Она написана на ассемблере, занимает считаные килобайты и работает с контроллером напрямую.
Дополнительные возможности Victoria
Victoria детально анализирует состояние накопителя и может устранить практически любой сбой в его работе. Собственно, этим Victoria и отличается от массы других утилит. Если большинство программ просто показывает атрибуты SMART, то она умеет запускать принудительно целые наборы тестов самодиагностики.
Victoria обнаруживает скрытые дефекты при анализе SMART
У Victoria четыре метода и три типа тестирования поверхности (всего двенадцать режимов). В каждом она автоматически подсчитывает общее число дефектных блоков и записывает их адреса в лог. Подобно дисковому редактору, Victoria умеет показывать содержимое секторов и позволяет его менять. В режиме PIO Victoria отображает информацию о логических разделах на носителе даже в том случае, если он вообще не определяется в BIOS. Ни одна утилита с доступом через API на это не способна. Дополнительно Victoria умеет управлять уровнем акустического шума диска (AAM), регулируя скорость перемещения его головок при поиске, запускать низкоуровневое форматирование, изменять объем HDD и выполнять бенчмарки. Ее можно использовать даже для проверки физического интерфейса (состояния кабелей и портов). В домашних условиях она спасет HDD или SSD во многих сложных ситуациях, кроме тяжелых механических повреждений, требующих вскрытия гермоблока. В лаборатории справятся и с ними, используя Victoria как одну из проверенных утилит.
Паспорт диска, принудительный запуск теста SMART и управление AAM в программе Victoria 4.46b
Внешние накопители
Внешние диски — это обычные ноутбучные (2,5″) или десктопные (3,5″) модели в контейнерах с интерфейсами USB и FireWire. Они снабжаются различными контроллерами с общим названием «SATA-мост». Многие из этих мостов не транслируют низкоуровневые команды. Поэтому с одними внешними накопителями Victoria может сразу работать в режиме PIO так же, как с внутренними дисками, а с другими сначала придется помучиться. В простейшем случае будет достаточно извлечь сам диск из корпуса (гермоблок не вскрывать!) и подключить к порту напрямую.
Редкий зверь: SATA-винчестер без SATA-порта
У Western Digital и, возможно, других производителей некоторые внешние винчестеры выпускались уже с распаянным мостом SATA — USB. Поэтому обычного разъема SATA на них нет. Тем не менее их все равно можно подключить напрямую к порту, подпаяв SATA-кабель к выводам на плате диска. Чтобы понять, относится ли твой диск к такой серии, придется гуглить по номеру модели и искать даташиты.
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
Режим PIO целесообразно использовать именно для низкоуровневых команд. Простой поиск сбойных секторов и их переназначение в резервную область диска гораздо быстрее (но менее надежно) протекает в режиме API.
Ограничения режима API следующие: нельзя устанавливать и снимать пароли ATA, отключена также работа с Host Protected Area и просмотр регистров. Если какая-то из этих функций нужна, то можно переключиться в режим PIO. Бывает, что режим PIO недоступен. Это случается при использовании старых версий Victoria в 64-разрядных ОС. Еще причиной могут быть ошибки в работе с драйвером porttalk.sys или выбор режима SATA AHCI. Гарантированно выйти из положения можно следующим образом.
- Записываем загрузочную флешку
с WinPE x86 и помещаем на нее программу Victoria простым копированием. - Подключаем нужный накопитель к порту SATA/PATA, если еще не сделали этого.
- Отключаем все другие HDD или SSD (опционально).
- Заходим в CMOS setup, переключаем режим SATA-контроллера с AHCI на совместимый (compatible, native или IDE).
- Загружаем WinPE. При необходимости доустанавливаем драйверы, включая porttalk.
- Запускаем Victoria в режиме PIO, инициализируем нужный HDD или SSD и выполняем необходимую команду.
Настройки можно задать через GUI или в файле vcr40.ini. Этот же файл поможет снять блокировку работы с первичным портом. По умолчанию она включена для того, чтобы защитить системный диск от случайной модификации. Чтобы можно было выбрать Primary в списке портов, нужно сделать две вещи:
- Отключить опцию «только недеструктивные функции» и закрыть программу.
- В секции [ATA Port] файла vcr40.ini дописать строку Enable PM=1 , сохранить изменения и перезапустить программу.
Проверка жесткого диска программой SeaTools for Windows
В отличие от многих других, данная программа позволяет не только протестировать винчестер, но также и устранить проблемы неисправных секторов.
С правой стороны вы увидите три пункта меню загрузки. Первый предназначен для создания загрузочного ISO диска, и если вы знаете, что это такое, то сможете загрузить образ, записать его на диск и проверить HDD из-под загрузочного диска.
Если же вы далеки от этого, переходите ко второму или третьему пункту:
Чтобы начать загрузку программы для проверки жесткого диска, необходимо принять соглашение «I ACCEPT» о том, что вы не будете использовать данный продукт в коммерческих целях. После этого, справа вы увидите кнопку «Download»:
Установив и запустив SeaTools for Windows, мы увидим оболочку с перечнем имеющихся носителей. Слева можно выбрать конкретный жесткий диск или флешку для проверки, и активировать диагностику во вкладке «Базовые тесты».
Имейте в виду, что если вы захотите уточнить непонятные моменты, то всегда можно воспользоваться русскоязычной справкой, имеющейся тут же. Это одна из немногих программ, имеющих и русский интерфейс, и подробную справку!
Porttalk
Последние версии Victoria умеют автоматически устанавливать драйвер porttalk, однако он совершенно бесполезен в 64-разрядных системах. Дело в том, что в них ради большей безопасности убрали пару функций, которые нужны для работы porttalk и Victoria. Поэтому драйвер porttalk (и, соответственно, режим PIO) работает только в 32-битных версиях Windows, где есть функции Ke386SetIoAccessMap и Ke386IoSetAccessProcess .
You spin me right round, baby
Механический накопитель на жёстких дисках (hard disk drive, HDD) был стандартом систем хранения для компьютеров по всему миру в течение более 30 лет, но лежащие в его основе технологии намного старше.
Первый коммерческий HDD компания IBM выпустила в 1956 году, его ёмкость составляла аж 3,75 МБ. И в целом, за все эти годы общая структура накопителя не сильно изменилась. В нём по-прежнему есть диски, которые используют для хранения данных намагниченность, и есть устройства для чтения/записи этих данных. Изменился же, и очень сильно, объём данных, который можно на них хранить.
В 1987 году можно было купить HDD на 20 МБ примерно за 350 долларов; сегодня за такие же деньги можно купить 14 ТБ: в 700 000 раз больший объём.
Мы рассмотрим устройство не совсем такого размера, но тоже достойное по современным меркам: 3,5-дюймовый HDD Seagate Barracuda 3 TB, в частности, модель ST3000DM001, печально известную своим высоким процентом сбоев и вызванных этим юридических процессов. Изучаемый нами накопитель уже мёртв, поэтому это будет больше похоже на аутопсию, чем на урок анатомии.
Перевернув накопитель, мы видим печатную плату и несколько разъёмов. Разъём в верхней части платы используется для двигателя, вращающего диски, а нижние три (слева направо) — это контакты под перемычки, позволяющие настраивать накопитель под определённые конфигурации, разъём данных SATA (Serial ATA) и разъём питания SATA.
Serial ATA впервые появился в 2000 году. В настольных компьютерах это стандартная система, используемая для подключения приводов к остальной части компьютера. Спецификация формата претерпела множество ревизий, и сейчас мы пользуемся версией 3.4. Наш труп жёсткого диска имеет более старую версию, но различие заключается только в одном контакте в разъёме питания.
В подключениях передачи данных для приёма и получения данных используется дифференцированный сигнал: контакты A+ и A- используются для передачи инструкций и данных в жёсткий диск, а контакты B — для получения этих сигналов. Подобное использование спаренных проводников значительно снижает влияние на сигнал электрического шума, то есть устройство может работать быстрее.
Если говорить о питании, то мы видим, что в разъёме есть по паре контактов каждого напряжения (+3.3, +5 и +12V); однако большинство из них не используется, потому что HDD не требуется много питания. Эта конкретная модель Seagate при активной нагрузке использует менее 10 Вт. Контакты, помеченные как PC, используются для precharge: эта функция позволяет вытаскивать и подключать жёсткий диск, пока компьютер продолжает работать (это называется горячей заменой (hot swapping)).
Контакт с меткой PWDIS позволяет удалённо перезагружать (remote reset) жёсткий диск, но эта функция поддерживается только с версии SATA 3.3, поэтому в моём диске это просто ещё одна линия питания +3.3V. А последний контакт, помеченный как SSU, просто сообщает компьютеру, поддерживает ли жёсткий диск технологию последовательной раскрутки шпинделей staggered spin up.
Перед тем, как компьютер сможет их использовать, диски внутри устройства (которые мы скоро увидим), должны раскрутиться до полной скорости. Но если в машине установлено много жёстких дисков, то внезапный одновременный запрос питания может навредить системе. Постепенная раскрутка шпинделей полностью устраняет возможность таких проблем, но при этом перед получением полного доступа к HDD придётся подождать несколько секунд.
Сняв печатную плату, можно увидеть, как она соединяется с компонентами внутри устройства. HDD не герметичны, за исключением устройств с очень большими ёмкостями — в них вместо воздуха используется гелий, потому что он намного менее плотный и создаёт меньше проблем в накопителях с большим количеством дисков. С другой стороны, не стоит и подвергать обычные накопители открытому воздействию окружающей среды.
Благодаря использованию таких разъёмов минимизируется количество входных точек, через которые внутрь накопителя могут попасть грязь и пыль; в металлическом корпусе есть отверстие (большая белая точка в левом нижнем углу изображения), позволяющее сохранять внутри давление окружающей среды.
Теперь, когда печатная плата снята, давайте посмотрим, что находится внутри. Тут есть четыре основных чипа:
- LSI B64002: чип основного контроллера, обрабатывающий инструкции, передающий потоки данных внутрь и наружу, корректирующий ошибки и т.п.
- Samsung K4T51163QJ: 64 МБ DDR2 SDRAM с тактовой частотой 800 МГц, используемые для кэширования данных
- Smooth MCKXL: управляет двигателем, крутящим диски
- Winbond 25Q40BWS05: 500 КБ последовательной флеш-памяти, используемой для хранения встроенного ПО накопителя (немного похожего на BIOS компьютера)
Открыть накопитель просто, достаточно открутить несколько болтов Torx и вуаля! Мы внутри…
Учитывая, что он занимает основную часть устройства, наше внимание сразу привлекает большой металлический круг; несложно понять, почему накопители называются дисковыми. Правильно их называть пластинами; они изготавливаются из стекла или алюминия и покрываются несколькими слоями различных материалов. Этот накопитель на 3 ТБ имеет три пластины, то есть на каждой стороне одной пластины должно храниться 500 ГБ.
Изображение довольно пыльное, такие грязные пластины не соответствуют точности проектирования и производства, необходимого для их изготовления. В нашем примере HDD сам алюминиевый диск имеет толщину 0,04 дюйма (1 мм), но отполирован до такой степени, что средняя высота отклонений на поверхности меньше 0,000001 дюйма (примерно 30 нм).
Базовый слой имеет глубину всего 0,0004 дюйма (10 микронов) и состоит из нескольких слоёв материалов, нанесённых на металл. Нанесение выполняется при помощи химического никелирования с последующим вакуумным напылением, подготавливающих диск для основных магнитных материалов, используемых для хранения цифровых данных.
Этот материал обычно является сложным кобальтовым сплавом и составлен из концентрических кругов, каждый из которых примерно 0,00001 дюйма (примерно 250 нм) в ширину и 0,000001 дюйма (25 нм) в глубину. На микроуровне сплавы металлов образуют зёрна, похожие на мыльные пузыри на поверхности воды.
Каждое зерно обладает собственным магнитным полем, но его можно преобразовать в заданном направлении. Группирование таких полей приводит к возникновению битов данных (0 и 1). Если вы хотите подробнее узнать об этой теме, то прочитайте этот документ Йельского университета. Последними покрытиями становятся слой углерода для защиты, а потом полимер для снижения контактного трения. Вместе их толщина составляет не больше 0,0000005 дюйма (12 нм).
Скоро мы увидим, почему пластины должны изготавливаться с такими строгими допусками, но всё-таки удивительно осознавать, что всего за 15 долларов можно стать гордым владельцем устройства, изготовленного с нанометровой точностью!
Однако давайте снова вернёмся к самому HDD и посмотрим, что же в нём есть ещё.
Жёлтым цветом показана металлическая крышка, надёжно крепящая пластину к электродвигателю привода шпинделя — электроприводу, вращающему диски. В этом HDD они вращаются с частотой 7200 rpm (оборотов/мин), но в других моделях могут работать медленнее. Медленные накопители имеют пониженный шум и энергопотребление, но и меньшую скорость, а более быстрые накопители могут достигать скорости 15 000 rpm.
Чтобы снизить урон, наносимый пылью и влагой воздуха, используется фильтр рециркуляции (зелёный квадрат), собирающий мелкие частицы и удерживающий их внутри. Воздух, перемещаемый вращением пластин, обеспечивает постоянный поток через фильтр. Над дисками и рядом с фильтром есть один из трёх разделителей пластин: помогающих снижать вибрации и поддерживать как можно более равномерный поток воздуха.
В левой верхней части изображения синим квадратом указан один из двух постоянных стержневых магнитов. Они обеспечивают магнитное поле, необходимое для перемещения компонента, указанного красным цветом. Давайте отделим эти детали, чтобы видеть их лучше.
То, что выглядит как белый пластырь — это ещё один фильтр, только он очищает частицы и газы, попадающие снаружи через отверстие, которое мы видели выше. Металлические шипы — это рычаги перемещения головок, на которых находятся головки чтения-записи жёсткого диска. Они с огромной скоростью движутся по поверхности пластин (верхней и нижней).
Посмотрите это видео, созданное The Slow Mo Guys, чтобы увидеть, насколько они быстрые:
В конструкции не используется чего-то вроде шагового электродвигателя; для перемещения рычагов по соленоиду в основании рычагов проводится электрический ток.
Обобщённо их называют звуковыми катушками, потому что они используют тот же принцип, который применяется в динамиках и микрофонах для перемещения мембран. Ток генерирует вокруг них магнитное поле, которое реагирует на поле, созданное стержневыми постоянными магнитами.
Не забывайте, что дорожки данных крошечны, поэтому позиционирование рычагов должно быть чрезвычайно точным, как и всё остальное в накопителе. У некоторых жёстких дисков есть многоступенчатые рычаги, которые вносят небольшие изменения в направление только одной части целого рычага.
В некоторых жёстких дисках дорожки данных накладываются друг на друга. Эта технология называется черепичной магнитной записью (shingled magnetic recording), и её требования к точности и позиционированию (то есть к попаданию постоянно в одну точку) ещё строже.
На самом конце рычагов есть очень чувствительные головки чтения-записи. В нашем HDD содержится 3 пластины и 6 головок, и каждая из них плавает над диском при его вращении. Для этого головки подвешены на сверхтонких полосках металла.
И здесь мы можем увидеть, почему умер наш анатомический образец — по крайней мере одна из головок разболталась, и что бы ни вызвало изначальный повреждение, оно также погнуло один из рычагов. Весь компонент головки настолько мал, что, как видно ниже, очень сложно получить её качественный снимок обычной камерой.
Однако мы можем разобрать отдельные части. Серый блок — это специально изготовленная деталь под названием «слайдер»: когда диск вращается под ним, поток воздуха создаёт подъёмную силу, поднимая головку от поверхности. И когда мы говорим «поднимает», то имеем в виду зазор шириной всего 0,0000002 дюйма или меньше 5 нм.
Чуть дальше, и головки не смогут распознавать изменения магнитных полей дорожки; если бы головки лежали на поверхности, то просто поцарапали бы покрытие. Именно поэтому нужно фильтровать воздух внутри корпуса накопителя: пыль и влага на поверхности диска просто сломают головки.
Крошечный металлический «шест» на конце головки помогает с общей аэродинамикой. Однако чтобы увидеть части, выполняющие чтение и запись, нам нужна фотография получше.
На этом изображении другого жёсткого диска устройства чтения и записи находятся под всеми электрическими соединениями. Запись выполняется системой тонкоплёночной индуктивности (thin film induction, TFI), а чтение — туннельным магнеторезистивным устройством (tunneling magnetoresistive device, TMR).
Создаваемые TMR сигналы очень слабы и перед отправкой должны проходить через усилитель для повышения уровней. Отвечающий за это чип находится рядом с основанием рычагов на изображении ниже.
Как сказано во введении к статье, механические компоненты и принцип работы жёсткого диска почти не изменились за многие годы. Больше всего совершенствовалась технология магнитных дорожек и головок чтения-записи, создавая всё более узкие и плотные дорожки, что в конечном итоге приводило к увеличению объёма хранимой информации.
Однако механические жёсткие диски имеют очевидные ограничения скорости. На перемещение рычагов в нужное положение требуется время, а если данные разбросаны по разным дорожкам на различных пластинах, то на поиски битов накопитель будет тратить довольно много микросекунд.
Прежде чем переходить к другому типу накопителей, давайте укажем ориентировочные показатели скорости типичного HDD. Мы использовали бенчмарк CrystalDiskMark для оценки жёсткого диска WD 3.5" 5400 RPM 2 TB:
В первых двух строчках указано количество МБ в секунду при выполнении последовательных (длинный, непрерывный список) и случайных (переходы по всему накопителю) чтения и записи. В следующей строке показано значение IOPS, то есть количество операций ввода-вывода, выполняемых каждую секунду. В последней строке показана средняя задержка (время в микросекундах) между передачей операции чтения или записи и получением значений данных.
В общем случае мы стремимся к тому, чтобы значения в первых трёх строчках были как можно больше, а в последней строчке — как можно меньше. Не беспокойтесь о самих числах, мы просто используем их для сравнения, когда будем рассматривать другой тип накопителя: твердотельный накопитель.
Наверняка каждый обладатель компьютера сталкивался с тем, что ему была нужна программа для проверки жесткого диска (HDD). Ведь никто не хочет в один миг потерять данные, которые собирались долгие годы.
Если же ваш винчестер начал издавать непривычные звуки или еще как-то обращать на себя внимание, то это первый сигнал к тому, чтобы сделать проверку. Давайте рассмотрим несколько бесплатных и наиболее удобных программ для диагностики HDD.
Пароли
Одна из наиболее востребованных низкоуровневых команд в режиме 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? Предполагаю, потому, что у этого диска были какие-то специфические особенности, неизвестные мне или универсальной программе.
Заключение
Читайте также: