sco*_*res 51
kpartx 工具使这更容易。它在 /dev/mapper 中为映像中的每个分区创建循环设备。然后,您可以挂载与所需分区对应的循环设备,而无需手动计算偏移量。
例如,要挂载磁盘映像的第一个分区:
kpartx -a -v myimage.disk
mount /dev/mapper/loop0p1 /mnt/myimage
Run Code Online (Sandbox Code Playgroud)
完成图像后,删除循环设备:
umount /mnt/myimage
kpartx -d -v myimage.disk
Run Code Online (Sandbox Code Playgroud)
或者,如果您有一个最新的内核,并在启动时传递 loop.max_part=63(如果循环是内置的)或 modprobe(如果循环是一个模块),那么您可以这样做:
losetup /dev/loop0 myimage.disk
partprobe /dev/loop0 # Re-read partition table if /dev/loop0 was used with a different image before
mount /dev/loop0p1 /mnt/myimage
Run Code Online (Sandbox Code Playgroud)
完成循环后:
losetup -d /dev/loop0
Run Code Online (Sandbox Code Playgroud)
发现这个:
http://www.andremiller.net/content/mounting-hard-disk-image-including-partitions-using-linux
这似乎正是我正在寻找的。
这是关键部分:
mount -o loop,ro,offset=32256 hda.img /mnt/rabbit
Run Code Online (Sandbox Code Playgroud)
其中 offset 的值以字节为单位。获得偏移量的建议方法是指向parted
图像,然后以字节为单位 B 并从打印输出中获取起始值。作为替代方案,假设您有磁盘空间,请执行显而易见的操作:一旦您有了偏移量和大小,只需使用dd
将每个分区提取到一个单独的文件即可。
如今,您可以通过使用udisks
. 来自ArchWiki 的解决方案:udisks - Mount loop devices
要轻松挂载 ISO 映像,请使用以下命令:
Run Code Online (Sandbox Code Playgroud)udisksctl loop-setup -r -f image.iso
这将创建一个循环设备并显示准备安装的 ISO 映像。卸载后,循环设备将被 udev 终止。
-r
那里是只读选项。
归档时间: |
|
查看次数: |
49274 次 |
最近记录: |