Восстановление поврежденных секторов внешнего жесткого диска / отметка утилиты в Linux

34507
quack quixote

Я только что установил новую версию Ubuntu, Karmic Koala, в свой ноутбук. Все хорошо, за исключением того, что система обнаружила около 300 поврежденных секторов на моем внешнем жестком диске объемом 1 ТБ. Я хотел бы восстановить или просто пометить тогда. Есть ли какая-нибудь бесплатная утилита, которую я могу запустить на Linux, для этого?

Обновить:

Раздел отформатирован в NTFS.

заранее спасибо

4

6 ответов на вопрос

6
Geoff Fritz

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

Я приму предложение Дэвида близко к сердцу и перенесу ваши данные как можно скорее. Вы можете установить «smartmontools» и запустить smartctl, чтобы увидеть, что сообщает само устройство.

Вы можете попробовать использовать утилиту «badblocks» на исходном устройстве, на котором находится ваш NTFS-диск, поскольку он работает на устройстве и не зависит от файловой системы. Убедитесь, что вы внимательно прочитали справочные страницы и используете неразрушающий режим. Он должен быть в состоянии прочитать каждый сектор, а затем переписать каждый сектор. Это должно заставить сам привод переназначить любые проблемные сектора. Сначала проверьте эту процедуру на USB-накопителе или другом носителе.

Я рекомендую указывать плохим блокам обрабатывать большое количество секторов за раз, так как сканирование диска емкостью 1 ТБ займет очень много времени.

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

Если данные ценны для вас, и вы не уверены в своих силах, вы можете использовать коммерческое решение, такое как SpinRite (хотя это дорого и потребует аппаратного обеспечения Windows). Обратите внимание, я никогда не пользовался SpinRite, но я слышал хорошие новости об этом в Интернете.

Для целей ссылки, поскольку этот ответ может представлять интерес для пользователей Mac, которые хотят проверить блоки тома, использующего NTFS: [Исправить поврежденные блоки на жестком диске Mac] (http://superuser.com/q/148227/84988 ) и в Ask Different [Какое бесплатное программное обеспечение с открытым исходным кодом можно использовать с оборудованием Mac для проверки целостности каждого блока диска, на котором используется Core Storage?] (http://apple.stackexchange.com/q/57869/ 8546) Graham Perrin 11 лет назад 1
Использование badblocks с -n повышает вероятность дальнейшего повреждения диска, особенно если имеется много плохих блоков, из-за чего микропрограмма исчерпывает «запасные» блоки. Taryn 5 лет назад 0
2
David Spillett

It depends on the filesystem you are using. If you are using ext2, etx3 or ext4 (IIRC Ubuntu 9.10 defaults to ext4 for new installs, earlier versions default to ext3) then you can run

e2fsck -c -c -k -C 0 /dev/device 

i.e.

e2fsck -c -c -k -C 0 /dev/sdc1 

for the filesystem on the first partition of drive sdc. The filesystem should not be mounted while this takes place, so if it is needed for your normal running system you will need to run e2fsck while booted from a "live CD" or similar.

The -c option is what causes the surface scan to be added to what the checker does, then second -c makes it do a non-destructive write+read test, -k tells it to keep any existing list of badblocks instead of retesting them and -C 0 just makes e2fsck output more progress information as it does its work. See man e2fsck for more detail.

The above will mark the bad blocks so that are not used in future. You will need to rerun it if you ever reformat the drive or that individual partition. You should also rerun it occasionally anyway, in case there are any "almost bad" sectors that degrade further. There is no way of "recovering" bad sectors.

I recommend you consider migrating your data onto another drive instead though, unless there is nothing of any real importance on there (i.e. it wouldn't inconvenience you overly if the drive suddenly got much worse and the data became practically unreadable or corrupt). If you don't replace the drive, make sure you have good backups in place for anything you do care about (though you should have a good backup regime in place anyway).

Спасибо, но я использую файловую систему NTFS на моем внешнем жестком диске. Эта команда также применима к этой ситуации? 14 лет назад 1
Насколько мне известно, нет стандартной команды / утилиты Linux для проверки / восстановления томов NTFS, с или без сканирования поверхности. Вам нужно будет попробовать с Windows-машины. David Spillett 14 лет назад 0
2
Kokizzu
0

Не уверен, что связано с NTFS:

Bad block HOWTO для smartmontools

Хотя это может теоретически ответить на вопрос, [было бы предпочтительнее] (http://meta.stackexchange.com/q/8259) включить сюда основные части ответа и предоставить ссылку для справки. Tom Wijsman 11 лет назад 0
0
RAJ
# ntfsresize -i /dev/sdb3  Device name : /dev/sdb3 NTFS volume version: 3.1 Cluster size : 4096 bytes Current volume size: 287967052288 bytes (287968 MB) Current device size: 287967052800 bytes (287968 MB) Checking filesystem consistency ... 100.00 percent completed Accounting clusters ... Space in use : 178645 MB (62.0%) Collecting resizing constraints ... You might resize at 178644316160 bytes or 178645 MB (freeing 109323 MB). Please make a test run using both the -n and -s options before real resizing!  # ntfsresize -ns /dev/sdb3  Non-destructive resize  # ntfsresize -s /dev/sdb3  Real resize! careful... 
Вероятно, было бы полезно дать немного контекста к блоку кода, который вы опубликовали. Я уверен, что те, кто знает, поймут без проблем. Но если ваш ответ будет полезен и для других, вы должны описать здесь, что на самом деле делают команды. JoshP 11 лет назад 1
0
Taryn

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

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

Криминалистическое отображение дисков и / или спасение неисправных дисков: Gnu ddrescue (не то же самое, что dd_rescue, хотя и похожее) Все должно быть выполнено с правами root.
Сначала убедитесь, что ваше устройство монтирует:
diskutil list Размонтируйте
источник (например, disk1) (и место назначения при отправке на физический раздел, а не в файл необработанного образа):
diskutil unmount disk1
Сделайте копию образа блок-блоком, с disk1 на монтируемую файл образа диска, создавая журнал и сначала сосредотачиваясь на читаемых частях:
ddrescue -v / dev / disk1 myrescueddisk.dmg rescue.log