ddrescue 镜像无法安装

ddrescue 镜像无法安装

我正在尝试为朋友从外部硬盘恢复数据。

我正在使用 Knoppix 最新版本,从 USB 启动它。

我使用 的教程创建了一个图像 (.img) ddrescue,但现在我拥有该copia.img文件但无法安装它。

如果我尝试安装终端,则会显示:

mount: wrong fs type, bad option, bad superblock on .....

该驱动器用于存储照片,不包含任何操作系统或类似内容。

如果我对 copia.img 文件运行 File 命令,它会显示:

DOS/MBR 引导扇区,代码偏移 0x52+2,OEM-ID“NTFS”,媒体描述符 0xf8,扇区/磁道 63,磁头 255,隐藏扇区 63,dos <4.0 BootSector (0x80),FAT(描述符为 1Y biy) ;NTFS,扇区/磁道 63,扇区 1953520001,$MFT 起始簇 21931768,$MFTMirror 起始簇 477176,簇/RecordSgement 2,簇/索引块 8,序列号 0d2c6a522c6a507b5;包含 Microsoft Windows XP/Vista 引导加载程序 BOOTMGR

另外,如果我运行 dmesg 命令,它会显示:

在此输入图像描述

拜托你能帮我恢复它吗?

答案1

从调用的输出来看file,您的文件似乎是整个块设备的映像,包含多个分区,而不是单个文件系统。这解释了为什么mount无法挂载它:该命令支持挂载单个文件系统。

要挂载磁盘映像内的文件系统,您必须:

  1. fdisk -l在图像上运行以查找文件系统偏移量;
  2. 计算<offset> * <block size>以获得以字节为单位的偏移量;
  3. 从该文件的该偏移量处创建一个循环设备;
  4. 显式地使用该循环设备进行挂载。

我摘录自 https://web.archive.org/web/20170917154947/http://madduck.net/blog/2006.10.20:loop-mounting-partitions-from-a-disk-image/ 有完整的说明;这可能看起来像:

$ /sbin/fdisk -lu disk.img
[...]
Units = sectors of 1 * 512 = 512 bytes

      Device Boot      Start         End      Blocks   Id  System
[...]
disk.imgp7        10860003    68372639    28756318+  83  Linux

# losetup /dev/loop0 disk.img -o $((10860003 * 512))
# file -s /dev/loop0
/dev/loop0: Linux rev 1.0 ext3 filesystem data
# mount /dev/loop0 /mnt
[...]
# umount /mnt
# losetup -d /dev/loop0

同一篇博客文章表明,名为“kpartx”的新包可能能够自动执行计算。

相关内容