[libvirt] How do I import an old VM image to a new Install

Cole Robinson crobinso at redhat.com
Wed Nov 25 17:53:29 UTC 2009

On 11/25/2009 11:36 AM, Michael N. Moran wrote:
> First, I am a casual VM user. I have been using
> Fedora Core 7 on my Dell laptop for a couple of
> years with a single QEMU/KVM guest running Windoze XP.
> I recently installed Fedora 12 on a new hard disk
> and would like to use my old Windows VM image
> on the new install.
> Is there an easy way to do this?
> I tried copying the image itself (WindozeXpDisk.raw)
> to the new install and then (naively) looked for an
> import on the Virtual Machine Manager GUI. The closest
> that I found was the File->Restore saved machine.
> I tried that on my WindozeXpDisk.raw image and it
> failed as follows:
> Traceback (most recent call last):
>    File "/usr/share/virt-manager/virtManager/manager.py", 
> line 461, in restore_saved_callback
>      newconn.restore(file_to_load)
>    File "/usr/share/virt-manager/virtManager/connection.py", 
> line 649, in restore
>      self.vmm.restore(frm)
>    File "/usr/lib64/python2.6/site-packages/libvirt.py", 
> line 1420, in restore
>      if ret == -1: raise libvirtError ('virDomainRestore() 
> failed', conn=self)
> libvirtError: operation failed: image magic is incorrect

Restore isn't what you want here, and though the above error sounds
scary it is actually correct. Restore starts a VM that was previously
'saved', which is kind of like suspend to ram on a physical machine.

You should be able to use virt-install --import to get what you want,
something like

virt-install --name foo --ram 1024 --os-variant winxp --import --disk
path=/path/to/your/disk/image ...

- Cole

More information about the libvir-list mailing list