Estou executando o ddrescue em uma unidade NTFS com falha. Não me lembro do que está na unidade, mas duvido que seja importante.
O GNU ddrescue
conseguiu recuperar facilmente cerca de 80% da unidade, mas é muito lento na recuperação do restante. Ele possui setores defeituosos em toda a unidade em um padrão repetitivo, portanto, levará séculos para extrair todos os dados da unidade:
Existem pedaços de dados bons no meio de cada pedaço ruim (que também estão em um padrão repetitivo):
mas leva dias para superar até mesmo o primeiro pedaço ruim, e existem milhares desses pedaços.
Então, quero apenas confirmar que os arquivos na unidade não são importantes e desistir.
Não consigo montar a imagem da unidade como está. Diz
$MFTMirr does not match $MFT (record 0).
Failed to mount '/dev/loop42': Input/output error
NTFS is either inconsistent, or there is a hardware fault, or it's a
SoftRAID/FakeRAID hardware. In the first case run chkdsk /f on Windows
then reboot into Windows twice. The usage of the /f parameter is very
important! If the device is a SoftRAID/FakeRAID then first activate
it and mount a different device under the /dev/mapper/ directory, (e.g.
/dev/mapper/nvidia_eahaabcc1). Please see the 'dmraid' documentation
for more details.
Se eu executar, ntfsfix
consigo montar a unidade e ver pastas e arquivos:
$MFTMirr does not match $MFT (record 0).
FAILED
Attempting to correct errors...
Processing $MFT and $MFTMirr...
Reading $MFT... OK
Reading $MFTMirr...
ntfs_mst_post_read_fixup_warn: magic: 0x00000000 size: 1024 usa_ofs: 0 usa_count: 0: Invalid argument
ntfs_mst_post_read_fixup_warn: magic: 0x00000000 size: 1024 usa_ofs: 0 usa_count: 0: Invalid argument
ntfs_mst_post_read_fixup_warn: magic: 0x00000000 size: 1024 usa_ofs: 0 usa_count: 0: Invalid argument
ntfs_mst_post_read_fixup_warn: magic: 0x00000000 size: 1024 usa_ofs: 0 usa_count: 0: Invalid argument
OK
Comparing $MFTMirr to $MFT... FAILED
Correcting differences in $MFTMirr record 0...OK
Correcting differences in $MFTMirr record 1...OK
Correcting differences in $MFTMirr record 2...OK
Correcting differences in $MFTMirr record 3...OK
Processing of $MFT and $MFTMirr completed successfully.
Setting required flags on partition... OK
Going to empty the journal ($LogFile)... OK
Checking the alternate boot sector... FIXED
NTFS volume version is 3.1.
NTFS partition /dev/loop43 was processed successfully.
Então posso montá-lo, e tudo o que vejo são coisas sem importância das quais tenho cópias duplicadas.
Mas como posso saber se está listadotodosos arquivos e pastas que estavam na unidade?
Existe alguma maneira de visualizar $MFT e $MFTMirr vbindiff
e corrigir manualmente quaisquer bits ausentes em um usando a cópia no outro? Eu li que o MFT está espalhado por toda a unidade. Como posso saber se recuperou todo o MFT?