是否可以安装 VirtualBox 驱动器映像 (.vdi) 以便在 Nautilus 等中查看其内容?
我有一个 Windows 2000 .vdi,从 VirtualBox 2.x 升级到 3.1.6 后无法启动(“无法访问的启动设备”)。我相信 IDE 驱动器详细信息已更改,我需要做的就是访问内部驱动器映像并编辑 Windowsboot.ini
以指向新位置。
答案1
使用qemu-nbd
,流程解释在服务器故障上和在这篇博客中。
qemu
基本上,如果需要,你必须安装:
sudo apt-get install qemu qemu-utils
然后你需要加载网络块设备模块:
sudo rmmod nbd
sudo modprobe nbd max_part=16
将 .vdi 映像附加到刚刚创建的其中一个 nbd:
sudo qemu-nbd -c /dev/nbd0 drive.vdi
现在您将获得一个 /dev/nbd0 块设备,以及几个 /dev/nbd0p* 分区设备节点。
sudo mount /dev/nbd0p1 /mnt
完成后,卸载所有内容并断开设备连接:
sudo qemu-nbd -d /dev/nbd0
答案2
您可以转换为标准图像然后安装它。
VBoxManage clonehd --format RAW ubuntu.vdi ubuntu.img
然后
mount -t ext3 -o loop,rw ./ubuntu.img /mnt
在这种情况下,您需要知道文件系统的类型ext3
。安装后,进入并使用您选择的编辑器进行编辑。不要将/mnt
位置内的文件与正在运行的主机混淆,否则会很糟糕。
要检查有关 VDI 文件的详细信息,请运行:VBoxManage showhdinfo ubuntu.vdi
。
答案3
看起来像保险丝就是你要找的工具。它位于 Ubuntu 存储库中。如果你想自己编译(2010 源代码),你可以也这样做。
然而对于我们大多数人来说,它可以归结为一个简单的问题:
sudo apt-get install virtualbox-fuse
看来它现在也支持动态 vdi。
要将.vdi
文件挂载到目录中,/mnt
请使用以下命令:
sudo vdfuse -a -f /path-to-vdi-file /mnt
整个磁盘将以分区Partition1
、Partition2
命名格式挂载。然后可以循环挂载这些文件。例如,
sudo mount -o loop /mnt/Parition1 /mountpoint
答案4
使用以下命令使VirtualBox
磁盘映像可供主机使用vboximg 安装公用事业:
打开VDI
sudo mkdir -p /mnt/vdi/expanded
sudo vboximg-mount -i <path-to-vdi> -o allow_other /mnt/vdi/expanded
输出示例
ls /mnt/vdi/expanded
<filename.vdi> vhdd vol0 vol1
挂载磁盘
mkdir /mnt/vdi/vol1
sudo mount /mnt/vdi/expanded/vol1 /mnt/vdi/vol1
卸载
cd /mnt # Optional (avoid mount: ... target is busy)
sudo umount /mnt/vdi/vol1 # Order importent
sudo umount /mnt/vdi/expanded
rm -rf /mnt/vdi # Optional (clean-up resources)