这次由于某些迷一样的问题,我需要挂载一个RAW格式的磁盘镜像,并且从里面复制数据出来。该磁盘镜像是分过区的,单分区NTFS格式。之前的用途是作为某虚拟机的数据盘。
首先我们按照网上的做法把它绑定到loop设备。
losetup /dev/loop0 disk.img
然后找到map分区到内核空间。然而这一步并没有什么鸟用。
kpartx -al /dev/loop0
loop0p1 : 0 1046528 /dev/loop0 2048
正确的做法是在挂载选项里面添加偏移量作为参数挂载,就可以妥当地把数据读出来了。
mount -o offset=1048576 disk.img /mnt/disk
这个数字是分区起始扇区乘以扇区大小得到的,这里就是2048×512=1048576。
事后发现其实在kpartx的时候加-f参数,完了就可以在/dev/mappper找到loop0p1了。otz
caoli5288
奇怪有时候loop0p1分区总是找不到=。=