vmheadaches
vmheadaches

Reputation: 61

Networking/Filesystem Issues in Creating a Vagrant/Virtualbox Environment Setup on New Host Machine

Recently, my work laptop died, and I'm trying to get my project setup on a different laptop that was in my garage. My project lives inside of a trusty64 Ubuntu vagrant box using Oracle's Virtualbox software. However, I'm running into a bunch of issues trying to get the vagrant setup to work on this laptop. I also have the project running on my home desktop, and it all works there just fine.

This laptop is a Gateway NE56R12u from 2012 with 8 GB of RAM. It has a 64-bit dual-core processor running Windows 10 Professional (I installed Ubuntu 16.04 on this laptop as well doing a dual-boot, it is having the same exact errors using the Ubuntu operating system as it is having using Windows 10) My home desktop (that everything works on just fine) is also Windows 10 Professional. I'm using Vagrant 2.0.0 and VirtualBox 5.1.28 on both Windows 10 machines. They are booting the same project on the same branch.

When looking at the Virtualbox GUI on the laptop, it is only showing 32-bit options for boxes, which seems to be due to a lack of available hardware acceleration (I did not find any acceleration options in the BIOS). The Virtualbox GUI throws an error that says due to missing acceleration properties, the box will not be able to detect that I have a 64-bit processor. The acceleration tab is inaccessible. So I've switched to trying to use a 32-bit 'trusty' box.

However, I am still having problems and am unable to use a virtual machine. The problems appear to be with network connections and connecting to my filesystem.

When I type in vagrant up it starts normally:

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

but then hangs there until time-out.

going into the Virtualbox GUI and watching the device boot, I watch it hang here:

waiting 10 seconds for network device
waiting 120 seconds for network device

then it says it gave up waiting for network device and continues. Eventually, it gets and hangs here:

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

then it quickly finishes booting and switches to a Vagrant login screen where I can successfully log in. When logged in, there are no files from my filesystem present. The command line where I started the boot process still has not changed at this point. It waits for the full time-out from the Vagrantfile and then throws the error that it timed out. I am not able to ssh in.


What I've done so far:

I have checked that the network adapter for the virtual machine is enabled. I have PAE set to on in my Vagrantfile because otherwise it is automatically set to off and throws a fatal error during boot (I tried turning pae, hwvirtex, vtxvpid, and vtxux all to off in my Vagrantfile). I made sure it only has one processor set. I have tried every network adapter setting available within the Virtualbox settings and there is no change. I have run bcdedit /set hypervisorlaunchtype off as an administrator on the command line. I've destroyed the .vagrant.d file folder, the .VirtualBox folder, and the VirtualBoxVMs folders from ~/user. I've tried different networking options such as public network and a private network with the local ip address.

Note: after running bcdedit /set hypervisorlaunchtype off my virtual machines no longer show in the Virtualbox GUI. However, the first time I deleted the .folder's after running that command, my machine successfully booted the box for the first time and everything was working correctly with it. However, the next day when I used vagrant up from the halted machine, it no longer worked again. Sometimes, instead of timing out, Vagrant gives the error that the machine went into the invalid state of 'unknown' state or 'paused' state. This behavior, however, is not consistent.

I've also re-installed Virtualbox and Vagrant, tried Virtualbox version 5.1.30 and version 5.2 (which I immediately learned is not compatible with Vagrant, which is interesting). At one point, upon a fresh install of Virtualbox it worked once and then it was immediately broken again after halting. Reinstalling again does not make it work. I tried using the hashicorp/precise32 box, and while that is created, boots, and is ssh accessible with access to my filesystem it does not seem to support node or versions of npm after version 1.1.14 and npm install fails. The ubuntu/xenial32 box always has a stderr while trying to boot on the command line. I can not get the logs because the VMs themselves do not show up in the Virtualbox GUI. I ran bcdedit /set hypervisorlaunchtype auto as having it set to off did not help solve my problem, but the Virtualbox GUI still does not show my VMs. Having vb.gui set to true in the Vagrantfile does not change this and the GUI does not show.

This is an error message I've gotten from the Virtualbox GUI many, many times:

The VM session was aborted.

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

My 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

I don't know what's wrong. It's technically worked twice, so I feel there must be a software and not a hardware problem? I can get a different box to work fine on this computer, but that box doesn't work for my project. This project has been setup on 3 other computers successfully with 0 issues (2 of them Windows 10, one Mac OSX), though none of those machines required a 32-bit box. Any ideas are greatly appreciated, I just need this to work so I can work on the go! Many of my errors are not consistent. The next thing I'm thinking about trying is taking out the Ubuntu dual-boot...

Edit: I will also note that I put vb.memory = "1024" into my Vagrantfile and the Virtualbox still uses 512 MB of base memory according to Virtualbox. Also, I got the VM's to show in the Virtualbox software again, and grabbed a logfile .

Upvotes: 0

Views: 347

Answers (1)

andy_roddam
andy_roddam

Reputation: 461

The issue for me seemed to be that the virtual machine had shut down previously with some orphaned child nodes (I have no idea what that means). But, I did find this article explaining how to save a broken system and reboot from disc (which the article explains where you can download this).

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

Upvotes: 0

Related Questions