So I have installed Oracle VM VirtualBox.
I have a VirtualBox that I had to move to another folder because my disk was already full. So I moved the entire VirtualBox VM's folder.
The problem is Oracle can't find the Virtual Machine anymore. It says:
Runtime error opening 'C:\Users\jpedr\VirtualBox VMs\ECOMP\ECOMP.vbox' for reading: -103 (Path not found.).
which does not surprise has the path indeed changed. How do I tell VirtualBox the correct path to look for the Machine?
EDIT:
I already went to VirtualBox Preferences and changed the default folder. It still looks for the machine in the old one.
1.backup the original vm folders (VirtualBox VMs\ECOMP)
2.create a new os with previous file name (ECOMP)
3.boot the new os with old virtual hard disk (C:\Users\jpedr\VirtualBox VMs\ECOMP\ECOMP.vbox)
4.shutdown the os
5.replace the new os folder files with old os files
6.start the new os
I'm trying to clone a VBox Machine, But getting the below error.
But it does not give error with other source file.
IMedium medium = sVirtualBox.OpenMedium(oldMediumPath,
DeviceType.DeviceType_HardDisk, AccessMode.AccessMode_ReadOnly, 0);
Exception:
{"Cannot register the hard disk 'C:\\Code\\Data.vdi.backup' {e99dab6a-1e34-4579-ae6b-4a7e520933c6} because a hard disk 'C:\\Code\\hd\\Data.vdi' with UUID {e99dab6a-1e34-4579-ae6b-4a7e520933c6} already exists"}
I had the same problem, and this solution from the VirtualBox forum worked for me: delete the VirtualBox.xml file (or rename it to VirtualBox.xml_YYYYMMDD). On my ubuntu host, this file lives in $HOME/.VirtualBox/
When I restarted the VirtualBox GUI, I just had to do Machine-->Add to add all my virtual machines back in.
I'm running Centos7 using Vmware workstation on windows 7 laptop. All was well until I restarted my laptop this morning & my VM started complaining as below
The parent virtual disk has been modified since the child was created. The content ID of the parent virtual disk does not match the corresponding parent content ID in the child
Cannot open the disk 'C:\Users\<user>\Documents\Virtual Machines\CentOS 64-bit\CentOS 64-bit-000003.vmdk' or one of the snapshot disks it depends on.
Module 'Disk' power on failed.
Failed to start the virtual machine.
Below is the image of the folder containing the VM & the image of the VM itself.
I've looked through the vmware log & found the disk ID
2016-03-21T15:56:15.685+13:00| vmx| I125: DISKLIB-LINK : Opened 'C:\virtmac\CentOS 64-bit.vmdk' (0xe): monolithicSparse, 419430400 sectors / 200 GB.
2016-03-21T15:56:15.685+13:00| vmx| I125: DISKLIB-LINK : DiskLinkIsAttachPossible: Content ID mismatch (parentCID b0f614a0 != a0549cb5)
All you have to do is to delete the .lck file from the folder of your vmdk files.
It is generally present at
C:\Users\UserName\Documents\Virtual Machines\VMWareName
Also you can just move the lck files one folder up to ensure you do not delete any other file by mistake.
Deleting all .lck files in the folder should technically solve the problem.
If you use VMs such as Kali Linux, it might happen that the AV quarantines parts of the .vmdk files. In my case I had to restore it from the Windows Defender quarantined files see the screenshot attached
If you are using Kali in VM,
Go to the main directory (Configuration File).
Determine the missing file partition. Ex: kali-linux-2022.3-vmware-amd64-s003.vmdk
Copy any other partition and give it a name of a messing partition.
> copy kali-linux-2022.3-vmware-amd64-s004.vmdk kali-linux-2022.3-vmware-amd64-s003.vmdk
In case you face a Busybox Initramfs Error
type (initramfs) fsck /dev/sda1 -y
A VirtualBox's newbie here. I created a snapshot of a VM by using this command line:
VBoxManage snapshot VMName take BackupName
Then I used this to check:
VBoxManage showvminfo VMName
and I saw a snapshot was created with the name BackupName. I didn't find an "actual" snapshot BackupName, I found a file filename.sav in SnapShots folder.
My intention was to create a snapshot of this VM, copy it to another host machine and restore it there. Since I couldn't find the "snapshot" BackupName, so I copied sav file to new host and used this command:
VBoxManage adoptsate filename.sav
But it didn't work. Can anyone help me how to copy that "snapshot" and restore it in a new host. Thanks a lot
First, get a list of the Virtual Machines installed on your host at the command line:
vboxmanage list vms
Sample Output
"UbuntuVM" {77743eca-e338-471c-b824-60c5c5c22b6f}
"Windows XP SP3" {3818afc4-189d-4441-8f35-07284c930a4b}
"Windows XP SP3 Clone" {79b40316-225a-43a1-9ddf-22a51c280d4e}
Find the one you want to export to a different host, and export to a file called Ubuntu.ova like this:
vboxmanage export UbuntuVM -o Ubuntu.ova
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:
vBoxxxxXubuntu_Beta.vbox-prev
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.
Go to your Virtualbox folder (in my case):
C:\Users\Dev12\VirtualBox VMs\Ubuntu
You'll see files with extensions: Ubuntu.vbox-tmp or Ubuntu.vbox-prev
Remove -tmp from file name Ubuntu.vbox-tmp so that it reads as Ubuntu.vbox
Exit from Virtual Machine and start it again.
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:
I went to C:\Users\\VirtualBox VMs\CentOS6.8
Made a copy of the file CentOS6.8.vbox-prev and gave it the name of CentOS6.8.vbox
Went to the VirtualBox GUI, right-clicked the VM instance and hit refresh
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.
Removed ubuntu.vbox to another folder outside virtual box folder
removed -prev from file ubuntu.vbox-prev
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.