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

Reply via email to