Я запускал ddrescue на неисправном диске NTFS. Я не помню, что на диске, но сомневаюсь, что это важно.
GNU ddrescue
смог легко восстановить около 80% диска, но затем очень медленно восстанавливает остальное. У него есть плохие сектора по всему диску в повторяющемся шаблоне, так что потребуется целая вечность, чтобы очистить каждый бит данных с диска:
В середине каждого плохого фрагмента есть фрагменты хороших данных (которые также повторяются):
но чтобы преодолеть даже первый плохой участок, требуются дни, а таких участков тысячи.
Поэтому я просто хочу убедиться, что файлы на диске не важны, и сдаться.
Я не могу смонтировать образ диска как есть. Он говорит
$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.
Если я запущу, ntfsfix
то смогу смонтировать диск и увидеть папки и файлы:
$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.
Итак, я могу его смонтировать, и все, что я вижу, — это неважные вещи, копии которых у меня есть.
Но как я узнаю, что это листинг?всефайлы и папки, которые были на диске?
Есть ли способ просмотреть $MFT и $MFTMirr и vbindiff
их и вручную исправить любые отсутствующие биты в одном, используя копию в другом? Я читал, что MFT разбросан по всему диску. Как узнать, восстановил ли он все MFT?