Zero filling hdd что это
Жесткий диск, он же винчестер, не такое уж и простое устройство, каким может показаться на первый взгляд. За всю историю своего существования, начиная с 1956 года, накопители претерпели огромное количество изменений. Теперь это не просто пластина и считывающие головки, а целая система со своей логикой и программным обеспечением, а следовательно, со своими фичами и секретами. В этой статье мы попробуем разобраться, что собой представляет современный жесткий диск, а также попытаемся расширить его стандартные возможности для своих хакерских целей.
Готовимся
Первоначально диск должен инициализироваться программой, что вполне логично. После этого производится сканирование поверхности, которое дает понимание текущего положения дел: MHDD покажет состояние поверхности харда. Затем нужно будет отформатировать диск и провести проверку еще раз. Обычно на этом этапе софт-бэды пропадают, и остаются только хардварные. Далее можно будет выполнить процедуру REMAP, чтобы бэд-блоки переназначить в служебную область.
Главная проблема в том, что служебная область не резиновая, и даже после всех операций за диском нужно смотреть. Если бэд-блоки продолжают появляться, то диск, как ни старайся, уже не жилец. Но в более удачных случаях этот способ должен помочь. Как показывает практика, после ремапа диск может проработать еще очень много времени и даже пережить соседей по корзине. В другие разы он умирает сразу же после перезагрузки — тут уж как повезет, и предсказать эффект практически невозможно.
Почему BOOTICE
Преимущество BOOTICE, в том, что при размере исполняемого файла ~500 KB, вы получаете в свое распоряжение инструмент обладающий просто огромными возможностями по созданию загрузочных устройств, и не только. В это "и не только", как раз входит возможность затирания диска.
Весь процесс осуществляется в удобном графическом интерфейсе, что намного удобнее использования к примеру программы dd для этих целей.
Заключение
Однако настало время закругляться. В этой статье я попытался показать неизведанные уголки и возможности жесткого диска. Не углубляясь в код, мы рассмотрели способ слива информации с накопителя. Если даже слегка приподнять этот занавес, открывается огромное поле для полета фантазии. Можно, например, перепрошить контроллер, чтобы скрыть от посторонних глаз особо важный раздел. Или портить данные при попытке клонировать жесткий диск, обезопасив себя таким образом от криминалистических утилит. Одним словом, вариантов много, так что каким образом использовать жесткий диск — выбор за тобой.
Представим ситуацию, что вам необходимо избавиться от данных на диске без возможности их последующего восстановления. Например, вы решили продать жесткий диск, либо целиком компьютер, и вы не хотите чтобы после ваши данные мог кто-либо восстановить. Единственный верный способ, в данном случае, это полностью затереть каждый сектор диска нулями, или же случайными значениями. Есть множество инструментов для выполнения подобного рода процедур, и BOOTICE является одной из них.
WARNING
Вся информация предоставлена исключительно в ознакомительных целях. Ни редакция, ни автор не несут ответственности за любой возможный вред, причиненный материалами данной статьи.
Conclusion
When you want to write zeros to a hard drive for wiping data, you can refer to the two solutions mentioned above. Compared to the format command, AOMEI Partition Assistant saves much efforts and time for you. Other than zero-filling a hard drive, you can also change partition type ID and remove write protection on micro SD card Samsung with AOMEI Partition Assistant. Why not give it a try right now?
Запись информации в сервисные разделы HDD
В любом жестком диске присутствуют сервисные разделы. Они предназначены для хранения служебных программ винчестера, таких как S.M.A.R.T., модули раннего обнаружения ошибок, модули самодиагностики и так далее. К счастью, все эти данные не занимают выделенное место полностью, а значит, при правильном подходе мы можем использовать это бонусное пространство. Сервисные разделы не следует путать с DCO или HPA, которые могут быть легко обнаружены и доступны через стандартные ATA-команды.
В отличие от остальных методов скрытия информации запись в сервисный раздел не оставляет за собой никаких следов и незаметна для специальных программ поиска, которыми пользуются правоохранительные органы. Одним словом, это место идеально подойдет для хранения текстовых файлов с адресами, паролями, явками и прочего.
Для доступа к информации из сервисных разделов не подойдут стандартные ATA-команды, вместо этого для записи и чтения используются специальные команды VSC (Vendor Specific Commands). Как правило, производители держат в секрете эти команды, но порой выпускают утилиты для работы с сервисными разделами — например, программа wdidle3.exe от компании Western Digital и ее опенсорсный аналог idle3-tools. Еще один пример для WD — программа HDDHackr, меняющая записи в системных разделах HD.
WARNING
Данные в сервисных разделах очень важны для правильной работы винчестера. Повреждение записанной информации ведет к потере работоспособности диска. Восстановить ее будет не так уж и просто — для перезаписи данных в сервисных разделах понадобятся специализированные программы (например, Ace Laboratory PC3000).
Объем сервисного раздела зависит от модели винчестера. Например, в диске WD2500KS-00MJB0 семейства Hawk объемом 250 Гб (прошивка 02AEC) в сервисный раздел записывается две копии файлов, около 6 Мб каждая. Размер зоны на каждой поверхности составляет около 23 Mб (64 трека по 720 секторов на каждом). Поскольку этот диск имеет шесть поверхностей (головки от 0 до 5), модули сервисных разделов располагаются на месте, сопоставленном с головками 0 и 1, а место, закрепленное за головками со 2 по 5, зарезервировано, но не используется. Таким образом, зарезервированный раздел занимает около 141 Мб, из которых 12 Мб находится в использовании.
Для сравнения: модель WD10EACS-00ZJB0, емкостью в терабайт и с восемью поверхностями, имеет зарезервированное пространство 450 Мб, из которых занято 52 Мб. Ариэль Беркман (Ariel Berkman) из компании Recover Information Technologies LTD написал статью о работе с сервисными отделами HDD, а также выложил PoC-код для записи 94 Мб информации в сервисный отдел диска Western Digital 250GB Hawk. Делается это следующим образом:
- Узнаем свой SATA IO адрес, используя lspci -v .
- Для компиляции используем команду gcc -Wall -O -g -o SA-cover-poc SA-cover-poc.c .
- Создаем рандомный файл (94 Мб в размере) и вычисляем его MD5-хеш.
- Записываем файл в сервисный раздел.
- Очищаем винчестер с помощью команды dd-ing /dev/zero , которую следует распространить на весь жесткий диск (или на отдельную часть, предварительно заблокировав доступ к остальному). Достаточно один раз прогнать этот код, чтобы уничтожить данные безвозвратно.
- Читаем содержимое сервисного раздела, вычисляем его хеш и убеждаемся в целостности данных.
Автор предупреждает, что его код может привести к потере данных и выходу из строя жесткого диска, так что использовать этот метод можно только на свой страх и риск.
How to write zeros to a hard drive effortlessly?
Here I’m going to show you two efficient solutions to zero fill a hard drive. Learn detailed steps below:
Восстанавливаем
Если сканирование выявило ошибки, первое, что необходимо сделать, — скопировать все данные с накопителя (если они, конечно, тебе нужны). В моем случае это было неактуально. Затем нужно полностью очистить поверхность при помощи команды ERASE , которая стирает каждый сектор на накопителе.
Выполнение команды ERASE
Накопитель пересчитает поля ECC для каждого сектора. Это помогает избавиться от так называемых soft-bad-блоков. Если стирание не помогло, запускаем сканирование с включенной опцией REMAP.
Процесс ремапа
Если видишь, что каждый блок содержит ошибку, не пытайся стирать накопитель или сканировать с включенной опцией REMAP. Скорее всего, у накопителя повреждена служебная область, и это не может быть исправлено стандартными командами MHDD.
Внимательный читатель, посмотрев на картинки сканирования диска, вероятно, присвистнул и сокрушенно покачал головой. Да, мой диск, пока я писал статью, умер окончательно. Количество хардварных бэдов превысило все допустимые пределы, и к набиванию последних строк статьи он уже хрустел, как трактор «Беларусь». Это к слову о том, что если диск начинает сыпаться, то доверять ему нельзя, особенно если появляются хардварные бэды. Ремап сможет помочь тогда, когда диск еще не начал активно сыпаться, но на поверхности возникли дефекты. В любом случае, даже если починить удалось, используй такой диск только для некритичных данных и ни в коем случае не как основной.
Не убий
Угробить диск значительно проще, чем восстановить его. К примеру, каждому известно (или должно быть известно), что к печальным последствиям ведет отсоединение шлейфа во время работы. Также крайне не рекомендуем бездумно переключать флаги и выполнять команды в MHDD. Внимательно читай документацию и не начинай что-то делать, если до конца не понимаешь, к чему это может привести.
Что ж, можно приступать к делу! Для начала создаем загрузочную флешку. Для этого я рекомендую USB Tools — полная инструкция и сам DOS есть вот здесь. Когда носитель готов, остается только бросить в его корень MHDD, чтобы лишний раз не лазить по директориям из командной строки.
Чтобы диск, подключенный на первый канал, точно отображался, нужно подредактировать конфиг mhdd.cfg, который лежит в папке CFG.
Как я уже говорил, сканирование любого устройства возможно, только если оно определяется командами ID или EID (или нажатием F2).
Определяем наш жесткий диск
О чем сигнализируют индикаторы
- BUSY — накопитель занят и на команды не реагирует;
- WRFT — ошибка записи;
- DREQ — накопитель жаждет обменяться данными с внешним миром;
- ERR — возникла ошибка в результате какой-либо операции.
Когда загорается ERR, смотри в правую верхнюю часть экрана: там будет отображен тип последней ошибки:
- AMNF — Address Mark Not Found — обращение к какому-то конкретному сектору не удалось. Скорее всего, означает, что сектор поврежден. Однако сразу после включения накопителя как раз наоборот — свидетельствует об отсутствии проблем и сообщает об успешном выполнении внутренней диагностики;
- T0NF — Track 0 Not Found — не найден нулевой трек;
- ABRT — Abort, команда отвергнута;
- IDNF — Sector ID Not found;
- UNCR — Uncorrectable Error, ошибка, не скорректированная кодом ECC. Скорее всего, в этом месте логический бэд-блок.
Вверху могут появляться еще два индикатора: PWD сигнализирует об установленном аппаратном пароле, HPА появляется в том случае, если размер накопителя был изменен с помощью команды HPA (обычно используется для скрытия бэд-блоков в конце диска).
Полное форматирование является простым и надёжным способом удалить с носителя все данные без возможности восстановления. При этом все сектора накопителя перезаписываются — заполняются нулями. Полностью очистить диск или флешку можно средствами одной Windows, используя команду clean all консольной утилиты Diskpart, также для этих целей можно воспользоваться сторонними инструментами, например, утилитой Bootice .
Предназначается эта программка для создания загрузочных и установочных флешек, а также восстановления MBR и PBR , но с таким же успехом её можно использовать для посекторного форматирования разных носителей и исправления имеющихся на них бэд-блоков. Рассмотрим эту функцию Bootice на примере «обнуления» накопителя объёмом 4 Гб, на котором записаны некие данные.
Запускаем утилиту, выбираем на вкладке «Physical disk» накопитель, который нужно отформатировать и жмём кнопку «Sector Edit».
Как видно из скриншота, выбранный диск заполнен данными.
Удалим их, заполнив все сектора нулями. Закрываем окно с кодом, переключаемся в главном окне утилиты на вкладку «Utilites», жмём кнопку «Sеlеct device» и ещё раз выбираем очищаемый диск.
Далее нужно убедиться, что чекбокс «Physical disk» включён. В поле «Start LBA» оставляем 0, в поле «Sectors» стираем 1 и оставляем появившиеся там цифры — число имеющихся на диске секторов. Готово, жмём кнопку «Start Filling».
Будет запущена процедура перезаписи секторов. Работает утилита быстро, но на обработку носителя всё же понадобится некоторое время. По завершении очистки Bootice выведет уведомление. Если вы теперь откроете встроенный редактор, то увидите, что все сектора носителя сплошь заполнены нулями.
А теперь внимание. Перезаписанный с помощью программы диск нужно будет проинициализировать повторно, иначе он будет недоступен в Проводнике.
Можно ли с помощью Bootice очистить диск с установленной системой? Из-под работающей Windows, разумеется, нет, более того, при этом вы рискуете получить ошибку, вследствие которой компьютер будет перезагружен в аварийном режиме. Зато вы можете загрузиться с носителя Live CD AOMEI PE Builder , в состав которого Bootice входит, и произвести очистку оттуда. Так как загрузится утилита только в память, доступ к базовому диску ничем ограничен не будет и вы легко сможете перезаписать все его сектора.
Are you in need of wiping data from an internal or external hard drive? You may take the Write Zero method. Learn how to write zeros to a hard drive easily from this page.
By Emily / Last Updated March 4, 2022
Программы для восстановления HDD
При низкоуровневых экспериментах возможно столкнуться с такой неприятностью, как поломка винчестера. Не стоит сразу прибегать к драконовским мерам и форматировать диск, можно попробовать восстановить его работоспособность с помощью некоторых программ.
- TestDisk — самая простая и эффективная программа для восстановления HDD. Предназначена для поиска и реконструкции потерянных разделов, загрузочного сектора, удаленных файлов; исправляет таблицу разделов. Работает с большим количеством файловых систем. Работает в консольном режиме, чем достигается высокая скорость.
- Acronis Disk Director — целый программный пакет, в который включено немалое количество инструментов для работы с HDD. Содержит в себе утилиту Acronis Recovery Expert, которая служит для реконструкции файлов и разделов. В отличие от предыдущей программы имеет графический интерфейс, но работает с меньшим количеством файловых систем.
- Paragon Partition Manager — бесплатная программа от отечественных разработчиков, умеет почти все то же самое, что и Acronis, но ужасно медленная.
Рис. 6. Восстанавливаем поврежденные разделы с помощью TestDisk
Solution 1: zero fill hard drive via Command Prompt
To write zeros to a hard drive so as to erase all the data, you can format the drive in a special way using the format command from the Command Prompt. Follow the instructions below:
1. Tap the Search button on the taskbar and type “cmd” in the search box. Right-click “cmd” and select “Run as administrator”.
2. Type format g: /fs:NTFS /p:0 and press Enter to format the G drive with the NTFS file system and write zeros to every sector of the drive once. You can change the drive letter and file system based on your need.
3. Type y and press Enter to confirm erase data.
4. Wait until the format process is completed.
Tips: Formatting a drive of any size may take a long time. The lager the drive is, the longer time it will take. Don’t worry if the percent completed doesn’t reach 1 percent for several seconds or even several minutes.
5. After the format, type a name for the drive as volume label, or don’t, and then press Enter.
6. Wait while “Creating file system structures” is displayed on the screen.
7. Once the prompt returns, repeat the above steps for any other partitions on this physical hard drive. You can skip this step if there is only one partition on the hard drive
8. Type exit and press Enter to exit Command Prompt.
Меняем прошивку
Подобные манипуляции с жестким диском требуют значительных усилий, и вряд ли кто-нибудь добровольно отдаст свой накопитель для взлома. Поэтому было бы неплохо найти способ перепрошивки винчестера без каких-либо посторонних устройств или снятия чипа.
У компании Western Digital есть специальные программные утилиты для работы с жестким диском — это инструменты, работающие под DOS, которые могут загрузить новую прошивку контроллера, микросхемы флеш-памяти или сервисного раздела. Инструменты используют так называемые Vendor Specific Commands (VSC), впрочем, об этом чуть позже.
Также есть набор инструментов под названием idle3-tools, которые можно взять на вооружение для модификации прошивки жесткого диска. Он также использует VSC, применяя Linux SCSI PassThrough IOCTLs. Джероен взял этот код, изменил его и интегрировал в fwtool. После этой модификации fwtool научился читать и писать на микросхему флеш-памяти.
Теперь если хакер каким-то образом сможет воспользоваться fwtool на удаленной машине, то получит возможность сбросить флеш-память диска, изменить ее и «зашить» обратно. Правда, в конце концов владелец узнает о взломе и, вероятно, переустановит систему, но злоумышленник может внедрить что-нибудь, что проявит себя и после переустановки. Например, подождать, пока машина зачитывает из файла /etc/shadow/ , где хранятся все пароли в системах UNIX/Linux, и изменить содержимое. После чего можно будет просто войти под своим паролем.
Кстати говоря, описанная методика может служить не только для подпольных экспериментов, но и для целей защиты. Например, можно создать неклонируемый жесткий диск, который будет работать нормально, если шаблон доступа секторов, как обычно, окажется случайным. Если же винчестер будет доступен только последовательно, то данные будут испорчены, что сделает клон отличным от оригинала.
Кстати говоря, Джероен решил поделиться результатами своих исследований и выложил почти весь исходный код на своем сайте.
Копнем глубже
Наш зарубежный коллега Джероен «Sprite_tm» Домбург нашел интересный выход из данной ситуации — для исследования контроллера он использовал интерфейс JTAG (от англ. Joint Test Action Group). Этот интерфейс предназначен для тестирования и отладки печатных плат. То есть с помощью JTAG мы можем спокойно подключиться к интересующему нас устройству, поддерживающему стандарт IEEE 1149. В микросхему интегрируется порт тестирования (TAP — Test Access Port), состоящий из четырех или пяти выводов: TDI, TDO, TMS, TCK и, возможно, TRST. Расположение этих выводов для контроллера Marvell нашел некий dex, любезно поделившийся результатами на форуме HDDGURU.
Джероен выяснил, что у контроллеров Western Digital есть ARM-ядро, доступное через JTAG-порт. А также последовательный порт, который обычно не используется, но может быть полезен для наших целей.
Для исследования контроллера жесткого диска использовалась плата FT2232H, которую можно заказать в интернете за 30 евро. Она поддерживает JTAG, связь через последовательный порт, а также SPI. Для работы с ней использовалась программа OpenOCD.
В результате оказалось, что у микросхемы есть целых три ядра. Два Feroceon, которые являются довольно сильными ARM9-подобными ядрами, и Cortex-M3, которое немного слабее. У всех ядер разное предназначение:
- Feroceon 1 обрабатывает физические чтение/запись на жесткий диск;
- Feroceon 2 -обрабатывает SATA-интерфейс, кеш и преобразует LBA в CHS;
- Cortex-M3 — предназначение неизвестно. Можно просто остановить его, но жесткий диск будет продолжать работать.
Так как мы ставили перед собой цель использовать жесткий диск для своих коварных целей, то самое время подумать о модернизации его прошивки. Самый простой и, вероятно, сложный в обнаружении способ — изменять данные на лету. Чтобы сделать это, нужно найти подходящее ядро — ядро, которое имеет доступ к данным, путешествующим между диском и SATA-кабелем.
Для доступа к ядру можно использовать режим DMA (Direct Memory Access). Это такой режим, когда обмен данных происходит непосредственно с головки считывания в память, без активного участия процессора. То же самое относится и к SATA-порту: процессору нужно только указать, где данные, и логика DMA позаботится о чтении информации непосредственно из памяти.
Источником информации в этом случае послужит кеш-память винчестера из-за ее хорошего расположения: данные, считанные с диска, будут в кеше, так что их можно будет сразу оттуда скопировать.
Способ довольно сложный — неудобно каждый раз подключаться через JTAG и ковыряться в кеше во время работы жесткого диска. Вместо этого для сохранения доступа без подключения дополнительной платы можно перепрошить микросхему флеш-памяти, выпаяв и подключив к программатору.
Однако было бы сложно модернизировать код из-за неизвестного алгоритма сжатия, вместо этого можно просто изменить адрес выполнения и добавить специальный блок, который будет прочитан раньше остальных. Это делает положение дел немного проще.
В результате своего исследования Джероен создал инструмент fwtool, который может сбрасывать различные блоки во флеше и переводить код в текстовый файл. Затем можно изменить, удалить или добавить блок и вновь собрать все в одном файле прошивки, который потом спокойно загрузить во флеш.
Обнуление Диска
Так почему же все таки обнуление диска? Процедура заполнения диска нулями, или любимы другими случайными значениями, позволяет полностью, избавится от имеющихся данных. Простое удаление разделов, или выполнение операции очистки таблицы разделов, на подобии diskpart clean , не избавляют носитель от имеющейся информации на нем. Примеры восстановления разделов на носителе с удаленной таблицей разделов рассматривались тут.
Перейдем собственно процессу обнуления диска. В качестве тестового диска я буду использовать обычную USB флешку объёмом в 16 GB. Перед началом всех действий взглянем на содержимое флешки с помощью HEX-редактора HxD.
Сектор 0. Запись MBR, после которой 2047 нулевых секторов, или отступ до первого раздела.
Сектор 2048. Первый раздел.
Сектор 99920. Содержимое текстового файла.
Запускаем BOOTICE и переходим на вкладку Utilites.
В секции Disk Sectors Filling нажимаем на кнопку Select a device. Откроется окно Fill Disk Sectors.
Взглянем на него более детально. Секция Filling object позволяет нам выбрать объект записи. Им может быть как физический диск.
Так и логический диск.
Такое разграничение весьма удобно, если вы точно уверенны в том, что необходимые для удаления данные хранятся именно на конкретном разделе. При этом начальный и конечный сектора заполнения будут равны внутренним границам указанного раздела.
Независимо от выбора типа объекта заполнения, будут доступны параметры указания диапазона заполнения. Находятся они в секции Sectors scope.
Параметр Start LBA позволяет указать начальный сектор заполнения. По умолчанию там указана цифра 0, что означат первый сектор от начала диска/раздела.
Параметр Sectors позволяет указать количество секторов которые будут записаны от начального сектора. По умолчанию значение данного параметра выставлено в 1 сектор. Если вы ходите указать весь диапазон секторов диска/раздела, то в качестве значения необходимо вписать 0. При этом необходимое значение подставится автоматически.
Параметр End LBA отображает номер конечного сектора. Так как отсчет идет от нуля, введенное значение параметра Sectors будет всегда на единицу меньше.
Параметр Tot. Secs отображает количество секторов текущего диска/раздела.
И последняя секция, Filling character. В данной секции вы можете указать шестнадцатеричное значение байта которым будут записаны сектора диска. По умолчание это 00, параметр Fill with 00.
Из доступных опций, вы можете выбрать заполнение значением FF (второй пункт Fill with FF), либо указать свое значение для заполнения (пункт Custom hex value).
После выставления необходимых параметров, можно выполнить запуск процесса заполнения диска. В моем случае это будет значение BD, в качестве символики имени сайта. Нажимаем кнопку Start Filling для начала операции.
Программа запросит подтверждение на выполнение процедуры затирания диска. На этом этапе у вас есть возможность отменить данную процедуру, если же все верно, то нажимаем OK. Начнется процесс записи.
Прогресс выполнения операции будет отображен соответствующим прогресс баром внизу окна. Числовое отображение прогресса при этом будет отображаться в заголовке окна.
Внимание! Если при старте операции у вас возникает ошибка "Отказано в доступе", убедитесь что вы закрыли все программы использующие целевой диск.
Процесс может занять продолжительное время, все зависит от скоростных характеристик целевого накопителя.
Теперь осталось просмотреть содержимое диска. Запускаем HxD и открываем USB флешку.
Сектор 2048.
Сектор 99920.
Последний сектор.
Диск полностью перезаписан значением BD.
В статье было рассмотрено: Как затереть диск с помощью программы BOOTICE? Как выполнить запись диска нулями с помощью программы BOOTICE? Как выполнить низкоуровневое форматирование с помощью программы BOOTICE?
Disk boot failure, insert system disk and press enter. Надпись, от которой по спине начинается шествие легионов мурашек, каждая сама размером с жесткий диск. По закону подлости происходит это, когда ничто не предвещает беды. Но не спеши судорожно перезапускать систему — это игра в русскую рулетку. Лучше загрузиться с другого носителя и взяться за тщательную проверку. Поможет в этом испытанный инструмент — MHDD.
Введение
Если SMART показывает проблемы, чаще всего это означает одно: диск вот-вот начнет сыпаться, и повлиять может даже лишняя загрузка ОС. Следующее, что нужно понять, — это софтверные на нем «бэды» или хардварные. Если хардварных не так много, то диск еще можно попытаться вернуть к жизни.
Думаю, ты слышал о таких продуктах, как MHDD и Victoria. Они незаменимы для низкоуровневой работы с жестким диском и помогут тебе совершить великие подвиги в восстановлении и диагностике. О Victoria «Хакер» уже писал пару выпусков назад, теперь настало время разобраться со второй — архаичной, но по-прежнему мегаполезной утилитой.
MHDD — это небольшая, но мощная бесплатная программа, которая предназначена для работы с накопителями на самом низком уровне (насколько это возможно). Первая версия была выпущена Дмитрием Постриганем в 2000 году. Она могла сканировать поверхность накопителя с интерфейсом IDE в режиме CHS. Сейчас MHDD — это значительно больше, чем диагностика. С MHDD ты можешь делать все что угодно: диагностировать накопители, выполнять чтение и запись произвольных секторов, управлять системой SMART, парольной системой, системой управления шумовыми характеристиками, а также изменять размер накопителя.
Несмотря на то что работа с MHDD возможна и через установленную Windows, я крайне рекомендую записать образ на флешку или внешний (или второй загрузочный) диск и загрузить оттуда голый DOS. Поверь, в хардварном вопросе лучше максимально исключить все звенья цепи, которые могут привести к глюкам или зависанию компьютера во время работы.
Содержание
Терминальный режим жесткого диска
При работе в терминальном режиме пользователь может взаимодействовать с жестким диском посредством диагностических команд. Этот метод применяется для диагностики и ремонта накопителей Seagate и Toshiba, в Western Digital такая возможность отсутствует из-за сложности подключения. Терминальный режим фактически предоставляет полный root — управление механикой и логикой устройства. С его помощью можно также обновить или перезагрузить прошивку винчестера. Список команд для большинства накопителей можно посмотреть в интернете. А на плате жесткого диска имеется специальный разъем для подключения через последовательный порт.
Рис. 2. Разъем для подключения через последовательный порт. Одной тайной меньше
Для доступа в терминальный режим понадобится устройство-адаптер, необходимое для преобразования уровней сигналов RS-232 в уровни TTL (такие адаптеры имеются в продаже, но можно собрать и самому — все необходимые схемы находятся в свободном доступе, а в качестве основы можно взять некоторые модели Arduino). Мы же возьмем готовый чип FTDI, который преобразует USB в последовательный интерфейс для микроконтроллера Atmega. Нужно соединить GND и RESET, а для подключения использовать контакты RX и TX.
Рис. 3. Arduino Nano в качестве адаптера
Для работы с COM-портом используем любую понравившуюся программу — например, PuTTY или Hiperterminal. Выбираем тип подключения, вводим номер COM-порта и другие настройки:
Рис. 4. Окно настроек PuTTY
Для проверки работоспособности схемы нужно замкнуть RX и TX между собой. В результате все набираемые символы отобразятся в двойном количестве. Это происходит из-за того, что введенные данные будут передаваться по линии TX, а затем они же вернутся по линии RX. Делается это так: отключив SATA-кабель, соединяем выход TX диска с входом RX адаптера, и наоборот — RX адаптера с TX диска. Подключаем питание. После нажатия клавиш , получаем приглашение Т> (или F> для неисправных HDD) и вводим команды. Для получения списка команд вводим /C , а затем Q.
Из-за большого количества команд инженеры Seagate разделили их структуру на уровни. Такие команды, как чтение, запись, поиск, лог ошибок, доступны сразу на нескольких различных уровнях. Чтобы переключить жесткий диск для работы на другом уровне, надо воспользоваться командой /x .
Рис. 5. Обнуление S.M.A.R.T.
Кроме этих девяти уровней, есть еще два дополнительных набора команд: сетевые и общие. Основной целью сетевых команд является отображение изменения текущего состояния системы. Общие команды используются для доступа к регистрам, буферной памяти и данным.
Вообще, терминальный режим предоставляет много интересных возможностей. Например, команда низкоуровневого форматирования может не только снести данные подчистую без возможности восстановления, также, если во время форматирования кто-нибудь отключит питание, винчестер сможет сам «доформатироваться» при первом же его включении. В общем, это тема, достойная отдельной статьи. Мы же движемся дальше.
What is the Write Zero method?
HDDs are frequently used on computers to store data. After long time use, wiping hard drives will be needed because:
● After upgrading hard drive to an SSD or a larger HDD, you may wipe the old hard drive and use it as the second storage device.
● If you don’t need the old hard drive anymore, you can wipe HDD before recycling it.
There are different methods available to write over hard drives. Write Zero, also known as Single Overwrite, zero fill erase or zero-fill, is one of the most popular methods. The Write Zero data sanitization method replaces your regular, readable data with zeros, thus preventing all software-based file recovery methods from lifting information from the drive. Since the Write Zero method is useful, how to conduct it exactly?
Электроника HDD
Конструкция винчестера в какой-то степени наверняка известна каждому. По сути, это несколько пластин, которые вращаются со скоростью 15 000 об/мин, устройство позиционирования и блок управляющей электроники. Добавим к этому систему самоконтроля S.M.A.R.T. и другие интеллектуальные атрибуты. Короче, без пол-литра не разберешься, тем более технология отдельных элементов составляет коммерческую тайну.
Высокой точности позиционирования, плотности записи и прочим тонкостям современных HDD можно посвятить не один десяток статей, но мы, не углубляясь в механику диска и физику процессов, рассмотрим наиболее интересную для нас часть — электронику.
Рис. 1. Плата жесткого диска
Другие статьи в выпуске:
В старых моделях жестких дисков часть функций управляющей электроники брал на себя MFM- или RLL-контроллер компьютера. Но со временем из-за высокой скорости передачи данных потребовалось сократить тракт передачи данных, и разработчики отказались от этой идеи.
Пациент
Итак, перед нами плата типичного жесткого диска Western Digital WD5000AAKX объемом в 500 Гб (рис. 1). Что мы имеем:
- Микросхема DRAM. Интереса как такового не представляет, мануал легко можно найти в Сети. Память этих чипов колеблется от 8 до 64 Мб и соответствуют размеру кеша жесткого диска.
- Контроллер двигателя шпинделя. Отвечает за управление механикой, регулирует мощность и имеет некоторые аналоговые/цифровые каналы. На чип Smooth L7251 3.1 мануалы отсутствуют, но можно попробовать поискать похожие микросхемы.
- Флеш-память. На некоторых винчестерах микросхема отсутствует, но флеш-память бывает встроена в чип контроллера диска. Обычно имеет размер в пределах от 64 до 256 Кб. Используется для хранения программы, от которой загружается контроллер жесткого диска.
- И самая любопытная для нас вещь — контроллер жесткого диска. Их производят компании Marvell, ST, LSI и другие. Некоторые компании, производящие винчестеры, делают свои собственные контроллеры, как, например, Samsung и Western Digital.
Контроллер жесткого диска предназначен для управления операциями преобразования и обмена данными от головок чтения/записи к интерфейсу накопителя. К сожалению, компания Marvell не хочет выкладывать документацию на свою продукцию в открытый доступ. Ну что ж, попробуем разобраться сами.
Solution 2: write zeros with the free zero fill hard drive utility
As you see, the process of zero-filling a hard drive via Command Prompt is really complicated and time-consuming. Is there a simpler way? The best free zero fill hard drive utility— AOMEI Partition Assistant Standard can save you from the heavy work.
It enables you to delete all partitions and wipe all sectors on the disk within one operation, so you don’t need to repeat the operation for each partition on the disk. Just choose the “Fill sectors with Zero” method, and the disk will be wiped safely and quickly. All Windows PC operating systems like Windows 11/10/8.1/8/7/Vista/XP are supported. Now follow the guidance below to write zeros to a hard drive via AOMEI Partition Assistant:
Step 1. Get the zero fill hard drive software free download and install it.
Step 2. Launch AOMEI Partition Assistant. Right click the disk on which you want to wipe data and select “Wipe Hard Drive”.
Step 3. In the pop-up window, you will see four wiping methods. Choose the first one and click “OK”. If you want to use the other three wiping methods, you need to upgrade to AOMEI Partition Assistant Professional.
Fill sectors with Zero (Safe, Quick)
Fill sectors with random data (Safe, Quick)
Gutmann (35 passes, Very Safe, Very Slow)
Step 4. Click “Apply” to view pending operation and then “Proceed” to commit the operation.
Note: Once the wipe operation is executed, the data cannot be recovered by any data recovery software. Please backup files before you do if there are crucial data on the disk.
Сканируем
Чтобы выполнить сканирование, набираем SCAN и жмем ENTER или используем F4. Появится меню, из которого можно изменить часть настроек. По умолчанию начальный сектор равен нулю (стартовый сектор). Конечный сектор равен максимально возможному (конец диска). Все деструктивные по отношению к пользовательским данным функции (Remap, Erase Delays) по умолчанию выключены.
Начинаем сканирование
Давай пройдемся по параметрам сканирования.
- Start LBA — начальный сектор для сканирования, по дефолту 0, то есть начало диска.
- End LBA — сектор завершения сканирования, по дефолту конец диска. Иногда удобнее сканировать не всю поверхность (особенно когда объем диска переваливает за несколько терабайт), а только рабочую область, где лежит ОС. К примеру, диск С равен 50 Гбайт, тогда конечная область будет равна 2 * 50 * 1024 * 1024 = 104 857 600-й сектор . Можно посчитать проще: (объем * 2) * 1 000 000 , итого 100 000 000.
- Remap помечает сектор как сбойный в специальной служебной области, после чего диск к нему не обращается.
- Timeout — время задержки на чтение сектора, после которого проверка переходит к следующему сектору.
- Spindown after scan — остановить жесткий диск после сканирования.
- Loop test/repair — проводить сканирование или проверку циклично.
- Erase Delays — стирать сектора, в которых обнаружены задержки чтения.
Снова нажимаем F4 для запуска сканирования. MHDD сканирует накопители блоками. Для накопителей IDE/SATA один блок равен 255 секторам (130 560 байт).
Процесс сканирования
Вот как работает сканирование:
- MHDD посылает команду VERIFY SECTORS с номером LBA (номер сектора) и номером секторов в качестве параметров.
- Накопитель поднимает флаг BUSY.
- MHDD запускает таймер.
- После того как накопитель выполнил команду, он опускает флаг BUSY.
- MHDD вычисляет затраченное накопителем время и выводит соответствующий блок на экран. Если встретилась ошибка (bad block), программа выводит букву, которая описывает ошибку.
MHDD повторяет шаги 1–5 до конечного сектора. Если нужен протокол сканирования, его всегда можно найти в файле log/mhdd.log. Во время сканирования ты можешь увидеть много прямоугольников разного цвета. Чтобы ты не сильно пугался, привожу выдержку из справки:
Наличие красных (>500 ms) блоков на полностью здоровом накопителе недопустимо. Если они есть, необходимо произвести стирание (erase) всей поверхности диска и, если это не помогло, избавиться от задержек, можно делать выводы, что данный накопитель перестал быть достаточно надежным. Буквенно-символьные блоки, например x , S и т.п., недопустимы: они говорят о наличии bad-блоков на поверхности.
Первое, что должно быть сделано, — это полная очистка поверхности командой erase. Если это не помогло, то scan с включенной опцией EraseWaits. Если bad-блоки так и не исчезли, следует запустить scan с включенной опцией Remap.
Ох уж эти интерфейсы
Не каждый интерфейс может корректно распознаваться программой.
Интерфейс SATA. Есть вероятность, что диск не определится в MHDD. Причина может заключаться в режиме работы SATA-контроллера (IDE и AHCI) в BIOS. MHDD, увы, не поддерживает режим AHCI. Необходимо менять настройки BIOS. Хуже всего то, что нынче не все матплаты поддерживают этот режим. Выходом может стать только использование машины с подходящей материнкой или отказ от MHDD.
Интерфейс SCSI. Может не определиться драйвер SCSI-контроллера.
Интерфейс USB. Подключить диск через USB теоретически возможно с помощью дополнительного драйвера и настройки программы. Драйвер эмулирует режим работы через SCSI. Также необходимо отключить все лишние USB-накопители. Целевой диск должен быть подключен до загрузки MHDD. В config.sys потребуется прописать: device=X:\USBASPI.SYS /w /v , где X:\ — путь к диску.
Итак, я беру с полки один из сломанных дисков (я обычно клею на них этикетку broken) и сейчас попробую воскресить его, чтобы показать тебе, как это работает на практике. У меня на руках оказался винт WDC WD7500BPVX-60JC3T0 с винегретом вместо системы и всех файлов на нем.
SMART подопытного диска
Другие статьи в выпуске:
Раз уж ситуация настолько печальна, я могу с чистой совестью форматировать диск вдоль и поперек, что заметно упрощает мою задачу. Но для начала давай разберемся с небольшой теорией и планом восстановления.
Читайте также: