Hello, Matt!
Matt Cheddar wrote:
> I've had this problem before and it has just happened again (using
> Ubuntu Feisty). The problem came about after i deleted an .iso from
> my hard drive that i had finished with, but i had forgotten it was
> still mounted to a VM. So in VirtualBox i removed the .iso in the
> CD/DVD section, assuming this would unmount it from any VMs still
> using it, but the VM is still marked as inaccessible with the "Could
> not find a registered CD/DVD image with UUID ..." message.
Thanks for your feedback! It really clarifies some important details,
but not all.
1. You said "in VirtualBox i removed the .iso in the CD/DVD section". Do
you mean that you opened the Virtual Disk Manager, selected the
unaccessible .iso there and pressed the Remove button? It's not possible
because the Remove button should stay disabled if the .iso is mounted to
some VM(s).
2. You also say that "the VM is still marked as inaccessible". Does it
mean that it was already marked inaccessible before you tried to remove
the problematic .iso in VDM?
On the other hand, I know one 100% way to reproduce the behavior you
experienced: if you manually edit the VirtualBox.xml file and remove an
entry corresponding to the given .iso, you'll end up with exactly the
same situation (which is quite expected, because it assumes that if you
manually edit .xml you become fully responsible to maintain its
consistency).
If the above (manual .xml editing) is not the case, then please provide
more feedback. In particular a 100% way to reproduce would be ideal.
> Starting
> the VM with VBoxSDL gives the less helpful error:
>
> Could not open VirtualBox session! Error info: The object
> functonality is limited (component Machine).
>
> I also tried modifyvm with -dvd none on the VM but that gives:
>
> [!] FAILED calling virtualBox->OpenSession(session, uuid) at line 3011!
> [!] Primary RC = 0x8000FFFF
> [!] Full error info present: true, basic error info present: true
> [!] Result Code = 0x8000FFFF
> [!] Text = The object functonality is limited
> [!] Component =
> Machine, Interface: IMachine, {fd443ec1-0009-4f5b-9282-d72760a66916}
> [!] Callee = IVirtualBox, {e1d95593-f579-4f47-b489-0b67181014e1}
All this means the same: the consistency of either the machine .xml or
the VirtualBox.xml is broken (i.e. a syntax error in the VM .xml, or it
is syntactically valid but refers to a media that is not enumerated in
VirtualBox.xml, etc.). It should be not possible to bring VirtualBox to
such a condition using normal GUI or any other frontend operation. If it
is possible, it's a bug.
> Another thing i tried was adding the .iso again in VirtualBox, but
> the UUID does not match up with the one that VirtualBox is saying is
> not registered. I do not know if the UUID is a function of its path
> but that is the only thing that differs between it being mounted now
> and it being mounted earlier (before deleting it from the hard drive
> i backed it up and MD5ed it so i know this is an exact copy of the
> previously working .iso).
UUID for .iso images is randomly generated when they are registered, so
every time you register a (even the same) image file, it gets a new
UUID. As opposed, hard disk images (.vdi) store UUIDs inside, so
registering the same image twice will give you the same UUID.
> Rather forgetfully i cannot remember in
> which folder the .iso was previously located so copying it back to
> the same folder is not feasible, assuming that would affect the UUID
> in any case.
No, it doesn't affect it.
> When this same problem happened before i used clonevdi to clone it
> which worked fine but unfortunately this is a large VM and i do not
> quite have enough free space left to try that on this occasion.
>
> So finally i edited the VM's .xml file and changed the DVD part
> (removing the UUID of the mounted .iso) to:
>
> <DVDDrive passthrough="false"/>
passhtrough is unrelated here. Once you went to editing the VM .xml by
hand, you could instead simply remove the <Image> element from within
the <DVDDrive> element to get rid of the problem completely. I.e.,
suppose, you have
<DVDDrive passthrough="false">
<Image uuid="{9a736681-040b-418f-b79e-750b70c52086}"/>
</DVDDrive>
and VirtualBox marks the VM as inaccessible and says "Could not find a
registered CD/DVD image with UUID
{9a736681-040b-418f-b79e-750b70c52088}.". In this case it's enough to
make the above excerpt look like that:
<DVDDrive passthrough="false"/>
in order to effectively "unmount" an .iso that makes problems. Then, you
can open VM settings and mount a proper .iso again.
> Why didn't removing the .iso from within VirtualBox automatically
> unmount it from all VMs?
It should be not possible to remove the .iso if it is mounted. If it is,
please report as a bug with steps necessary to reproduce :)
> Why couldn't i start the VM even when the
> .iso was not found (but with it unmounted of course)?
Because it wasn't just that the .iso was not found -- the integrity of
the VM .xml was broken (it couldn't resolve UUID to a file name which
should normally never happen).
> Why didn't
> modifyvm work as expected?
It worked as expected. When inegrity of a VM is broken it is placed to a
special "limited functionality" state seen as "inaccessible" in the GUI.
This is done to 1) prevent the whole VirtualBox application from being
unusable in case of a failure with a single VM, and 2) give you an
opportunity to manually fix the problem and then try to reload the VM
again w/o restarting the whole VirtualBox server, or, alternatively let
you unregister the failed VM if you don't want to deal with it.
> Why did the VBoxSDL error not match the
> VirtualBox error?
Because the current version of VBoxSDL/VBoxManage can only notice that
the VM is "inaccessible", but they cannot retrieve the detailed
description reason of limited functionality as GUI does.
> Why did the UUID appear different when i mounted
> the same .iso?
Because we are not presently aware of any way to embed custom UUIDs to
an arbitrary .iso file especially when it is read-only for some reason.
> Sorry for all the questions but i hope this at least explains the
> problem i faced and possibly a workaround solution for anyone else in
> the same boat :-)
No need to sorry, your questions are very clear, and therefore it's
rather easy to answer them.
--
Dmitry A. Kuminov
_______________________________________________
vbox-users mailing list
[email protected]
http://vbox.innotek.de/mailman/listinfo/vbox-users