Невозможно записать нули в поврежденные сектора / жесткий диск без учета перераспределенных секторов


10

У меня есть диск, который сообщает, что текущие ожидающие секторы "45". я использовал badblocks чтобы идентифицировать секторы, и я пытался написать им нули с дд ,

Из того, что я понимаю, когда я пытаюсь записать данные непосредственно в поврежденные сектора, это должно вызвать перераспределение, уменьшая текущие ожидающие сектора на один и увеличивая количество перераспределенных секторов.

Однако на этом диске необработанные значения Reallocated_Sector_Ct и Reallocated_Event_Count равны 0, и дд не удается с ошибками ввода / вывода, когда я пытаюсь записать нули в поврежденные сектора. дд работает хорошо, однако, когда я пишу в хороший сектор.

# dd if=/dev/zero of=/dev/sdb bs=512 count=1 seek=217152
dd: error writing ‘/dev/sdb’: Input/output error

Означает ли это, что на моем диске нет резервных секторов для перераспределения? Мой привод просто ужасный человек? (На самом деле диск не мой, я помогаю другу. Возможно, они только что получили дешевый диск или что-то в этом роде.)

В случае, если это уместно, вот вывод smartctl -i :

Model Family:     Western Digital Caviar Green (AF)
Device Model:     WDC WD15EARS-00Z5B1
Serial Number:    WD-WMAVU3027748
LU WWN Device Id: 5 0014ee 25998d213
Firmware Version: 80.00A80
User Capacity:    1,500,301,910,016 bytes [1.50 TB]
Sector Size:      512 bytes logical/physical
Device is:        In smartctl database [for details use: -P show]
ATA Version is:   ATA8-ACS (minor revision not indicated)
SATA Version is:  SATA 2.6, 3.0 Gb/s
Local Time is:    Fri Oct 18 17:47:29 2013 CDT
SMART support is: Available - device has SMART capability.
SMART support is: Enabled

ОБНОВИТЬ:
Я бегал shred на диске, из-за которого Current_Pending_Sector обнулялся. Однако Reallocated_Sector_Ct и Reallocated_Event_Count по-прежнему равны нулю, и теперь dd может записывать данные в сектора, которые ранее были недоступны. Это приводит меня к нескольким другим вопросам:

  • Почему перераспределения не записываются диском? Я предполагаю, что перераспределение произошло, поскольку теперь я могу записывать данные непосредственно в сектор, а раньше не мог.

  • Почему шред вызвал перераспределение, а не дд? Имеет ли значение тот факт, что shred записывает случайные данные, а не просто нули?


Каковы другие значения SMART? Является Uncorrectable Sector Count больше нуля?
Synetech

Offline_Unc корректируемый, который я предполагаю, то же самое, имеет необработанное значение 25.
MetaNova

Да, это так, и кажется, что диск действительно в плохой форме. Вы можете проверить значения по этот стол , обращая особое внимание на красные строки (критические для здоровья значения). Лучше всего скопировать (а не переместить) все ценное / незаменимое куда-то еще, перезагрузить, чтобы дать ему цикл питания, и, если он все еще работает, хорошенько стереть его (желательно с собственным специальные инструменты и отложите его как запасное хранилище для неважных данных, таких как загруженные видео.
Synetech

Спасибо за ваш ответ. Мой главный вопрос, вероятно, должен заключаться в том, почему он не может перераспределить эти сектора. Разве он не должен просто обнаруживать плохие сектора, избегать их в пустоте, перераспределять и двигаться дальше? Я не беспокоюсь о каких-либо данных на диске, так как он уже давно очищен. Мой друг не хочет иметь 1,5 ТБ пресс-папье, если они могут этого избежать.
MetaNova

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

Ответы:


9

Привод WD15EARS (и большинство других недавно выпущенных накопителей) использует Расширенный формат Это означает, что реальный размер физического сектора этого накопителя составляет 4 КиБ, а традиционный размер сектора в 512 байт просто эмулируется. Из-за этого, если один физический сектор размером 4 Кбайт выходит из строя, все 8 соответствующих эмулированных 512-байтовых секторов сразу становятся нечитаемыми.

(The Sector Size: 512 bytes logical/physical вывод из smartctl не правильно, потому что некоторые диски WD15EARS сообщают о неправильном размере физического сектора - очевидно, на вашем диске установлена ​​версия прошивки, которая в этом отношении не работает.)

Более того, когда записывается один эмулированный 512-байтовый сектор, накопителю расширенного формата фактически необходимо прочитать весь физический сектор размером 4 КБ, изменить соответствующую его 512-байтовую часть, а затем записать весь физический сектор на носитель. Если носитель исправен, эта операция чтения-изменения-записи просто вызывает значительное замедление по сравнению с диском с реальными 512-байтовыми физическими секторами. Однако, если физический сектор 4 КиБ неисправен и не может быть прочитан, любая операция записи, которая не переписывает сектор полностью, завершится неудачей. Из-за этого вы не можете принудительно перераспределить сектор на таких дисках, используя dd с bs=512 count=1 - вы должны использовать хотя бы bs=512 count=8 и убедитесь, что номер сектора в seek= параметр, кратный 8. (Предполагается, что перемычка «Windows XP Compatible» не установлена, в противном случае необходимо также учитывать смещение выравнивания, добавленное этой перемычкой.)

Еще одна причина, почему форсирование перераспределения dd может произойти сбой из-за того, что по умолчанию Linux использует кэш на уровне блоков для доступа к блочным устройствам, и это может привести к операциям чтения-изменения-записи в программном обеспечении, которые также могут завершиться ошибкой при обнаружении нечитаемого сектора. Вы можете добавить oflag=direct возможность обойти этот кеш для устройства, указанного of=... (есть также iflag=direct опция, которая относится к устройству ввода).


Спасибо, спасибо, это было так полезно. Я читаю этикетку на диске и там написано "предварительный формат". Теперь я знаю, что это значит ... Ты хоть представляешь, что диск не сообщает о перераспределенных секторах?
MetaNova

1
«текущие ожидающие секторы» не обязательно являются плохими секторами, диск просто испытывал небольшие затруднения при чтении его раньше при проверках холостого хода, возможно, из-за того, что он не записывался в течение длительного времени, а данные начали исчезать (т.е. ослабление магнитного поля ). Запись новых данных в этот сектор обновляет данные в этом секторе новыми данными, которые сильно сформированы на диске. Таким образом, если вы пишете в ожидающий сектор, диск предполагает, что теперь все в порядке. Вы должны попробовать прочитать данные из этих секторов, чтобы убедиться, что они стабильны.
BeowulfNode42

для тех людей, которые не заботятся о каких-либо данных на диске и не хотят найти точный список секторов или подсчитать количество секторов, просто поместите весь диск с размером блока, кратным 4 КБ, например 16 МБ. Затем используйте размер блока 4 КБ для последней части диска, которая меньше ранее выбранного размера блока.
BeowulfNode42

0

Недавно мне пришлось это сделать, и я обнаружил, что работа с клочками на всем диске работает очень хорошо. Хотя крошка бесполезна по своему прямому назначению, кроме как на дискетах, она делает только то, что требуется для самовосстановления плохих блоков.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.