문제

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.

도움이 되었습니까?

해결책

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.

다른 팁

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.

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.

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

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.

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.

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.

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).

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

I am adding one critical and important comment to the previous great answers. Make sure that the original .vbox file is corrupted and empty before you copy the content from the.vbox-prev file. If it is not the case and you find it with lines and readable content, don't replace the content of the .vbox.

Changes made to the VM directly before the VM got inaccessible might not be updated in the .vbox-prev backup file . The changes could not be synced with those changes before the OS upgrade or system changes that led to the inaccesable issue.

If you find your VM not accessible after an OS upgrade or system change, first check the.vbox file if it is still readable by a text editor and it has lines. Then you just need to delete the VM from the VirtualBox manager list(just remove the appliance from the list and don't remove files) . Then reopen the.vbox file and it should work perfectly.

If the original.vbox file is corrupted or empty when you open it with a text editor, then and only then, you can copy the content from the .vbox-prev and follow the instructions highlighted.

This was my experience, and I wanted to share it with you to avoid losing some last minute changes before the OS upgrade or crash.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top