Как я могу исправить неправильные логические сектора на жестком диске в Ubuntu?
Во время загрузки я обнаружил, что мой жесткий диск имел логические ошибки в разных секторах. Я сделал свое исследование и выполнил эту команду:
sudo badblocks -sv /dev/sda1 > bad-blocks-result
Эта команда создала файл в моем домашнем каталоге с именем "bad-blocks-result", который содержит последовательность чисел, которые, я думаю, являются плохими секторами.
Какую процедуру следует выполнить для исправления моего жесткого диска?
1 ответ
Для каждого плохого номера блока сначала используйте dd
чтобы убедиться, что это плохо (и вы где-то не ошиблись):
sudo dd if=/dev/sda1 skip=##### count=1 of=/dev/null iflag=direct bs=1024
Если это возвращается с ошибкой, то вы смотрите в правильном месте... теперь пришло время исправить это:
sudo dd if=/dev/zero of=/dev/sda1 seek=###### count=1 oflag=direct bs=1024
Если вторая вернется без ошибки, вы сможете повторить первую команду, и теперь она также не должна быть ошибочной. Повторите эти действия для каждого номера блока, указанного в файле.
Удостоверьтесь, что вы набрали команды точно так, как показано (подстановка номера блока вместо ####), иначе вы можете уничтожить ваши данные
Вы также можете запустить sudo smartctl -a /dev/sda
чтобы прочитать SMART-статус диска. Следует отметить необработанные значения для перераспределенных счетчиков и ожидающих обработки. Если вы исправили все поврежденные сектора, число отложенных операций вернется к нулю. Если они были переназначены, перераспределенный счет увеличится. Если это больше, чем горстка, вы, вероятно, захотите заменить диск, так как он может ухудшиться. Если перераспределенное количество не увеличилось, то с физическим диском все в порядке.
На этом этапе вы также должны загрузиться в режиме восстановления и запустить полный fsck
на том, чтобы убедиться, что проверено.