我需要在 Debian 8 系统上挂载 virtualbox 动态 vdi 映像。
有两种方法可以解决此任务:
- 使用vdfuse。但它已从 D8 存储库中删除,尽管它存在于 D7 wheezy 中并且我在 wheezy 上使用它。我尝试从 oracle 源代码编译 vdfuse,但它不会。
- 使用 qemu-nbd。这对我来说也不起作用。 qemu-nbd 将 vdi 映像安装到 /dev/nbd0 设备。但是没有可以作为块设备安装的分区。我想这是因为动态 vdi 映像。
这是类似的线程https://askubuntu.com/questions/19430/mount-a-virtualbox-drive-image-vdi这对我没有帮助。
在 Debian 7 上一切正常,并且可以从存储库安装 vdfuse,为什么在 Jessie 上会出现问题?
有出路吗?
答案1
请注意如果您已经安装了 Debian 8 版本的 VirtualBox,这可能不起作用。如果您需要安装 VirtualBox 并为其他虚拟映像工作,这可能会破坏这一点。
您可以手动安装所需软件包的 wheezy 版本。
下载适合您的架构的以下内容.debs
:
用于dpkg -i
按照下载顺序安装它们。
然后,按照以下步骤操作,摘自本教程页面(这与动态 VDI 相同,我测试了两者),安装 VHD/VDI。
为镜像创建挂载点
# mkdir /mnt/VHD
打开挂载点的镜像文件
# vdfuse -w -f <vhd 映像的路径> /mnt/VHD/
列出 vhd/vdi 映像的内容
# ls -l /mnt/VHD/
这将显示
整个磁盘
或者
整个磁盘 分区1 ︙ 分割X
为提取的映像创建安装点
# mkdir /mnt/mydiskP1 ︙ # mkdir /mnt/mydiskPX
并安装
# mount /mnt/VHD/Partition1 /mnt/mydiskP1 # ls -l /mny/mydiskP1
当你完成后,你必须umount
以相反的顺序进行所有事情
umount /mnt/mydiskP1
umount /mnt/VHD
笔记 您的图像文件的分区布局可能与描述的不同。如果是这种情况,那么谷歌搜索“linux mount disk image”就是你的朋友。
答案2
加载nbd模块
modprobe nbd max_part=16
将 vhd 映射到系统
qemu-nbd -c /dev/nbd0 image.qcow2
查看vhd中的分区
fdisk -l
挂载你想要的分区
mount /dev/nbd0p1 /mnt