Recently I went to start up my VirtualBox Windows 7 client and I got the following error:
"Hard disk '____.vdi' with UUID {___} cannot be directly attached to the virtual machine 'Windows7′ ('___.xml') because it has 1 differencing child hard disks."
I have no idea what 'caused this error and it took me a lot of searching to find a good solution to it. Since it took me so long to figure out I decided I would post the solution here for my own reference and hopefully to help anyone else that faces the same issue.
For me the fix was amazingly simple. All you have to do is create a new virtual machine from scratch and use the existing hard disk image for the broken virtual machine.
- Load the VirtualBox Manager
- Click "New"
- fill out all the basic info
- On the "Virtual Hard Disk" tab select "use existing hard disk"
- Browse for your existing hard disk
- Select your .vdi file and click continue
- Finish the remaining steps and start up your new Virtual Machine
If you have trouble finding your virtual machine just look at the path in the error message it will be something like:
Windows: C:\Users\Lenny\.VirtualBox\Machines\Windows7\
Mac: /Users/Lenny/VirtualBox VMs/Windows7/
replace "Lenny" with your username and replace "Windows7″ with the name you chose for the virtual machine that stopped working. You should use the .vdi file in that folder DO NOT use the .vdi in the "snapshots" folder.
Once I did that I started up the new virtual machine and everything started up just fine. Also, once I started it up once and shut it back down it actually fixed the broken virtual machine. You can either use the new one you just created or just delete it and go back to using your newly fixed (previously broken) VirtualBox virtual machine.
john hopper
May 18, 2011 at 3:01 pm
if your vdi files are not there, then what? mine are not present, nor my virtual hard drives
Lenny
May 31, 2011 at 12:00 pm
That is strange that that would happen, but you’re probably SOL at that point.
Erik
August 17, 2011 at 1:17 am
Thank you! Was right about ready to punch a wall and then redo half a days work, when i found this solution.
Dave
September 11, 2011 at 10:50 pm
Very strange. Had the same thing happen apparently randomly today – your solution worked great, thanks.
emma
January 11, 2012 at 6:09 am
lenny,
huge thanks for providing the answer.
the error struck mine this morning and after putting in so much effort;was ready to throw the damned laptop through the window,so am greatful for the help.
was attempting to take a snapshot of fedora last night and it gave a weird error and refused,and afterwards had started doing some root work-installing the guest additions, starting to configure x though there were no problems at that point as it successfuly restarted.
neagrigore
January 18, 2012 at 3:56 am
Thanks, it worked.
Gio
January 26, 2012 at 12:36 pm
THANX!! You saved me a lot of time: in seconds it was up again
Andrea
February 7, 2012 at 11:47 am
Thank you very much.
You saved me two times in two days!
Thank you again.
Andrea
Omar
February 11, 2012 at 12:31 am
Thank you, you just saved me a lot of time.
André
April 18, 2012 at 5:57 pm
How in the world did you work this out?? It saved my day, so thanks a LOT!!!
I should also mention that my VM went corrupt after I tried to take a snapshot…
Adam
May 2, 2012 at 9:49 am
Lenny,
Thanks! You saved my day
John Hopper,
That happened to me too. Just select the file directly. I am not sure I can explain it well because I am using Virtualbox in Ubuntu but I will try to explain nonetheless:
1. When creating the rescue VM, in this screen (http://imgur.com/MvIXl), click in the icon of the folder with a green up arrow.
2. Browse to the directory where you save your VMs (in my case, was /home/adam/VirtualBox VMs)
3. Open the directory of your specific, apparently fubar VM.
4. Select the disk image file (Since my image was a VirtualBox disk image, its extension was .vdi. Maybe this is your case as well).
5. Create your rescue VM, start it, shut it down.
6. Close VirtualBox. Restart virtualbox service (in my case I called /etc/init.d/virtualbox restart; I don’t know how to do it in windows)
7. Open VirtualBox
8. PROFIT (aka “run your previously apparently fubar VM”)
9. You can delete your rescue VM as well.
HTH
Etienne Bonanno
August 6, 2012 at 10:02 am
I love you dude. You saved my ass.
Joanne
September 10, 2012 at 11:24 pm
YES!!! Thanks. It worked. Need this VM to study my PS Scripting
I too looked for a long time. Now if I can only remember what I set for the password. lol….
Thanks again.
Andrew Howell
December 5, 2012 at 12:07 pm
You the man. Thanks for posting this simple-to-follow solution.
Sukandi
March 14, 2013 at 9:55 pm
Thanks a lot Lenny, you save my time & my work I had done before in my virtual machine. Thank you so much for this tips & trick, it’s very helpful.
Jane
May 3, 2013 at 1:41 pm
Thanks, it worked:-)
Amir
July 8, 2013 at 6:16 am
ooooooohhhhhhhh
Thanks so much. You saved a lot of my time and a lot of my cost. Thanks so much.
Umair
July 28, 2013 at 1:38 am
thanks a million bro it saved a lot of time
Dimpy
May 29, 2014 at 10:44 pm
Thanks a lot for sharing this..this saved my time.
Mike
July 21, 2014 at 5:31 am
Same thing happened to me. i cant access my vmware and I have been trying to find the solution.