我能够使用以下命令备份驱动器。
pv -EE /dev/sda > disk-image.img这一切都很好,但是现在我无法看到这些文件,除非我使用以下命令
pv disk-image.img > /dev/sda当然,这会将数据写回磁盘,这不是我想要做的。我的问题是,我可以做什么来挂载.img文件本身,而不是仅仅写回磁盘?
我尝试过使用循环挂载,但它似乎抱怨NTFS无效。
$ mount -o loop disk-image.img
mount: disk-image.img: can't find in /etc/fstab.
$ mount -o loop disk-image.img /mnt/disk-image/
NTFS signature is missing.
Failed to mount '/dev/loop32': Invalid argument
The device '/dev/loop32' 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?发布于 2018-09-13 22:21:31
您备份了整个磁盘,包括MBR (512字节),而不是可以挂载的简单分区,因此必须跳过MBR。
请试一试:
sudo losetup -o 512 /dev/loop0 disk-image.img
sudo mount -t ntfs-3g /dev/loop0 /mnt 编辑:按@grawity的建议:
sudo losetup --partscan /dev/loop0 disk-image.img
sudo mount -t ntfs-3g /dev/loop0 /mnt 发布于 2018-09-14 09:25:44
正如其他人已经指出的,
sudo losetup /dev/loop0 /path/to/disk-image.img将设置一个可用于访问文件的虚拟块设备,但它不允许您轻松访问分区。
但是,之后还可以使用另一个命令来访问磁盘映像文件中的所有分区,而无需手动计算分区偏移量:
sudo kpartx -a /dev/loop0这将读取磁盘映像中的分区表,并为所有分区创建诸如/dev/mapper/loop0p1、/dev/mapper/loop0p2等设备。您可以正常使用这些来挂载分区。
(如果您不记得每个分区是什么,可以使用fdisk -l /dev/loop0在磁盘映像中查看分区表;只需注意,在这种情况下,许多版本的fdisk会稍微有点奇怪地显示分区设备的名称。)
一旦完成了对磁盘映像的访问,就可以通过卸载已挂载的分区,然后使用两个命令来撤消这个设置:
sudo kpartx -d /dev/loop0 # remove the /dev/mapper/loop0pN partition mappings
sudo losetup -d /dev/loop0 # disconnect the image file from the loop devicekpartx命令最初是作为多路径设备的工具开发的(用于SAN存储系统),但它也完全可以用于磁盘映像。
发布于 2018-09-13 22:29:59
如果您还没有安装P7zip-满,请使用
sudo 7z /pathtowhereitis/whatever.imghttps://unix.stackexchange.com/questions/468897
复制相似问题