如何从文件创建虚拟块设备?

如何从文件创建虚拟块设备?
  • dd if=/dev/sda of=image让我们在单个文件中拥有未知磁盘驱动器未压缩的原始图像(例如由创建)。
  • 如果我们知道磁盘布局,我们可以通过跳过一些偏移量将文件中的特定分区挂载为循环设备。
  • 假设我们不知道布局。我们能以某种方式“安装”整个磁盘驱动器吗image?哪个进程会根据磁盘布局创建虚拟块设备?例如,在 中有 2 个分区将image导致创建 3 个设备(/dev/sdx/dev/sdx1/dev/sdx2)。然后我们可以照常安装这些设备。

答案1

经过进一步研究,我发现至少有两种方法可以测试:

  1. 根据邮政,kpartx是适用的工具。
    • 不幸的是它在 Arch Linux 上不起作用
    • 它来自 AUR: yaourt multipath-tools-git,似乎没有得到很好的支持/完成,并最终出现以下错误:

      设备映射器:在 loop0p1 上重新加载 ioctl 失败:没有这样的设备

    • 至少可以用来列出嵌入的分区:kpartx -l image
    • 编辑:根据帖子,它似乎已经过时了,首选方法是以下方法。
  2. 根据邮政,losetup可以使用。
    • 首先它不起作用:(losetup /dev/loop0 image缺少特定分区的设备)。
    • 再次尝试使用附加-P选项完成工作:losetup -d /dev/loop0losetup -P /dev/loop0 image并且/dev/loop0pX创建了设备。
    • 然后就可以按预期安装这些设备了,例如mount /dev/loop0p3 /mnt/x -t ntfs

相关内容