在新主机

时间:2017-11-14 22:53:58

标签: windows ubuntu vagrant virtualbox development-environment

最近,我的工作笔记本电脑死了,我试图让我的项目安装在我车库里的另一台笔记本电脑上。我的项目使用Oracle的Virtualbox软件生活在一个可靠的64 Ubuntu流浪盒中。但是,我遇到了一些问题,试图让流浪汉设置在这台笔记本电脑上运行。我也在家用桌面上运行了这个项目,而且一切正常。

这款笔记本电脑是2012年的Gateway NE56R12u,内存为8 GB。它有一个运行Windows 10 Professional的64位双核处理器(我在这台笔记本电脑上安装了Ubuntu 16.04以及进行双启动,使用Ubuntu操作系统时使用Windows 10时出现了相同的错误)我的家用桌面(一切正常)也是Windows 10 Professional。我在两台Windows 10计算机上都使用Vagrant 2.0.0和VirtualBox 5.1.28。他们在同一个分支上启动同一个项目。

当查看笔记本电脑上的Virtualbox GUI时,它只显示32位盒子选项,这似乎是由于缺乏可用的硬件加速(我没有在BIOS中找到任何加速选项)。 Virtualbox GUI抛出一个错误,表示由于缺少加速属性,该框将​​无法检测到我有64位处理器。加速选项卡无法访问。所以我已经转而试图使用一个32位的“可信赖的”'框。

但是,我仍然遇到问题,无法使用虚拟机。问题似乎与网络连接和连接到我的文件系统有关。

当我输入vagrant up时,它会正常启动:

Bringing machine 'default' up with 'virtualbox' provider...
==> default: Importing base box 'ubuntu/trusty32'...
==> default: Matching MAC address for NAT networking...
==> default: Checking if box 'ubuntu/trusty32' is up to date...
==> default: Setting the name of the VM: directoryName_default_1509067920271_59622
==> default: Clearing any previously set forwarded ports...
==> default: Clearing any previously set network interfaces...
==> default: Preparing network interfaces based on configuration...
    default: Adapter 1: nat
==> default: Forwarding ports...
    default: 3000 (guest) => 3000 (host) (adapter 1)
    default: 22 (guest) => 2222 (host) (adapter 1)
==> default: Running 'pre-boot' VM customizations...
==> default: Booting VM...
==> default: Waiting for machine to boot. This may take a few minutes...
    default: SSH address: 127.0.0.1:2222
    default: SSH username: vagrant
    default: SSH auth method: private key

然后挂在那里直到超时。

进入Virtualbox GUI并观看设备启动,我看着它挂在这里:

waiting 10 seconds for network device
waiting 120 seconds for network device
然后它说它放弃了等待网络设备并继续。最终,它会在这里停下来:

Waiting for network configuration...
Waiting up to 60 more seconds for network configuration...
Booting system without full network configuration

然后它快速完成启动并切换到Vagrant登录屏幕,我可以成功登录。登录后,我的文件系统中没有文件存在。我开始启动过程的命令行此时仍未更改。它等待来自Vagrantfile的完全超时,然后抛出它超时的错误。我无法进入。

到目前为止我做了什么:

我已检查是否已启用虚拟机的网络适配器。我在我的Vagrantfile中将PAE设置为on,否则它会自动设置为off并在启动时抛出致命错误(我尝试转动paehwvirtexvtxvpid,和vtxux全部关闭我的Vagrantfile)。我确保它只有一个处理器集。我已尝试在Virtualbox设置中提供的每个网络适配器设置,并且没有任何更改。我在命令行上以管理员身份运行bcdedit /set hypervisorlaunchtype off。我已经从.vagrant.d销毁了.VirtualBox文件夹,VirtualBoxVMs文件夹和~/user文件夹。我尝试了不同的网络选项,例如public network和具有本地IP地址的专用网络。

注意:运行bcdedit /set hypervisorlaunchtype off后,我的虚拟机不再显示在Virtualbox GUI中。但是,我第一次在运行该命令后删除了.folder,我的机器第一次成功启动了该框,所有内容都正常运行。但是,第二天,当我从暂停的机器中使用vagrant up时,它再也不能工作了。有时,Vagrant没有超时,而是给出了机器进入“未知”状态的无效状态的错误。国家或者暂停了#39;州。但是,这种行为并不一致。

我还重新安装了Virtualbox和Vagrant,尝试了Virtualbox版本5.1.30和版本5.2(我立刻学会了与Vagrant不兼容,这很有趣)。有一次,在重新安装Virtualbox之后,它工作了一次,然后在停止后立即再次破坏。再次重新安装不会使其工作。我尝试使用hashicorp/precise32框,虽然创建,引导,并且可以通过访问我的文件系统访问ssh,但它似乎不支持版本1.1.14和npm install之后的节点或版本的npm失败。尝试在命令行上启动时,ubuntu/xenial32框始终具有stderr。我无法获取日志,因为VM本身不会显示在Virtualbox GUI中。我运行bcdedit /set hypervisorlaunchtype auto因为它设置为off没有帮助解决我的问题,但Virtualbox GUI仍然没有显示我的虚拟机。在Vagrantfile中将vb.gui设置为true不会更改此设置,并且GUI不会显示。

这是我多次从Virtualbox GUI获得的错误消息:

The VM session was aborted.

Result Code: E_FAIL (0x80004005)
Component: SessionMachine
Interface: ISession {7844aa05-b02e-4cdd-a04f-ade4a762e6b7}

我的Vagrantfile:

Vagrant.configure("2") do |config|

config.vm.box = "ubuntu/trusty32"
config.vm.network "forwarded_port", guest: 3000, host: 3000
config.vm.boot_timeout = 500
config.vm.provider "virtualbox" do |vb|

vb.customize ["setextradata", :id, "VBoxInternal2/SharedFoldersEnableSymlinksCreate/v-root", "1"]
vb.customize ["modifyvm", :id, "--pae", "on"]
end

config.vm.provision :shell, :path => "scripts/init_environment.sh"
end

我不知道出了什么问题。它在技术上工作了两次,所以我觉得必须有软件而不是硬件问题?我可以在这台计算机上使用不同的盒子来正常工作,但那个盒子对我的项目不起作用。该项目已在其他3台计算机上成功设置,有0个问题(其中2个是Windows 10,一个是Mac OSX),但这些机器都不需要32位盒。非常感谢任何想法,我只需要这个工作,所以我可以在旅途中工作!我的许多错误都不一致。我想要尝试的下一件事就是取出Ubuntu双启动......

编辑: 我还要注意,我将vb.memory = "1024"放入我的Vagrant文​​件中,Virtualbox仍然根据Virtualbox使用512 MB的基本内存。此外,我让VM再次在Virtualbox软件中显示,并抓取logfile

1 个答案:

答案 0 :(得分:0)

我的问题似乎是虚拟机先前已经关闭了一些孤儿子节点(我不知道这意味着什么)。但是,我确实发现这篇文章解释了如何保存一个损坏的系统并从光盘重启(文章解释了你可以在哪里下载)。

https://superuser.com/questions/947942/unprocessed-orphan-inode-list-in-virtualbox-vm