Несколько ночей назад я создал резервную копию своих данных на внешнем жестком диске NTFS USB емкостью 500 ГБ. Затем я отформатировал свой компьютер, переустановил Ubuntu и начал возвращать данные с внешнего жесткого диска.
К сожалению, некоторые файлы повреждены, и Ubuntu не может их скопировать. Та же проблема возникает, если я вхожу в систему с помощью Windows 7.
Дисковая утилита обнаруживает с помощью SMART, что есть «несколько плохих секторов».
Некоторые файлы совершенно не повреждены, но другие файлы не могут быть доступны (ни прочитаны, ни скопированы ...), хотя они отображаются в nautilus и показывают правильный размер файла.
Что я могу сделать, чтобы восстановить эти данные? Я думал об использовании TestDisk , но эта утилита кажется более полезной для восстановления потерянных разделов или удаленных файлов.
Я также подумал об использовании ddrescue , чтобы я мог, по крайней мере, иметь копию диска низкого уровня, но я не уверен, что для этого нужно использовать для восстановления данных !!! [ 115]
Проблема решена! Я знаю, что это не связано с Ubuntu, но я думаю, что это может быть полезно для других.
Я обнаружил, что Window chkdsk
может решить проблему, потому что Ubuntu не поддерживает NTFS как хорошо, как это делает Windows. На выполнение задач ушло несколько часов / дней (просто сканирование Windows со всеми активированными параметрами), но в итоге мне удалось восстановить 99,98% данных.
Если диск имеет нечитаемые секторы. Один из возможных вариантов - создать его образ с помощью dd
, заставив его игнорировать поврежденные сектора, а затем смонтировать этот образ для чтения полезных данных.
Используйте команду sudo fdisk -l
, чтобы идентифицировать ваш USB-диск, обратите внимание на его путь к устройству, он должен выглядеть примерно так / dev / sd [*]
, где [*] - буква, обозначающая ваш USB-накопитель.
Если вы точно знаете путь к накопителю, который хотите скопировать, вы можете использовать dd
, чтобы создать его образ и использовать optio ns, чтобы продолжить чтение после неудачной попытки чтения данных
dd if=/dev/hd[*] of=/foo_path/foo_image conv=noerror,sync
. При этом будет прочитано устройство / dev / sd [*]
, выведено на / foo_path / foo_image
и ошибки чтения будут игнорироваться. / foo_path / foo_image
не должен находиться на том же диске, который вы читаете.
Итак, допустим, вы использовали sudo fdisk -l
и обнаружили, что ваш USB-накопитель - / dev / sdb
, затем вы можете использовать любую из этих команд для создания образа, просто заменив / dev / hd [*]
на / dev / sdb
.
Вам нужно создать точку монтирования, назовите ее / mnt / ddimage
sudo mkdir /mnt/ddimage
Теперь подключите к ней только что созданный образ
mount /foo_path/foo_image /mnt/ddimage -o loop
Теперь вы должны быть может читать любые полезные данные из клонированного образа диска.
Вместо использования dd
вы должны использовать инструмент, который лучше обрабатывает ошибки, а не заполнять их нулями. . У меня было много тайм-аутов, что делало процесс очень долгим и утомительным. Альтернативой является ddrescue
, который повторяет попытки сбойных секторов, а также немного быстрее пропускает сбойные секторы по моему опыту.
sudo apt-get install gddrescue
sudo ddrescue -d -r3 /dev/sda1 test.img test.logfile
Это создаст образ в текущем каталоге с именем test.img
диска / dev / sda1
. Конечно, вы можете сделать резервную копию всего диска, а не одного раздела. (Параметр r указывает ему трижды повторить попытку сбойных секторов - не забудьте файл журнала, иначе это не сработает) ddrescue также позволяет вам прервать / возобновить процесс, что действительно приятно. Не забудьте установить правильный размер блока: -b «размер блока», если вы получаете ошибки в -d «прямой режим»
Создайте папку, в которую вы хотите смонтировать образ и смонтировать образ
sudo mkdir /mnt/mybackup
mount test.img /mnt/mybackup -o loop
Проверить из следующего для получения дополнительной информации: https://www.gnu.org/software/ddrescue/manual/ddrescue_manual.html https://www.technibble.com/guide-using-ddrescue-recover-data/ https: //apple.stackexchange.com/questions/39504/best-way-to-copy-all-files-ignoring-errors