在 Linux 主机上安装/打开 VirtualBox 磁盘映像 (VDI)

在 Linux 主机上安装/打开 VirtualBox 磁盘映像 (VDI)

是否可以像 iso 那样挂载 vdi?或者使用某些存档程序打开它?如果可以,怎么做?

编辑:我的 vdi 正在动态扩展存储并且我也有快照。

答案1

对于固定和动态尺寸的图像:

在 Linux 上,您可以使用qemu-nbd。在 Debian 上,它位于 qemu-tools 包中。它可能位于其他发行版的类似包中。它允许您挂载 qemu 识别的任何磁盘映像,包括 VDI。

安装它,modprobe nbd确保它已加载,然后执行 aqemu-nbd -c /dev/nbd0 <vdi-file>使其可用。除非另有说明,否则它将显示为映像中每个分区的 /dev/nbd0p?。有关更多详细信息,请参阅手册页。

完成后,qemu-nbd -d /dev/nbd0将其分离。

确保不要同时将其连接到多个位置!这将导致问题!

答案2

固定大小磁盘驱动器的工具:
可以使用静态 vdi 映像(固定大小,不动态扩展)来完成。只需在映像中找到分区开始的偏移量即可。

这是包含 shell 脚本的页面它可以帮您自动完成整个过程。

如果是动态的:
方法 1
如果您使用的是动态尺寸图像,请将其转换为固定尺寸图像(确保您有高清空间),然后使用上述工具(参考):

vditool COPYDD myDynamicDisk.vdi static_dump.vdi

方法 2
读完后发现 vditool 不再包含在内。创建分区映像的一个简单方法是使用gparted iso作为 Virtualbox VM 内部的启动盘,将分区的映像创建到网络上的某个位置,然后挂载该映像。

保险丝模块:
还有一个保险丝这个文件系统称为挂载它可以做到这一点,但我不确定它的效果如何。

答案3

如果我们知道你为什么想要这个,你可能会得到更好的答案。virtualbox 不再工作了吗?你想更快地传输到虚拟机吗?

无需“运行”虚拟机即可实现动态 + 快照的最简单方法是将虚拟机引导至 livecd iso 映像。然后,您可以使用 sshfs、smbfs、nfs 等在主机上安装正在运行的虚拟机的驱动器。

如果是静态的并且没有快照,您也可以将磁盘保留为 vmware 格式(virtualbox 支持它)并使用 vmware 的 vmmount.pl 进行挂载。

如果传输速度是个问题,请确保您的主机和虚拟机位于主机和虚拟机的主机文件中,或者通过其他方法进行名称解析。(DNS 等)

相关内容