You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@vcl.apache.org by Aaron Peeler <aa...@ncsu.edu> on 2011/12/01 20:16:11 UTC

Re: Converting VMware Windows Images into KVM images

Very cool. This will be helpful as we move forward on the libvirt/kvm module.

It looks like this could be automated within the vcl code.

Thanks,
Aaron

On Thu, Dec 1, 2011 at 11:24 AM, Young h Oh <oh...@us.ibm.com> wrote:
>
> Hi All,
>
> I've working on the integration between IBM SmartCloud Provisioning and VCL
> and I found some useful tips and issues on converting VMware Windows images
> into KVM images.
>
> For the VMware Linux image case, you could directly convert  VMware Linux
> images into KVM (libvirt) images using 'qemu-img' command.
>
> $ qemu-img convert Your-VMware-Linux-flat.vmdk -O raw (/qcow2)
> KVM-Linux.img
>
> However, if you try to directly convert a VMware Windows images into KVM
> images using 'qemu-img' command, you might have the BOD (blue screen of
> Death) issue on boot of the converted images in KVM.  The main reason for
> BOD problem is that most VMware Windows images are installed on SCSI
> virtual disk  but KVM requires IDE device driver for converted images. To
> solve this problem, you might have different methods but I'd like to
> introduce how I solved that problem. I updated the Windows Registry of the
> images offline to  using libguestfs library in RHEL 6 (host). The detailed
> steps are follows:
>
> ===============================
> 1. Prepare OS
> -  RHEL 6 X86_64
> Notes: libguestfs-winsupport package is only needed on RHE 6 hosts
>
> 2. Install packages (qemu-img, all libguestfs related packages:
> http://libguestfs.org/ )
> $ yum install qemu-img '*libguestfs*'
>
> 3. Download and install  'libguestfs-winsupport' (windows support package)
> (
> http://rpm.pbone.net/index.php3/stat/4/idpl/16605602/dir/scientific_linux_6/com/libguestfs-winsupport-1.0-7.el6.x86_64.rpm.html
>  )
> $ rpm -i libguestfs-winsupport-1.0-7.el6.x86_64.rpm
> => You will see virt-win-reg command now (virt-win-reg manual :
> http://libguestfs.org/virt-win-reg.1.html#currentcontrolset_etc_ )
>
> 4. Download and modify mergeide.reg
> (http://www.proxmox.com/downloads/proxmox-ve/misc/59-mergeide )
> => Replace all CurrentControlSet => ControlSet001
> e.g) vi mergeide.reg
> :1,$s/CurrentControlSet/ControlSet001/g
>
> 5. Define KVM xml file
>
> 6. Converting Images
> $ qemu-img convert Your-VMware-Windows-flat.vmdk Your-KVM-Windows.img
> $ virt-win-reg --merge Your-KVM-Windows.img mergeide.reg
> $ virsh --connect qemu:///system define Your_Image.xml
> $ virsh start Your_Image_Domain
>
> Note: I do NOT have any issues on this method but you might do this at your
> own risks.
> ===============================
>
> Thanks,
> --------------------------------------------------------------------
> Young Hyun Oh
> IBM, Tivoli CTO Technology and Architecture
>
>



-- 
Aaron Peeler
Program Manager
Virtual Computing Lab
NC State University

All electronic mail messages in connection with State business which
are sent to or received by this account are subject to the NC Public
Records Law and may be disclosed to third parties.