Как починить жесткий диск Bad Sector

Я пытался починить свой жесткий диск с помощью Ubuntu, но я обнаружил сообщение об ошибке и не знал, что делать дальше. Мне нужно исправить мои плохие сектора

fsck /dev/sdb  
fsck from util-linux 2.20.1  
e2fsck 1.42.5 (29-Jul-2012)  
fsck.ext2: Permission denied while trying to open /dev/sdb  
You must have r/w access to the filesystem or be root  
26
задан 29 July 2017 в 22:39

4 ответа

A плохой сектор на диске - признак необратимого повреждения диска. Если у вас нет оснований полагать, что ваш диск неправильно пометил эти сектора как поврежденные, вы не можете их «исправить».

Это означает, что часть вашего диска повреждена до такой степени, что ее невозможно надежно прочитать и / или записано в.

Ваша система может продолжать использовать диск, пометив этот сектор как неиспользуемый, но вы все равно можете рассмотреть вопрос о замене диска, поскольку поврежденный сектор может быть признаком того, что другие сектора или весь диск могут выйти из строя в ближайшее время.

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

Теперь, что касается сообщения об ошибке, которое вы вставили в свой вопрос (на момент написания этой статьи), эта ошибка не имеет ничего общего с поврежденными секторами. Это означает, что у вас нет доступа к диску. sudo может предоставить вам доступ, поэтому:

sudo fsck /dev/sdb

Однако, вероятно, это не то, что вам нужно, потому что / dev / sdb относится ко всему диску, тогда как fsck разработан для работы с файловыми системами , которые обычно (но не всегда, и здесь может быть исключение) размещаются в разделах . Если вышеперечисленное не сработало, возможно, вы захотели сделать это с 1-м разделом на этом диске:

sudo fsck /dev/sdb1

Вы можете получить список разделов для каждого диска с помощью:

sudo fdisk -l
26
ответ дан 29 July 2017 в 22:39

Одним словом: Загрузите систему спасения и используйте бэдблоки:

badblocks -svn /dev/sda

, чтобы контроллер жёсткого диска заменил плохие блоки на запасные.

Я подробно ответил на этот же вопрос здесь.

24
ответ дан 29 July 2017 в 22:39

В прежние времена вам приходилось записывать плохие блоки, которые были записаны на диск, и вносить их в список дефектов перед форматированием диска, потому что поверхности жесткого диска никогда не были «идеально», производитель поступил мудро, потому что люди, покупающие диски, смотрят на таблицу дефектов, напечатанную на диске, и покупают диски с наименьшим количеством дефектов ...

Теперь прокрутите вперед примерно на 20 лет и производителей жестких дисков скрыть тот факт, что на новом диске есть плохие блоки с прошивкой, когда вы покупаете новый диск, он, скорее всего, уже будет иметь плохие блоки, прошивка обнаружит недавно выросшие плохие блоки и отобразит их из набора запасных цилиндров, которые у него есть ,но это происходит только тогда, когда в этом секторе происходит операция записи и алгоритм ECC обнаруживает битовую ошибку, только тогда он отображает блок. Итак, возвращаясь к сути, вы можете заставить диск отображать плохие блоки, просто используя DD, то есть / [edit: следующий пример был отредактирован для предотвращения случайного разрушения диска: удален подстановочный знак, заменен на X]

dd if=/dev/zero of=/dev/sdX bs=1M 

, очевидно, изменяет of = target, чтобы отразить стремление к нулю это самый быстрый способ повторно сопоставить дефекты дисков, а также самый быстрый способ полностью испортить вашу установку Linux, ошибочно указав целевой диск, поэтому проверьте, дважды проверьте, а затем проверьте еще раз, прежде чем нажимать клавишу ввода. Вы можете увеличить размер блока в команде dd, чтобы оптимизировать чтение / запись и, возможно, ускорить работу, но после точки возвращается убывающая отдача. Я считаю, что для меня лучше всего подходит диапазон от 1M до 8M

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

Эта команда УБИРАЕТ все на вашем жестком диске, включая любые разделы. Но это заставит диск отобразить все поврежденные сектора, которые могут иметь.

Это нормально, если на диске есть поврежденные сектора, если они не находятся в загрузочном секторе, если они есть, то диск бесполезен , если через несколько месяцев вы заметите, что на вашем диске образовалось больше поврежденных секторов, пора начать покупать замену.

Я восстановил сотни таких дисков, и они прожили много лет после этого. плохой сектор не обязательно является похоронным звоном для диска.

17
ответ дан 29 July 2017 в 22:39

После "man badblocks" и "man e2fsck" я обнаружил:

Вероятно, вы не хотите запускать плохие блоки как отдельную программу, а с e2fsck. Чтобы запустите e2fsck с плохими блоками, добавьте опцию -c. "Эта опция заставляет e2fsck использовать программу badblocks, чтобы выполнить сканирование устройства только для чтения, чтобы найти какие-либо плохие блоки. Если какие-либо плохие блоки обнаружены, они добавляются к inode плохого блока, чтобы предотвратить их от размещения в файле или каталоге »

Вы также можете добавить -k, чтобы добавить в список плохих блоков, а не создавать новый.

sudo e2fsck -ck / dev / sda1

0
ответ дан 27 April 2021 в 01:36

Другие вопросы по тегам:

Похожие вопросы: