如何在 Linux 上安装 VirtualBox .vdi 磁盘?

如何在 Linux 上安装 VirtualBox .vdi 磁盘?

我在 VirtualBox 上运行 Fedora。有时为了进行一些实际的硬件测试,我需要在物理机上运行我的开发环境。因此,我需要虚拟机的硬盘(.vdi 文件)通过启动可启动映像、安装 vdi 文件,然后 chrooting 到它,在虚拟机本身和我的物理 PC 上交替工作。

我以为这很容易实现,但似乎并非如此。我希望在这里找到答案。

答案1

您可以将其安装为环回设备。您可以使用的工具只是“mount”或“losetup”。诀窍是了解所需的偏移量。为此,您需要“vditool”或“vdiinfo”。

这里有一篇很好的文章,很好地解释了这一点:

http://muralipiyer.blogspot.com/2008/02/mounting-virtualbox-vdi-disk-authentic.html

答案2

这里是 OpenSuse,vdfuse 对我来说,无论是固定图像还是动态图像,都运行良好。从以下网址下载 rpm: http://download.opensuse.org/repositories/Virtualization/openSUSE_Factory/x86_64/vdfuse-8.2a-5.54.x86_64.rpm

  1. 安装(出现提示时按 i 忽略文件校验和)
  2. 为第一个挂载点创建目录
  3. 跑步sudo vdfuse -f "/home/sys1.vdi" /VBMount
  4. 为第二个挂载点创建目录
  5. 跑步sudo mount /VBMount/Partition1 /VBMountPart1/

答案3

由于接受的答案似乎已经过时(我相信vditool已经被淘汰了vbox-img,请参阅这里),下面是我在 Linux 系统上挂载 .vdi 映像的操作:

  1. 运行vbox-img info --filename /path/to/image.vdi。保存以以下行开头的行旁边列出的 uuidHeader: uuidCreation
  2. vboximg-mount -i [UUID] /path/to/intermediate/mountpoint使用上一步中的 UUID运行以挂载映像(我的是包含 Windows 安装的 /vdi)(来源
  3. (可选)要了解每个分区上的内容/您可能想要挂载哪个分区,请运行sudo fdisk -lu /path/to/intermediate/mountpoint/vhdd
  4. 使用 检查下一个可用的循环挂载点losetup -f,如果你以前没有这样做过,它很可能是 /dev/loop0,但再检查一下也不会有什么坏处——这些说明将假设你正在使用 loop0(来源
  5. 跑步sudo losetup -P /dev/loop0 /path/to/intermediate/mountpoint/vhdd来源)。这将生成几个具有基于分区的命名方案的挂载点(/dev/loop0p1/dev/loop0p2.etc)
  6. 使用 挂载您感兴趣的单个分区sudo mount /dev/loop0p[N] /path/to/mountpoint,并将其替换[N]为您想要的分区号。

卸载:

  1. sudo umount /path/to/mountpoint卸载你的文件
  2. sudo losetup -d /dev/loop0卸载每个分区的所有挂载点(来源
  3. sudo umount /path/to/intermediate/mountpoint卸载 virtualbox 映像(来源

答案4

从 VirtualBox 7 开始,现在有该工具vboximg 安装适用于 Linux 和 OS X 挂载图像。

使用示例:

$ vboximg-mount --image /vbox/Fedora/Fedora.vdi --list

Virtual disk image:

   Base: /vbox/Fedora/Fedora.vdi
   UUID: de961064-98d8-474c-8d69-a70da7db60de

Partition      Boot      Start  Sectors      Size       Offset  Type                  
Fedora.vdi(0)             2048  1228800    600.0M      1048576  EFI system partition  
Fedora.vdi(1)          1230848  2097152      1.0G    630194176  Linux native          
Fedora.vdi(2)          3328000  125829120   60.0G   1703936000  Linux native          
Fedora.vdi(3)        129157120  80556032    38.4G  66128445440  Linux native

$ mkdir /tmp/mnt
$ vboximg-mount --image /vbox/Fedora/Fedora.vdi --rw /tmp/mnt
$ ls -l /tmp/mnt
total 22759832
lr--r--r-- 1 root   root               0 Apr 25 08:26 Fedora.vdi -> /vbox/Fedora/Fedora.vdi
-rw-r--r-- 1 nobody nogroup 107374182400 Apr 25 08:43 vhdd
-rw-rw-rw- 1 root   root       629145600 Jan  1  1970 vol0
-rw-rw-rw- 1 root   root      1073741824 Jan  1  1970 vol1
-rw-rw-rw- 1 root   root     64424509440 Jan  1  1970 vol2
-rw-rw-rw- 1 root   root     41244688384 Jan  1  1970 vol3
$ fusermount -u /tmp/mnt

相关内容