升级到 virtualbox 4.2.16 后,我的所有虚拟机在启动时都卡住了。
我尝试降级到 4.1.26,但仍然遇到同样的问题。
截图:( 没有足够的代表发布图片)
当我终止卡住的进程时,我收到错误“没有错误信息”
Result Code:
NS_ERROR_CALL_FAILED (0x800706BE)
Component:
ProgressProxy
Interface:
IProgress {c20238e4-3221-4d3f-8891-81ce92d9f913}
我一直在尝试寻找 virtualbox 的全局设置来清除它们并重新安装,但我只找到了特定于 VM 的设置。
它运行的系统是 xubuntu 12.10。我在另一台计算机上尝试了其中一个虚拟机,没有任何问题,所以我猜想这与实际的 virtualbox 安装/配置有关。
答案1
在系统选项中需要勾选“使用I/O APIC”
如果你使用 SATA 接口作为存储,则需要选中“使用主机 I/O 缓存”选项
答案2
我在 Ubuntu 14.04.1 amd64 下使用 VB 4.3.20 时遇到了同样的问题。VM 映像位于 BTRFS 磁盘上。
我通过关闭 VM 映像和快照文件的 COW 解决了这个问题。
您可以通过设置 NOCOW 属性来关闭单个文件的 btrfs 写时复制功能。这通常通过运行 来完成chattr +C filename
。这仅适用于空文件,因此您必须创建一个空文件,设置 NOCOW,将实际文件的内容复制到空文件中,然后重命名。(请参阅https://btrfs.wiki.kernel.org/index.php/FAQ#Can_copy-on-write_be_turned_off_for_data_blocks.3F)
还有一个 VB 错误报告(https://www.virtualbox.org/ticket/11862)说
在具有 btrfs 文件系统的 Linux 机器上,安装客户机一切顺利,但首次重新启动时,客户机冻结,并在启动阶段弹出显示“20%”的窗口。 [...] 我在 btrfs wiki 上进行了一些挖掘,发现写时复制 (COW) 会给任何虚拟化解决方案带来这种痛苦。
要设置 NOCOW 标志,请执行以下操作
F=vmimage
T=tmpfile
touch $T
chattr +C $T
dd if=$F of=$T bs=1M
rm $F
mv $T $F
用于lsattr
检查是否C
已设置。
答案3
我有过这样的行为。有帮助的是将机器导出到设备并将其导入回去。
答案4
当我尝试启动虚拟机时,如果其 VDI 磁盘映像文件配置的目录丢失,我在 Windows 上使用 VirtualBox 4.2.12 时也会收到同样的一般错误(“没有错误信息。”,其中“组件:ProgressProxy”)。