2014-01-11 268 views
2

我有一个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的,流浪),我可以排除他们两个有理由相信如下:

  1. 如果我直接运行虚拟机从禁用VT-X的VirtualBox中,我得到的错误信息与我在使用hagvirtex关闭时的Vagrant中的框一样 - 可能不是Vagrant问题。
  2. 如果我使用的是精确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。

在VM从 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,所以留下硬件虚拟化上不是一种选择。

有没有其他的事情可以尝试,以解决这个问题?

回答

2

当然,草皮定律决定了花一个小时写了这个问题后,我通过其他来源遇到了答案......

的问题似乎是内核的组合,Gentoo使用(3.10 - 为什么Precise没有问题),并且在硬件虚拟化被禁用时一般支持guest虚拟机。有关VirtualBox的错误的人谁正在经历类似的问题是:

https://www.virtualbox.org/ticket/12469

不幸的是,主响应,到目前为止是“对不支持VT-x/AMD-V主机修复bug具有较低的优先级”。

相关问题