61
votes

I am using Oracle Virtual Box version 4.2.16 r86992. Everything was fine until yesterday shutdown. Today, it shows inaccessible and throws this error:

Runtime error opening C:\Users\xxxxxx\VirtualBox VMs\vBoxxxxXubuntu_Beta\vBoxxxxXubuntu_Beta.vbox for reading: -102 (File not found.).  
D:\tinderbox\win-4.2\src\VBox\Main\src-server\MachineImpl.cpp[725] (long __cdecl Machine::registeredInit(void)).

It's good to restore this to working, It would save lot of time and restore configuration settings and data. Thanking your support.

9

9 Answers

201
votes

This normally happens if the host OS crashes or you pull the plug on it, leaving the .vbox file unsaved.

In the location:

C:\Users\xxxxxxx\VirtualBox VMs\vBoxxxxXubuntu_Beta\  

you should find two files:

  1. vBoxxxxXubuntu_Beta.vbox-prev
  2. vBoxxxxXubuntu_Beta.vbox-tmp

Copy vBoxxxxXubuntu_Beta.vbox-prev to vBoxxxxXubuntu_Beta.vbox.

Select vBoxxxxXubuntu_Beta.vbox, in the VBox manager, right click, and then left click on refresh.

Observe that it now shows Powered Off.

Now you are good to go.

27
votes

Based on my experience, I was on Windows 7 and running Ubuntu 14.04 as guest OS on Virtual Machine.

  1. Go to your Virtualbox folder (in my case): C:\Users\Dev12\VirtualBox VMs\Ubuntu
  2. You'll see files with extensions: Ubuntu.vbox-tmp or Ubuntu.vbox-prev
  3. Remove -tmp from file name Ubuntu.vbox-tmp so that it reads as Ubuntu.vbox
  4. Exit from Virtual Machine and start it again.
  5. You should now see error gone away.
5
votes

The virtual box files with extension .vbox contain metadata the virtualbox hypervisor requires to resolve the guest virtual OS' configuration.

If the main .vbox file is corrupted (i.e. reporting that it is empty) then use the backup .vbox-prev file to recover the contents of the original file.

Do this by renaming the empty .vbox files a temporary name (e.g. rename originalVM.vbox to originalVM-empty.vbox).

Then make a copy of the backup file originalVM.vbox-prev, where the copy will have the same name as the original but with the word "copy" appended to it (i.e. originalVM.vbox-prev is renamed to originalVM (copy).vbox-prev).

It is important to retain the original backup .vbox-prev file it should not be altered or itself renamed.

Now go rename the copy of the newly created .vbox-prev file originalVM (copy).vbox-prev to the original name of the empty .vbox file and be mindful to also change it extension from .vbox-prev back to just .vbox.

That is rename originalVM (copy).vbox-prev back to originalVM.vbox. Now that this is done you may add the .vbox file (guest os) back into the VBOX hypervisor.
This will recover the state and snapshot of the "inaccessible" guest VM. Now delete the original empty .vbox file.

2
votes

I've faced the same issue using CentOs 6.8 on a VirtualBox 5.1 installed in Windows 7 and AjayKumarBasuthkar's solution worked perfectly for me:

  1. I went to C:\Users\\VirtualBox VMs\CentOS6.8
  2. Made a copy of the file CentOS6.8.vbox-prev and gave it the name of CentOS6.8.vbox
  3. Went to the VirtualBox GUI, right-clicked the VM instance and hit refresh
  4. The CentOS instance went from the State Inaccessible to Powered Off
1
votes

VirtualBox 4.3 is released and could it be that you've updated or there was some issues while updating?

In any case if you are not able to bring up the Virtualbox, remember to backup the VirutalBox VMs folder and going for a fresh install should be the best way forward.

1
votes

I faced the same problem and I resolved by doing following in Oracle Virtual box 4.3.28 with Ubuntu 14.04 LTS, when Virtual box VM was closed.

  1. Removed ubuntu.vbox to another folder outside virtual box folder

  2. removed -prev from file ubuntu.vbox-prev

  3. start oracle virtualbox, it works excellent.

1
votes

On a Windows 7 Host, I found that Daemon Tools service had a hold on the file.

The solution was to uninstall Daemon Tools, but I suspect if you stop the service and remove the file association, you would be sorted.

0
votes

The other issue might be that if your Virtual Machine was on an external hard drive, it is possible that the drive letter has changed. If so, go to Computer Management, and select the hard drive and right click to change the drive letter and save (Note that this is for Windows).

0
votes

This is going to sound stupid but try to reinstall VB. It may work.