Успешное повторное выполнение ddrescue, но на выходе нет спасенного файла?
Я пытаюсь восстановить данные с диска с несколькими поврежденными секторами. Поврежденный раздел (раздел Windows, sdb2) больше не монтируется (это занимает много времени, а иногда приводит к аварийному завершению работы файлового менеджера ubuntu / запаздыванию), поэтому я попытался использовать ddrescue для восстановления его данных.
Я отформатировал другой диск (в 2 раза больше поврежденного раздела) в FAT (sda1) и намеревался использовать его в качестве аварийного диска.
Я запускаю эту команду:
*sudo ddrescue -B -v -n --force /dev/sdb2 /dev/sda1 récupérationLog2.log*
после 9 часов напряженной работы вывод консоли выглядит довольно неплохо, поскольку он упоминает о 953525 МБ восстановленных данных (на 1 ТБ разделе):
*GNU ddrescue 1.19
About to copy 953668 MiBytes from /dev/sdb2 to /dev/sda1.
Starting positions: infile = 0 B, outfile = 0 B
Copy block size: 128 sectors Initial skip size: 128 sectors
Sector size: 512 Bytes
Press Ctrl-C to interrupt
rescued: 953525 MiB, errsize: 142 MiB, current rate: 3072 B/s
ipos: 904228 MiB, errors: 513, average rate: 29903 KiB/s
opos: 904228 MiB, run time: 9.07 h, successful read: 0 s ago
Finished*
Все кажется довольно хорошим, но когда я монтирую раздел восстановления, sda1, кажется, что файла вообще нет. Все пусто. Конечно, он пытался перечислить скрытые файлы с помощью ls -a, но ничего здесь.
Это второй раз, когда я получаю то, что кажется довольно успешным, не получая никаких выходных файлов. Что-то я делаю не так? Что-нибудь еще, чтобы попробовать?
Спасибо, ребята, за вашу поддержку:)
никола
PS: вот выдержка из logFile
# Rescue Logfile. Created by GNU ddrescue version 1.19
# Command line: ddrescue -B -v -n --force /dev/sdb2 /dev/sda1 récupérationLog2.log
# Start time: 2017-04-18 09:47:59
# Current time: 2017-04-18 18:52:11
# Finished
# current_pos current_status
0xDCC247D000 +
# pos size status
0x00000000 0x0160C000 +
0x0160C000 0x00000200 -
0x0160C200 0x02B5FC00 /
0x0416BE00 0x00000200 -
0x0416C000 0x14B94000 +
0x18D00000 0x00000200 -
0x18D00200 0x003FFC00 /
0x190FFE00 0x00000200 -
0x19100000 0x4F570000 +
0x68670000 0x00000200 -
0x68670200 0x00005C00 /
0x68675E00 0x00000200 -
0x68676000 0x00094000 +
0x6870A000 0x00000200 -
0x6870A200 0x00001C00 /
0x6870BE00 0x00000200 -
0x6870C000 0x008E0000 +
0x68FEC000 0x00000200 -
0x68FEC200 0x00002C00 /
0x68FEEE00 0x00000200 -
0x68FEF000 0x0000A000 +
0x68FF9000 0x00000200 -
0x68FF9200 0x00006C00 /
0x68FFFE00 0x00000200 -
PS2: мне пришлось добавлять аргумент --force каждый раз, когда я пытался использовать ddrescue, он говорил, что не может запуститься из-за того, что файл ouputlog уже существует, даже если я каждый раз пробовал другое, еще не существующее, имя файла.
1 ответ
Я отформатировал другой диск (в 2 раза больше поврежденного раздела) в FAT (sda1)
[...]
sudo ddrescue -B -v -n --force /dev/sdb2 /dev/sda1 récupérationLog2.log
Это не так, как это работает. Вот что вы делаете сейчас:
- Вы копируете содержимое
/dev/sdb2
над/dev/sda1
- Вы пометили последнее как FAT в таблице разделов, но перезаписываете файловую систему NTFS.
- При попытке "смонтировать"
/dev/sda1
это не работает, потому что это, конечно, не файловая система FAT
Как примечание стороны, используя mount
восстановление данных редко является хорошим подходом, особенно если вы не уверены, что оно доступно только для чтения. Также не добавляйте акценты или специальные символы к именам файлов в терминале.
Что вы должны были сделать вместо этого:
- Создайте новый раздел для хранения файла образа неисправного раздела. Обратите внимание, что FAT не является приемлемым выбором, поскольку вы не можете хранить файлы FAT размером более 4 ГБ. NTFS или exFAT будет в порядке.
Смонтируйте указанный раздел и скопируйте диск в файл, например:
ddrescue /dev/sdb2 /media/user/External/copy.img /media/user/External/copy.log
Выполните восстановление данных на копии, как описано в разделе Восстановление поврежденных или удаленных разделов NTFS.