我有一个Gentoo虚拟机,我通过最新的(20131224)最小的x86 ISO和stage 3 tarball安装,使用genkernel
作为内核。在更新VM上的所有软件包并安装vim和virtualbox-guest-additions等一些附加软件之后,我创建了一个Vagrant框。Gentoo VirtualBox guest虚拟机没有硬件虚拟化引导
我Vagrantfile如下:
Vagrant.configure("2") do |config|
config.vm.box = "gentoo-x86"
config.vm.provider :virtualbox do |vb|
vb.gui = true
vb.customize ["modifyvm", :id, "--memory", 1024]
#vb.customize ["modifyvm", :id, "--hwvirtex", "off"]
vb.customize ["modifyvm", :id, "--cpus", 1]
end
end
既然这样,运行vagrant up
当箱靴子罚款。但是,如果我取消了禁止--hwvirtex
参数的行,以下错误显示在虚拟机控制台:
INIT: version 2.88 booting
INFO: rcu_sched detected stalls on CPUs/tasks: {} (detected by 0, t=2102, jiffies, g=4595, c=4594, q=10)
INFO: Stall ended before state dump start
两个INFO
线无限重复(随t=
值,我猜可能代表“时间” ),直到我运行vagrant halt
,然后是vagrant destroy
。我已经在两个不同的主机上(一个Ubuntu,一个Windows 7)尝试了这一点,并得到相同的错误信息。
我这种怀疑是Gentoo的问题,因为有三个主要组成部分(Gentoo的,VirtualBox的,流浪),我可以排除他们两个有理由相信如下:
- 如果我直接运行虚拟机从禁用VT-X的VirtualBox中,我得到的错误信息与我在使用hagvirtex关闭时的Vagrant中的框一样 - 可能不是Vagrant问题。
- 如果我使用的是精确32盒子(由Vagrant维护人员提供),它可以与hwvirtex一起使用或关闭(当它关闭时会有明显的性能损失,但我期望) - 可能不是VirtualBox问题。
我在VirtualBox/Vagrant中禁用VT-X(我的CPU支持它,它在BIOS中启用)。
我的CPU(来自/proc/cpuinfo
)是:Intel(R) Core(TM) i3-2120 CPU @ 3.30GHz。该机器安装了8GB的RAM,主机操作系统是Ubuntu 13.10。
uname -a
输出是:
Linux vagrant-gentoo-x86 3.10.25-gentoo #1 SMP Fri Jan 10 14:58:12 GMT 2014 i686 Intel(R) Core(TM) i3-2120 CPU @ 3.30GHz GenuineIntel GNU/Linux
我需要另一台机器上使用此框与旧的CPU(Intel E4600),不支持VT-X,所以留下硬件虚拟化上不是一种选择。
有没有其他的事情可以尝试,以解决这个问题?