Вы могли попробовать hdparm --write-sector <LBA> /dev/ice
.
Я не знаю никакой другой способ сделать это - необходимо вручную преобразовать LBA в блоки файловой системы (поскольку Вы уже нашли),
Я думаю все, что необходимо сделать:
e2fsck -c /dev/hda1
принятие/dev/hda1 является (размонтированным) разделом. Или:
e2fsck -c -c /dev/hda1
сделать (более медленный) неразрушающий тест чтения-записи. Это должно будет все еще быть размонтировано. Я не думаю, что это предоставит Вам подробную информацию о любых потерянных данных, все же.
У Michael есть он корректный и под большинством случаев, которые, как я сказал бы просто, заменяют диск, они являются дешевыми. Однако, если Вы не имеете резервных копий и не можете получить важные данные от диска или просто хотеть попытаться восстановить диск затем, можно хотеть попытаться использовать spinrite на высшем уровне.
У меня был диск ноутбука, который начал издавать некоторый шум несколько лет назад. Badblocks показал, что диск имел приблизительно 118 сбойных блоков, видимых конечному пользователю. Так как у меня уже была копия SpinRite, я решил дать ему попытку прежде, чем купить новый диск. После выполнения spinrite на диске badblocks показал 0 сбойных блоков и остановленные шумы. Диск работал больше двух лет с тех пор.
Если диск разлагается, замените его. Это не стоит риска, что это развалится больше.
Раньше я писал прошивку диска для WD, и однажды я написал прошивку, которая переназначила плохие блоки.
Во-первых, большинство плохих блоков обнаруживаются при чтении, а не записи. Запись выполняется вслепую, то есть данные записываются без проверки. Таким образом, при записи, если носитель неисправен, вы не узнаете об этом, пока хост не прочитает этот сектор. Есть небольшая часть сектора (заголовок сектора), которая считывается при записи, чтобы найти правильный сектор, так что, если есть ошибка при чтении заголовка сектора, привод переназначит сектор и запишет его с полученными данными из команды записи. Но подавляющее большинство сбойных блоков обнаруживается при чтении, и то, что запись в сектор завершилась успешно, не означает, что носитель исправен или что сектор был переназначен.
Теперь о переназначении плохих блоков (также называемом перераспределением). Да, обычно диск будет пытаться переназначить сектор, если ошибка достаточно серьезная (т. Е. Сбой ECC достаточно серьезен), но диск все равно может восстановить данные после исправления ECC. Обычно это делается автоматически. Единственным исключением является то, что хост мог ранее сказать диску не выполнять автоматическое перераспределение, но это делается редко.
Так что же произойдет, если диск выполняет чтение и не может восстановить данные? Ничего такого. Об ошибке сообщается хосту, но переназначение не выполняется. Проблема в том, что накопитель может переназначить сектор, но он не имеет ни малейшего представления, какие данные записывать во вновь переназначенный сектор. Если он просто записал, скажем, кучу нулей, а затем снова прочитал сектор, он вернет все нули без каких-либо указаний на то, что данные недействительны. По сути, это то же самое, что и повреждение данных. Накопитель не может рассчитывать на то, что хост отслеживает ошибки по ряду причин (например, что, если диск был перемещен на новый хост?), Поэтому лучший способ действий - ничего не делать, когда данные могут '
Современные диски, однако, сохраняют местоположение поврежденного сектора, когда его нельзя перераспределить. Количество сбойных секторов, ожидающих перераспределения, можно найти в данных SMART. Что происходит, если запись выполняется в один из поврежденных секторов, ожидающих перераспределения, перераспределение выполняется, потому что теперь у диска есть действительные данные для записи на него после перераспределения. Таким образом, когда люди говорят, что запись в плохой сектор приведет к его перераспределению, на самом деле это только половина дела. Сначала необходимо прочитать диск, чтобы диск мог обнаружить все сбойные сектора, которые нельзя перераспределить автоматически. Таким образом, вы можете записать весь диск, и данные SMART сообщат, что нет плохих секторов, ожидающих перераспределения, но вы не обязательно очистили диск от всех плохих секторов. Поэтому, если вы действительно хотите очистить диск от всех поврежденных секторов, лучше всего сначала прочитать весь диск, а затем записать весь диск (конечно, это уничтожит все предыдущие данные на диске).
Там другие способы борьбы с плохими блоками, которые нельзя перераспределить. Если диск является частью резервной конфигурации RAID (т. Е. Любой, кроме RAID 0), программное обеспечение RAID должно автоматически восстанавливать данные для сбойного сектора с других дисков и записывать их в перераспределенный сектор.
Если у вас есть резервные копии, и вы знаете, что это логическая, а не физическая ошибка, то лучший способ сделать это - обнулить диск.
Я бы использовал MHDD, он довольно прост в использовании, и если вы не забыли установить ваш жесткий диск в Bios на эмуляцию IDE, а затем вернуться к AHCI, когда ваша работа будет закончена, то вам не о чем беспокоиться.
Как только вы загрузитесь на MHDD, выберите тип вашего диска в команде ERASE и подтвердите ваш выбор.
Получите кучу денег, это может занять некоторое время.
После обнуления диска выполните сканирование(f4) с установкой Remap в ON (по умолчанию выключено). Если проблемы с диском все еще есть (это означает, что на блюдечке имеется физическое повреждение, а диск находится на прочном склоне вниз), эта опция "исправит" их, отобразив поврежденную область на здоровые части диска.
Если нет UNC-ошибок, то поздравляю вас и ваш диск может остаться друзьями на долгие годы.
.