我有一个可疑的 ntfs 驱动器,有 2 个分区(来自一台 win2k 机器,除了进入安全模式外,该机器已停止完全启动)。我使用 ddrescue 分别复制了 2 个分区。
第一个成功了:
- 该分区标记为“系统”
sudo ddrescue /dev/sdd1 /media/chris/WINDOWS/win2k_machine/sdd1/sdd1.img ~/sdd1_rescue.log
运行没有错误,没有报告坏扇区。sudo mount -o loop /media/chris/WINDOWS/win2k_machine/sdd1/sdd1.img /media/win2ksys/
(曾经mkdir
首先创建安装点。所以我的方法看起来不错。
第二个无法安装:
- 该分区标记为“数据”,
sudo ddrescue /dev/sdd2 /media/chris/WINDOWS/win2k_machine/sdd2/sdd2.img ~/sdd2_rescue.log
运行时没有错误,没有报告坏扇区。请注意,我通过编辑前一个命令来生成该命令。输出文件的大小与分区相同(使用 gparted 检查) sudo mount -o loop /media/chris/WINDOWS/win2k_machine/sdd1/sdd2.img /media/win2kdata/
(再次使用mkdir
首先创建安装点,并再次通过编辑历史记录中的命令来生成命令)失败。
这失败了,mount: /media/win2kdata: wrong fs type, bad option, bad superblock on /dev/loop8, missing codepage or helper program, or other error.
我不确定图像中是否存在真正的错误,或者当我尝试安装它时出现问题。 ntfsfix
报告
mounting volume... ntfs_mst_post_read_fixup_warn: magic: 0x00000000 size: 1024 usa_ofs: 0 usa_count: 0: Invalid argument
Record 0 has no FILE magic (0x0)
Failed to load $MFT: Input/output error
FAILED
Attempting to correct errors... ntfs_mst_post_read_fixup_warn: magic: 0x00000000 size: 1024 usa_ofs: 0 usa_count: 0: Invalid argument
Record 0 has no FILE magic (0x0)
Failed to load $MFT: Input/output error
FAILED
Failed to startup volume: Input/output error
Checking for self-located MFT segment... ntfs_mst_post_read_fixup_warn: magic: 0x00000000 size: 1024 usa_ofs: 0 usa_count: 0: Invalid argument
OK
Unrecoverable error
Volume is corrupt. You should run chkdsk.
这确实是对损坏的驱动器进行映像的迹象,还是我尝试安装它的方式存在问题?我怀疑我是否可以在映像上运行 windows chkdsk,并且不想尝试在真实驱动器上运行它,直到我可以确定我已经获得了一个正常运行的映像。
答案1
看来您已将相同的日志/状态文件用于两次不同的ddrescue
.该文件用于跟踪已成功(或不成功)复制的块和扇区。
ddrescue
for的第一个实例/dev/sdd1
创建并更新了日志/状态文件~/sdd1_rescue.log
。的第二个实例ddrescue
(这次是/dev/sdd2
)无意中使用了相同的日志/状态文件。该文件记录了许多块/扇区已成功复制,因此ddrescue
可以跳过这些。不幸的是,这意味着从第二个块设备捕获的数据在很大程度上被忽略,并且生成的图像文件不完整。