尝试从崩溃的 1TB ntfs 驱动器安装 ddrescue 映像

尝试从崩溃的 1TB ntfs 驱动器安装 ddrescue 映像

我在 Ask Ubuntu 上询问了这个问题,但没有成功,他们建议以超级用户的身份重新发布它,所以我来了!

是时候了,五年后,我的 1TB 外置硬盘(里面有我所有的家庭照片和音乐)崩溃了。愚蠢的是,我没有在 RAID 中安装两个硬盘,我刚刚买了两个硬盘,这样就不会再发生这种情况了。

我成功地使用 dd_rescue 将文件救援到我服务器上的另一个 2tb 电影驱动器中,但是我似乎无法理解如何安装这个 .img 文件。

我正在使用 GNU ddrescue。

我也尝试在 Windows 7 上运行 chkdsk \f,但它给出了错误“磁盘空间不足以修复卷位图。CHKDSK 已中止。”。根据微软网站关于此错误消息的说法:“如果可以,请从 NTFS 卷中删除一些不需要的文件,然后重试 Chkdsk 命令。如果无法删除任何文件,则必须重新格式化 NTFS 卷并从备份中恢复数据。”。由于我无法从映像中释放空间,我不知道该怎么做。而且 1TB 中只有 400GB 被使用过,所以错误消息真的没有任何意义。Ask Ubuntu 上的一个人说这也可能是因为损坏非常严重,但根据 ddrescue 的说法,errsize 只有 31mb,所以这也没有任何意义。

以下是我执行 ddrescue 命令的方法

sudo ddrescue /dev/sdh1 /media/external/rescue/rescue.img /media/external/rescue/rescuelog

Initial status (read from logfile)
rescued:        1 TB,  errsize:  30944 kB,  errors:     345
Finished

这是我的测试命令

文件图像.img

image.img: x86 boot sector, code offset 0x52, OEM-ID "NTFS    ", sectors/cluster 8, reserved sectors 0, Media descriptor 0xf8, heads 255, hidden sectors 2048, dos < 4.0 BootSector (0x80)

fdisk -l 映像.img

Disk image.img: 1000.2 GB, 1000203091968 bytes
255 heads, 63 sectors/track, 121601 cylinders, total 1953521664 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x2052474d

This doesn't look like a partition table
Probably you selected the wrong device.

    Device Boot      Start         End      Blocks   Id  System
image.img1   ?     6579571  1924427647   958924038+  70  DiskSecure Multi-Boot
image.img2   ?  1953251627  3771827541   909287957+  43  Unknown
image.img3   ?   225735265   225735274           5   72  Unknown
image.img4      2642411520  2642463409       25945    0  Empty

Partition table entries are not in disk order

我完全不知道为什么 fdisk 会显示所有这些奇怪的分区,例如“DiskSecure Multi-Boot”和两个“未知”分区,但 parted 命令给了我看似正确的信息

parted image.img 打印

WARNING: You are not superuser.  Watch out for permissions.
Model:  (file)
Disk /media/external/Rescue/image.img: 1000GB
Sector size (logical/physical): 512B/512B
Partition Table: loop

Number  Start  End     Size    File system  Flags
 1      0.00B  1000GB  1000GB  ntfs

我不确定我是否有正确的标志等,但我在这里尝试安装驱动器

sudo mount -r -o loop 镜像.img /mnt

ntfs_mst_post_read_fixup_warn: magic: 0x00000000  size: 4096   usa_ofs: 0  usa_count: 65535: Invalid argument
Index buffer (VCN 0x0) of directory inode 0x5 has a size (24) differing from the directory specified size (4096).
ntfs_mst_post_read_fixup_warn: magic: 0x00000000  size: 4096   usa_ofs: 0  usa_count: 65535: Invalid argument
Index buffer (VCN 0x0) of directory inode 0x5 has a size (24) differing from the directory specified size (4096).
ntfs_mst_post_read_fixup_warn: magic: 0x00000000  size: 4096   usa_ofs: 0  usa_count: 65535: Invalid argument
Index buffer (VCN 0x0) of directory inode 0x5 has a size (24) differing from the directory specified size (4096).

现在它实际上已安装在 /mnt 上,但是执行 ls /mnt 时它返回“读取目录 /mnt/:输入/输出错误”

任何帮助都会受到赞赏,甚至猜测也非常受欢迎。

提前致谢!

答案1

我想我遇到过同样的问题(来自故障的 ddrescue NTFS 驱动器的分区表损坏(弄乱了“fdisk -l”,但正确的“parted”,mount 命令会失败

Failed to read last sector (1953520001): Invalid argument
HINTS: Either the volume is a RAID/LDM but it wasn't setup yet,
   or it was not setup correctly (e.g. by not using mdadm --build ...),
   or a wrong device is tried to be mounted,
   or the partition table is corrupt (partition is smaller than NTFS),
   or the NTFS boot sector is corrupt (NTFS size is not valid).
Failed to mount '/dev/loop0': Invalid argument
The device '/dev/loop0' doesn't seem to have a valid NTFS.
Maybe the wrong device is used? Or the whole disk instead of a
partition (e.g. /dev/sda, not /dev/sda1)? Or the other way around?

我设法使用命令挂载了已拯救的图像

sudo ntfs-3g -o force imagefile /mountpoint

我认为这相当于

sudo mount -t ntfs-3g imagefile /mountpoint

(在此处找到)http://www.makeuseof.com/tag/fix-corrupted-windows-ntfs-filesystem-ubuntu/(如果我费心去读手册页的话......那就太愚蠢了。))

相关内容