Что делает это среднее сообщение об ошибке жесткого диска: “Текущий Незаконченный Сектор считает …”?

Можно получить доступ только к выполняемой командной строке с history встроенный. (Я понятия не имею почему history 1 печатает просто выполняемую командную строку, но fc -nl -1 печатает предыдущую команду, как делает fc -nl 0.)

PROMPT_COMMAND='echo -en "\033[38;5;2m"; history 1; echo -en "\033[0m\n"'

Это печатает число перед текстом команды. Вот версия, которая удаляет число. (Может быть неправильно, если Вы идете вне 99 999 строк истории, я не знаю, как удар форматирует число затем.)

prompt_function () {
  local prompt_history="$(history 1)"
  prompt_history=${prompt_history:7}
  echo -En $'\033[38;5;2m'"$prompt_history"$'\033[0m\n'
}
PROMPT_COMMAND=prompt_function

(Отметьте это echo -en ..."$prompt_history"... развернул бы обратные косые черты в командной строке, таким образом, я использую echo -E и позвольте расширению оболочки генерировать управляющие символы с $''.).

6
03.12.2011, 01:15
3 ответа

Это означает, что существует 22 сектора, которые не могли быть считаны. В следующий раз Вы пишете в те секторы, если они не могут быть правильно записаны в, они будут повторно отображены на запасном секторе. Можно использовать badblocks утилита для определения местоположения поврежденных секторов, и dd записать в них:

sudo badblocks -b 512 /dev/sda

Для каждого перечисленного сектора сначала проверьте, что он не может быть считан:

sudo dd if=/dev/sda of=/dev/null bs=512 count=1 iflag=direct skip=[sector]

Это должно перестать работать с ошибкой IO. Если это делает, возобновляет запись:

sudo dd if=/dev/zero of=/dev/sda bs=512 count=1 oflag=direct seek=[sector]

Используйте номер сектора, данный badblocks для [сектора]. После выполнения этого проверьте УМНУЮ статистику снова, и незаконченное количество должно быть нулем. Перераспределенное количество могло бы повыситься, если неудавшаяся запись и секторы была перераспределена от запасного пула. Если это происходит, можно хотеть заменить диск. Если это не делает, то все было восстановлено.

8
27.01.2020, 20:24

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

Можно читать больше об УМНОМ на Википедию.

3
27.01.2020, 20:24

Возможно, более безопасным способом переназначения отдельных секторов является использованиеhdparm:

$ sudo hdparm --read-sector 12345678 /dev/sdx # verify that there is a read error
$ sudo hdparm --yes-i-know-what-i-am-doing --write-sector 12345678 /dev/sdx

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

В дополнение к badblocksв журнале ядра(dmesg | grep sector)или в отчетах SMART(smartctl -x)сообщается об уже известных нечитаемых секторах. Если количество таких секторов настолько велико, что переназначить их вручную нецелесообразно, я бы на самом деле подумал о замене жесткого диска, поскольку это признак неизбежного постоянного отказа.

1
21.09.2021, 11:22

Теги

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