Проблемы с восстановлением поврежденных секторов на жестком диске
У меня проблемы с жестким диском ноутбука из-за отсутствия электричества во время критического обновления.
С тех пор я смог перезагрузиться практически без проблем, но в последнее время, возможно, из-за другого серьезного обновления или из-за ухудшения состояния жесткого диска (не знаю, правда...), моя машина стала не загружаться только одним жестким диском (ну, на самом деле я не пробовал использовать Windows, но не с Ubuntu, которая является единственной ОС, которую я использую на нем), поэтому мне пришлось использовать USB-драйвер Ubuntu, чтобы он работал.
Я следил за многими онлайн-уроками о том, как с этим бороться и, наконец, установил smartmontools
с небольшой пользой, как при использовании smartctl
найти перераспределенные секторы, так как какой-то онлайн-ресурс не дал никакого результата.
Мне повезло больше после следующего урока и использования sudo badblocks -sv -b 512 /dev/sdb
после долгого сканирования я выбрался из него
618997769one, 1:58:10 elapsed. (1/0/0 errors)
618997770one, 1:58:13 elapsed. (2/0/0 errors)
618997771one, 1:58:16 elapsed. (3/0/0 errors)
618997772one, 1:58:20 elapsed. (4/0/0 errors)
618997773one, 1:58:23 elapsed. (5/0/0 errors)
618997774one, 1:58:26 elapsed. (6/0/0 errors)
618997775one, 1:58:30 elapsed. (7/0/0 errors)
618997776one, 1:58:33 elapsed. (8/0/0 errors)
618997777one, 1:58:36 elapsed. (9/0/0 errors)
618997778one, 1:58:39 elapsed. (10/0/0 errors)
618997779one, 1:58:42 elapsed. (11/0/0 errors)
618997780one, 1:58:45 elapsed. (12/0/0 errors)
618997781one, 1:58:49 elapsed. (13/0/0 errors)
618997782one, 1:58:52 elapsed. (14/0/0 errors)
618997783one, 1:58:56 elapsed. (15/0/0 errors)
618997784one, 1:58:59 elapsed. (16/0/0 errors)
618997785one, 1:59:02 elapsed. (17/0/0 errors)
618997786one, 1:59:05 elapsed. (18/0/0 errors)
618997787one, 1:59:08 elapsed. (19/0/0 errors)
618997788one, 1:59:12 elapsed. (20/0/0 errors)
618997789one, 1:59:15 elapsed. (21/0/0 errors)
618997790one, 1:59:18 elapsed. (22/0/0 errors)
618997791one, 1:59:21 elapsed. (23/0/0 errors)
618997792one, 1:59:25 elapsed. (24/0/0 errors)
618997793one, 1:59:28 elapsed. (25/0/0 errors)
618997794one, 1:59:31 elapsed. (26/0/0 errors)
618997795one, 1:59:35 elapsed. (27/0/0 errors)
618997796one, 1:59:38 elapsed. (28/0/0 errors)
618997797one, 1:59:41 elapsed. (29/0/0 errors)
618997798one, 1:59:44 elapsed. (30/0/0 errors)
618997799one, 1:59:47 elapsed. (31/0/0 errors)
618997800one, 1:59:50 elapsed. (32/0/0 errors)
618997801one, 1:59:53 elapsed. (33/0/0 errors)
618997802one, 1:59:57 elapsed. (34/0/0 errors)
618997803one, 2:00:00 elapsed. (35/0/0 errors)
618997804one, 2:00:03 elapsed. (36/0/0 errors)
618997805one, 2:00:07 elapsed. (37/0/0 errors)
618997806one, 2:00:10 elapsed. (38/0/0 errors)
618997807one, 2:00:13 elapsed. (39/0/0 errors)
618997808one, 2:00:16 elapsed. (40/0/0 errors)
618997809one, 2:00:19 elapsed. (41/0/0 errors)
618997810one, 2:00:23 elapsed. (42/0/0 errors)
618997811one, 2:00:26 elapsed. (43/0/0 errors)
618997812one, 2:00:29 elapsed. (44/0/0 errors)
618997813one, 2:00:32 elapsed. (45/0/0 errors)
618997814one, 2:00:35 elapsed. (46/0/0 errors)
618997815one, 2:00:38 elapsed. (47/0/0 errors)
618997816one, 2:00:41 elapsed. (48/0/0 errors)
618997817one, 2:00:45 elapsed. (49/0/0 errors)
618997818one, 2:00:48 elapsed. (50/0/0 errors)
618997819one, 2:00:51 elapsed. (51/0/0 errors)
618997820one, 2:00:55 elapsed. (52/0/0 errors)
618997821one, 2:00:58 elapsed. (53/0/0 errors)
618997822one, 2:01:01 elapsed. (54/0/0 errors)
618997823one, 2:01:04 elapsed. (55/0/0 errors)
618997824one, 2:01:07 elapsed. (56/0/0 errors)
618997825one, 2:01:10 elapsed. (57/0/0 errors)
618997826one, 2:01:14 elapsed. (58/0/0 errors)
618997827one, 2:01:17 elapsed. (59/0/0 errors)
618997828one, 2:01:20 elapsed. (60/0/0 errors)
618997829one, 2:01:23 elapsed. (61/0/0 errors)
618997830one, 2:01:26 elapsed. (62/0/0 errors)
618997831one, 2:01:30 elapsed. (63/0/0 errors)
done
Pass completed, 64 bad blocks found. (64/0/0 errors)
Что, по крайней мере, было довольно информативным о том, было ли у меня что-то не так и, в случае, где это было До сих пор не знаю, почему за цифрами стоит "один", поэтому не стесняйтесь рассказать мне и эту часть.
В этот момент я попробовал то, что, как мне показалось, предложило больше всего, что означало решительный удар:
sudo hdparm --write-sector --yes-i-know-what-i-am-doing 618997831 /dev/sdb
Позор, что даже попытка с той или иной другой версией, это только вернул мне
write-sector: bad/missing sector value
И тут я немного растерялся: любой совет, чем больше образование / информативность, тем лучше, будет высоко оценен.
Заранее спасибо за ваше внимание и просто спросить, если я забыл некоторые важные детали:)
Редактировать: О, спасибо большое, Дэвид!
Это действительно помогло, но теперь, когда sdb
кажется хорошо, я получил это от sda
все еще использую sudo badblocks -sv -b 512 /dev/sda
:
Checking blocks 0 to 625142447
Checking for bad blocks (read-only test): 0.00% done, 0:00 elapsed. (0/0/0 err545995272one, 1:26:12 elapsed. (0/0/0 errors)
545995273one, 1:26:15 elapsed. (1/0/0 errors)
545995274one, 1:26:18 elapsed. (2/0/0 errors)
545995275one, 1:26:21 elapsed. (3/0/0 errors)
545995276one, 1:26:25 elapsed. (4/0/0 errors)
545995277one, 1:26:28 elapsed. (5/0/0 errors)
545995278one, 1:26:31 elapsed. (6/0/0 errors)
545995279one, 1:26:35 elapsed. (7/0/0 errors)
545995280one, 1:26:39 elapsed. (8/0/0 errors)
545995281one, 1:26:43 elapsed. (9/0/0 errors)
545995282one, 1:26:47 elapsed. (10/0/0 errors)
545995283one, 1:26:55 elapsed. (11/0/0 errors)
545995284one, 1:27:00 elapsed. (12/0/0 errors)
545995285one, 1:27:06 elapsed. (13/0/0 errors)
545995286one, 1:27:11 elapsed. (14/0/0 errors)
545995287one, 1:27:17 elapsed. (15/0/0 errors)
545995288one, 1:27:21 elapsed. (16/0/0 errors)
545995289one, 1:27:25 elapsed. (17/0/0 errors)
545995290one, 1:27:29 elapsed. (18/0/0 errors)
545995291one, 1:27:35 elapsed. (19/0/0 errors)
545995292one, 1:27:39 elapsed. (20/0/0 errors)
545995293one, 1:27:46 elapsed. (21/0/0 errors)
545995294one, 1:27:49 elapsed. (22/0/0 errors)
545995295one, 1:27:53 elapsed. (23/0/0 errors)
545995296one, 1:27:56 elapsed. (24/0/0 errors)
545995297one, 1:27:59 elapsed. (25/0/0 errors)
545995298one, 1:28:02 elapsed. (26/0/0 errors)
545995299one, 1:28:06 elapsed. (27/0/0 errors)
545995300one, 1:28:09 elapsed. (28/0/0 errors)
545995301one, 1:28:12 elapsed. (29/0/0 errors)
545995302one, 1:28:16 elapsed. (30/0/0 errors)
545995303one, 1:28:19 elapsed. (31/0/0 errors)
545995304one, 1:28:22 elapsed. (32/0/0 errors)
545995305one, 1:28:28 elapsed. (33/0/0 errors)
545995306one, 1:28:31 elapsed. (34/0/0 errors)
545995312one, 1:28:38 elapsed. (35/0/0 errors)
545995313one, 1:28:42 elapsed. (36/0/0 errors)
545995320one, 1:28:49 elapsed. (37/0/0 errors)
545995328one, 1:28:58 elapsed. (38/0/0 errors)
545995329one, 1:29:02 elapsed. (39/0/0 errors)
545995336one, 1:29:06 elapsed. (40/0/0 errors)
545995337one, 1:29:10 elapsed. (41/0/0 errors)
545995338one, 1:29:13 elapsed. (42/0/0 errors)
618997768one, 1:45:58 elapsed. (43/0/0 errors)
618997769one, 1:46:02 elapsed. (44/0/0 errors)
618997770one, 1:46:05 elapsed. (45/0/0 errors)
618997771one, 1:46:08 elapsed. (46/0/0 errors)
618997772one, 1:46:11 elapsed. (47/0/0 errors)
618997773one, 1:46:14 elapsed. (48/0/0 errors)
618997774one, 1:46:18 elapsed. (49/0/0 errors)
618997775one, 1:46:21 elapsed. (50/0/0 errors)
618997792one, 1:46:24 elapsed. (51/0/0 errors)
618997793one, 1:46:28 elapsed. (52/0/0 errors)
618997794one, 1:46:31 elapsed. (53/0/0 errors)
618997795one, 1:46:34 elapsed. (54/0/0 errors)
618997796one, 1:46:38 elapsed. (55/0/0 errors)
618997797one, 1:46:41 elapsed. (56/0/0 errors)
618997798one, 1:46:44 elapsed. (57/0/0 errors)
618997799one, 1:46:48 elapsed. (58/0/0 errors)
618997808one, 1:46:51 elapsed. (59/0/0 errors)
618997809one, 1:46:55 elapsed. (60/0/0 errors)
618997810one, 1:46:58 elapsed. (61/0/0 errors)
618997811one, 1:47:01 elapsed. (62/0/0 errors)
618997812one, 1:47:05 elapsed. (63/0/0 errors)
618997813one, 1:47:08 elapsed. (64/0/0 errors)
618997814one, 1:47:11 elapsed. (65/0/0 errors)
618997815one, 1:47:14 elapsed. (66/0/0 errors)
618997816one, 1:47:18 elapsed. (67/0/0 errors)
618997817one, 1:47:21 elapsed. (68/0/0 errors)
618997818one, 1:47:24 elapsed. (69/0/0 errors)
618997819one, 1:47:27 elapsed. (70/0/0 errors)
618997820one, 1:47:30 elapsed. (71/0/0 errors)
done
Pass completed, 72 bad blocks found. (72/0/0 errors)
Я предполагаю, что мне придется использовать hdparm
опять правильно? Есть ли какой-нибудь умный способ автоматизировать вместо запуска команды 72 раза? Я мог бы сделать скрипт на Python, чтобы объединить их с ";", но если есть разумный способ, просто дайте мне знать.
Спасибо за вашу поддержку до сих пор:)
3 ответа
Ваш hdparm
команда неверна. Пожалуйста, обратитесь к руководству (выделите мной):
--write-sector
Записывает нули в указанный номер сектора. ОЧЕНЬ ОПАСНО. Номер сектора должен быть указан (base10) после этой опции.
hdparm
выдаст низкоуровневую запись (полностью обходя обычные механизмы чтения / записи блочного уровня) в указанный сектор. Это можно использовать для принудительного восстановления диска неисправным сектором (ошибка носителя).
Правильная команда для вашей цели, кажется,
sudo hdparm --write-sector 618997831 --yes-i-know-what-i-am-doing /dev/sdb
Изменить: Поскольку вы теперь расширили свой вопрос не только один плохой блок, но все обнаруженные плохие блоки, я пометил этот вопрос как дубликат одного, который имеет дело с более общей проблемой заставить контроллер дисковода переназначить плохие блоки с запасные резервные блоки.
Ты можешь использовать dd
написать все 72 сектора одновременно:
sudo dd if=/dev/zero of=/dev/sda bs=512 seek=545995273 count=72
Что касается того, физически умирает диск или нет, проверьте статистику SMART, но с таким количеством поврежденных секторов, я подозреваю, что это больше, чем просто сбой питания, который имеет тенденцию повреждать только один. После записи, если в статистике SMART говорится, что у вас есть куча перераспределенных секторов, они физически повреждены, и вам следует заменить диск.
Вы можете запустить sudo fsck /dev/sdb
и это должно исправить все плохие сектора, которые у вас есть. Если вы потеряли питание во время обновления, вы можете попробовать обновить снова, поэтому запустите sudo apt-get update
затем sudo apt-get upgrade