![挂载由 ddrescue 拯救的完整磁盘映像](https://linux22.com/image/1354314/%E6%8C%82%E8%BD%BD%E7%94%B1%20ddrescue%20%E6%8B%AF%E6%95%91%E7%9A%84%E5%AE%8C%E6%95%B4%E7%A3%81%E7%9B%98%E6%98%A0%E5%83%8F.png)
我在 Linux 中使用 ddrescue 恢复了完整的 NTFS 磁盘。问题是,我不仅恢复了分区 (sdX#),还恢复了带有分区表的完整磁盘 (sdX)。
将磁盘分区挂载为环回设备确实很容易,但是有没有办法以相同的方式挂载完整磁盘映像的分区?我可以将映像写入另一个磁盘,但我觉得没有必要。
答案1
如果您对整个驱动器进行映像处理,则可以将偏移选项与 mount 命令一起使用。mmls(来自侦探工具包)可以显示图像内的分区
$ mmls image -b
DOS Partition Table
Offset Sector: 0
Units are in 512-byte sectors
Slot Start End Length Size Description
00: ----- 0000000000 0000000000 0000000001 0512B Primary Table (#0)
01: ----- 0000000001 0000000031 0000000031 0015K Unallocated
02: 00:01 0000000032 0001646591 0001646560 0803M DOS FAT16 (0x06)
03: 00:00 0001646592 0002013183 0000366592 0179M DOS FAT16 (0x06)
从第 32 块开始挂载 DOS 分区:
sudo mount -o loop,offset=16384 image mnt
(32 乘以 512 字节块 = 16384)
要安装 Windows 创建的典型 NTFS 分区,请使用:
sudo mount -t ntfs -o r,force,loop,offset=32256 image mnt
(63 乘以 512 字节块 = 32256)
答案2
另一个解决方案是使用 losetup 将映像映射到块设备,然后使用 kpartx 扫描回送设备并为每个分区创建块设备,然后挂载这些设备。类似于(未经测试)
losetup /device/loop0 /path/to/file.img
kpartx /dev/loop0
mount /device/mapper/loop0p1 /mntpath