dd if=/dev/sda of=image
让我们在单个文件中拥有未知磁盘驱动器未压缩的原始图像(例如由创建)。- 如果我们知道磁盘布局,我们可以通过跳过一些偏移量将文件中的特定分区挂载为循环设备。
- 假设我们不知道布局。我们能以某种方式“安装”整个磁盘驱动器吗
image
?哪个进程会根据磁盘布局创建虚拟块设备?例如,在 中有 2 个分区将image
导致创建 3 个设备(/dev/sdx
、/dev/sdx1
、/dev/sdx2
)。然后我们可以照常安装这些设备。
答案1
经过进一步研究,我发现至少有两种方法可以测试:
- 根据这邮政,
kpartx
是适用的工具。- 不幸的是它在 Arch Linux 上不起作用
- 它来自 AUR:
yaourt multipath-tools-git
,似乎没有得到很好的支持/完成,并最终出现以下错误:设备映射器:在 loop0p1 上重新加载 ioctl 失败:没有这样的设备
- 至少可以用来列出嵌入的分区:
kpartx -l image
- 编辑:根据这帖子,它似乎已经过时了,首选方法是以下方法。
- 根据这邮政,
losetup
可以使用。- 首先它不起作用:(
losetup /dev/loop0 image
缺少特定分区的设备)。 - 再次尝试使用附加
-P
选项完成工作:losetup -d /dev/loop0
,losetup -P /dev/loop0 image
并且/dev/loop0pX
创建了设备。 - 然后就可以按预期安装这些设备了,例如
mount /dev/loop0p3 /mnt/x -t ntfs
- 首先它不起作用:(