https://linux-kvm.org/api.php?action=feedcontributions&user=Jcheger&feedformat=atomKVM - User contributions [en]2024-03-29T00:23:46ZUser contributionsMediaWiki 1.39.5https://linux-kvm.org/index.php?title=Windows7Install&diff=3236Windows7Install2010-09-10T23:21:53Z<p>Jcheger: </p>
<hr />
<div>= Introduction =<br />
Some facts:<br />
* Installing Windows 7 with IDE drivers require about 12 hours (qemu-kvm 0.12.5)<br />
* Windows 7 can be installed with virtio disk (requires guest drivers during installation)<br />
* Windows 7 64-bit requires signed drivers (available from August 2010 - thanks to RedHat)<br />
* Installation with virtio drivers works well, but Windows might not reboot at the end (see troubleshooting)<br />
<br />
Signed guest drivers are available here:<br />
* http://alt.fedoraproject.org/pub/alt/virtio-win/latest/images/bin/<br />
<br />
= Installation steps =<br />
* Download the guest drivers<br />
* Configure the virtual disk as virtio<br />
* Start the installation<br />
** When the installer asks you to select a drive, load the virtio driver (viostor)<br />
** The installation should take 45 to 60 minutes<br />
<br />
If you don't want to swap the CD, configure 2 CD-ROMs. Use the guest drivers as first CD-ROM, and Windows installation disk as second, else it won't boot.<br />
<br />
Once installed, if you did choose virtio for the network card, you will also need to update the driver.<br />
<br />
= Troubleshooting =<br />
<br />
== Cannot boot - broken MBR ==<br />
At the final reboot, I get a screen telling<br />
<div style="border:1px solid gray; background:black;color:white;padding: 10px;width:500px;"><br />
<pre><br />
Starting SeaBIOS (version 0.5.1-20100825_131917-polaris)<br />
<br />
Booting from Hard Disk...<br />
</pre><br />
</div><br />
<br />
<br />
The libvirt log shows<br />
<pre><br />
kvm: unhandled exit 80000021<br />
kvm_run returned -22<br />
</pre><br />
<br />
The solution is to reinstall the MBR. Here is a very good tutorial for doing this: http://www.sevenforums.com/tutorials/20864-mbr-restore-windows-7-master-boot-record.html</div>Jchegerhttps://linux-kvm.org/index.php?title=Windows7Install&diff=3235Windows7Install2010-09-10T23:08:11Z<p>Jcheger: </p>
<hr />
<div>= Introduction =<br />
Some facts:<br />
* Installing Windows 7 with IDE drivers require about 12 hours (qemu-kvm 0.12.5)<br />
* Windows 7 can be installed with virtio disk (requires guest drivers during installation)<br />
* Windows 7 64-bit requires signed drivers (available from August 2010 - thanks to RedHat)<br />
* Installation with virtio drivers works well, but Windows might not reboot at the end (see troubleshooting)<br />
<br />
Signed guest drivers are available here:<br />
* http://alt.fedoraproject.org/pub/alt/virtio-win/latest/images/bin/<br />
<br />
= Installation steps =<br />
* Download the guest drivers<br />
* Configure the virtual disk as virtio<br />
* Start the installation<br />
** When the installer asks you to select a drive, load the virtio driver (viostor)<br />
** The installation should take 45 to 60 minutes<br />
<br />
If you don't want to swap the CD, configure 2 CD-ROMs. Use the guest drivers as first CD-ROM, and Windows installation disk as second, else it won't boot.<br />
<br />
Once installed, if you did choose virtio for the network card, you will also need to update the driver.<br />
<br />
= Troubleshooting =<br />
<br />
== Cannot boot - broken MBR ==<br />
At the final reboot, I get a screen telling<br />
<div style="border:1px solid gray; background:black;color:white;padding: 10px;width:500px;"><br />
<pre><br />
Starting SeaBIOS (version 0.5.1-20100825_131917-polaris)<br />
<br />
Booting from Hard Disk...<br />
</pre><br />
</div><br />
<br />
<br />
The libvirt log show<br />
<pre><br />
kvm: unhandled exit 80000021<br />
kvm_run returned -22<br />
</pre><br />
<br />
The solution is to reinstall the MBR. Here is a very good tutorial for doing this: http://www.sevenforums.com/tutorials/20864-mbr-restore-windows-7-master-boot-record.html</div>Jchegerhttps://linux-kvm.org/index.php?title=Windows7Install&diff=3234Windows7Install2010-09-10T23:07:07Z<p>Jcheger: </p>
<hr />
<div>= Introduction =<br />
Some facts:<br />
* Installing Windows 7 with IDE drivers require about 12 hours (qemu-kvm 0.12.5)<br />
* Windows 7 can be installed with virtio disk (requires guest drivers during installation)<br />
* Windows 7 64-bit requires signed drivers (available from August 2010 - thanks to RedHat)<br />
* Installation with virtio drivers works well, but Windows will not reboot at the end.<br />
<br />
Signed guest drivers are available here:<br />
* http://alt.fedoraproject.org/pub/alt/virtio-win/latest/images/bin/<br />
<br />
= Installation steps =<br />
* Download the guest drivers<br />
* Configure the virtual disk as virtio<br />
* Start the installation<br />
** When the installer asks you to select a drive, load the virtio driver (viostor)<br />
** The installation should take 45 to 60 minutes<br />
<br />
If you don't want to swap the CD, configure 2 CD-ROMs. Use the guest drivers as first CD-ROM, and Windows installation disk as second, else it won't boot.<br />
<br />
Once installed, if you did choose virtio for the network card, you will also need to update the driver.<br />
<br />
= Troubleshooting =<br />
<br />
== Cannot boot - broken MBR ==<br />
At the final reboot, I get a screen telling<br />
<div style="border:1px solid gray; background:black;color:white;padding: 10px;width:500px;"><br />
<pre><br />
Starting SeaBIOS (version 0.5.1-20100825_131917-polaris)<br />
<br />
Booting from Hard Disk...<br />
</pre><br />
</div><br />
<br />
<br />
The libvirt log show<br />
<pre><br />
kvm: unhandled exit 80000021<br />
kvm_run returned -22<br />
</pre><br />
<br />
The solution is to reinstall the MBR. Here is a very good tutorial for doing this: http://www.sevenforums.com/tutorials/20864-mbr-restore-windows-7-master-boot-record.html</div>Jchegerhttps://linux-kvm.org/index.php?title=HOWTO&diff=3233HOWTO2010-09-10T22:18:56Z<p>Jcheger: </p>
<hr />
<div>= Howto's =<br />
<br />
== General ==<br />
* [[HOWTO1 | Getting KVM to run on your machine]]<br />
* [[choose the right kvm & kernel version]]<br />
* [[How To Migrate From Vmware To KVM]]<br />
* [http://www.basicsedv.de/bthesis.html Migrating User Mode Linux to Xen and KVM]<br />
<br />
== Network related ==<br />
<br />
* [[Networking| Setting guest network]]<br />
* [[NetConsole| set up a network console]]<br />
<br />
== Hardware related ==<br />
<br />
* [[How to assign devices with VT-d in KVM]]<br />
* [[Enable VT-X on Mac Pro (Early 2008)]] <br />
<br />
=== USB ===<br />
* [[usb related]]<br />
<br />
=== Ethernet ===<br />
* [[ethernet_related]]<br />
<br />
=== PCI ===<br />
* [[hotadd pci devices]]<br />
<br />
=== Sound ===<br />
* Using [[Sound]] in the guest<br />
<br />
=== virtio ===<br />
<br />
* [[boot from virtio block device]]<br />
* [[Using VirtIO NIC|use virtio_net interface]] in the guest (Debian)<br />
<br />
=== cdrom ===<br />
* [[Change cdrom| Changing disks in the cdrom drive]]<br />
<br />
<br />
== Operating System related ==<br />
<br />
=== Ubuntu ===<br />
* [http://www.howtoforge.com/using-kvm-on-ubuntu-gutsy-gibbon using-kvm-on-ubuntu-gutsy-gibbon]<br />
* [[AnthonyLiguori/Networking| Setting up NAT with KVM in Ubuntu]]<br />
* [https://help.ubuntu.com/community/KVM Running Guest Systems on Ubuntu 7.04 Feisty Fawn]<br />
* [http://www.howtoforge.com/virtualization-with-kvm-on-ubuntu-9.04 Virtualization With KVM On Ubuntu 9.04 Jaunty]<br />
<br />
=== Fedora ===<br />
* [http://fedoraproject.org/wiki/Virtualization_Quick_Start Fedora Virt Quick Start]<br />
<br />
=== ArchLinux ===<br />
* [http://wiki.archlinux.org/index.php/Kvm Setting up KVM on ArchLinux]<br />
* [http://wiki.archlinux.org/index.php/Qemu Detailed QEMU Tutorial ]<br />
<br />
=== BSD ===<br />
* [http://www.linux-kvm.org/page/BSD KVM on BSD, FreeBSD]<br />
<br />
=== Windows ===<br />
* [[WindowsGuestDrivers|Information about guest drivers]]<br />
* [[Windows7Install|Install Windows 7]]<br />
<br />
=== Windows Vista ===<br />
* [[Vista Networking Workaround]]<br />
<br />
== Scripting & Software ==<br />
* [[HowToConfigScript|Configuration Script for KVM]] - a complete management utility, configuration file format, and init script.<br />
* [http://www.roessner-net.com/?p=219 Another script for KVM] - Init scripts for kvm, using it with time scheduled start order (German)<br />
* [[simple shell script to manage your virtual machine with bridged networking]]<br />
* [http://www.papercut.com/blog/chris/2008/11/14/using-kvm-to-securely-host-servers-in-a-dmz/ Hosting your VMs in a DMZ] - a management and configuration script to assist with setting up a VM in a semi-secured demilitarized zone.<br />
* [http://pve.proxmox.com/wiki/Bare-metal_ISO_Installer Bare-metal] installer with KVM<br />
<br />
=== libvirt ===<br />
<br />
* [[Running libvirt with KVM]]<br />
<br />
== Other ==<br />
<br />
* [[HOWTO VMGL]] - OpenGL support for Linux guests</div>Jchegerhttps://linux-kvm.org/index.php?title=Boot_from_virtio_block_device&diff=2842Boot from virtio block device2010-02-03T08:56:07Z<p>Jcheger: </p>
<hr />
<div>= Introduction =<br />
Virtio block device is a para-virtualized device for kvm guest. It is different from normal emulated hard drive, because it is simply faster. This small how-to is about how to make a disk para-virtualized and boot from it.<br />
<br />
= Linux =<br />
== Steps ==<br />
<br />
# create a disk and install os to it by appending "-hda <your_disk_image>" to your virtual machine<br />
# in your guest os, upgrade kernel to 2.6.25 which contains virtio_* drivers. or ubuntu 8.04 also has it.<br />
# in guest os, change /boot/grub/device.map from "(hd0) /dev/sda" to "(hd0) /dev/vda"<br />
# in guest os, change /boot/grub/menu.list from "root=/dev/sda1" to "root=/dev/vda1", if you are using UUID, then no need to do this step.<br />
# enable para-virtualization by changing "-hda <your_disk_image" to "-drive file=<your_disk_image>,if=virtio,boot=on"<br />
<br />
== Error 18 ==<br />
<br />
you may experience this error while grub is booting. I solved it by making the /boot the first partition and make it 32MB.<br />
<br />
== qcow2 ==<br />
<br />
I have problem to boot from qcow2 format image, it will hang while kernel booting. you may convert your disk image to raw format by "qemu-img convert -f qcow2 <your_disk_image> -O raw <a_new_location>".<br />
<br />
== Booting with lilo ==<br />
<br />
You must add this to your lilo.conf:<br />
<br />
boot=/dev/vda<br />
disk=/dev/vda bios=0x80 max-partitions=7<br />
<br />
and after your image clausule change:<br />
<br />
root=/dev/vda1<br />
<br />
where vda1 is your boot partition<br />
<br />
== Updating the guest initramfs with the virtio driver ==<br />
If you are hosting a debian guest then you may want to update its initramfs with the virtio driver as explained in [[Using VirtIO NIC]]<br />
<br />
= Windows XP =<br />
Windows driver installation is a bit tricky.<br />
* In your guest, download the [[WindowsGuestDrivers/Download_Drivers|Windows driver]]<br />
* Stop the machine and create a new image that you will add as a second disk<br />
kvm-img create -f qcow2 fake.qcow2 1G<br />
<br />
* Start the machine. You will be prompted to install the driver. This is enough to allow to boot on the ''virtio'' disk<br />
kvm -drive file=windows.qcow2,if=ide,boot=on -drive file=fake.qcow2,if='''virtio''' ...<br />
<br />
* Restart the machine, but with the ''virtio'' driver on the first disk<br />
kvm -drive file=windows.qcow2,if='''virtio''',boot=on<br />
<br />
* You will be prompted once again to install the driver.</div>Jchegerhttps://linux-kvm.org/index.php?title=Boot_from_virtio_block_device&diff=2841Boot from virtio block device2010-02-03T08:55:48Z<p>Jcheger: </p>
<hr />
<div>= Introduction =<br />
Virtio block device is a para-virtualized device for kvm guest. It is different from normal emulated hard drive, because it is simply faster. This small how-to is about how to make a disk para-virtualized and boot from it.<br />
<br />
= Linux =<br />
== Steps ==<br />
<br />
# create a disk and install os to it by appending "-hda <your_disk_image>" to your virtual machine<br />
# in your guest os, upgrade kernel to 2.6.25 which contains virtio_* drivers. or ubuntu 8.04 also has it.<br />
# in guest os, change /boot/grub/device.map from "(hd0) /dev/sda" to "(hd0) /dev/vda"<br />
# in guest os, change /boot/grub/menu.list from "root=/dev/sda1" to "root=/dev/vda1", if you are using UUID, then no need to do this step.<br />
# enable para-virtualization by changing "-hda <your_disk_image" to "-drive file=<your_disk_image>,if=virtio,boot=on"<br />
<br />
== Error 18 ==<br />
<br />
you may experience this error while grub is booting. I solved it by making the /boot the first partition and make it 32MB.<br />
<br />
== qcow2 ==<br />
<br />
I have problem to boot from qcow2 format image, it will hang while kernel booting. you may convert your disk image to raw format by "qemu-img convert -f qcow2 <your_disk_image> -O raw <a_new_location>".<br />
<br />
== Booting with lilo ==<br />
<br />
You must add this to your lilo.conf:<br />
<br />
boot=/dev/vda<br />
disk=/dev/vda bios=0x80 max-partitions=7<br />
<br />
and after your image clausule change:<br />
<br />
root=/dev/vda1<br />
<br />
where vda1 is your boot partition<br />
<br />
== Updating the guest initramfs with the virtio driver ==<br />
If you are hosting a debian guest then you may want to update its initramfs with the virtio driver as explained in [[Using VirtIO NIC]]<br />
<br />
= Windows XP =<br />
Windows driver installation is a bit tricky.<br />
* In your guest, download thee[[WindowsGuestDrivers/Download_Drivers|Windows driver]]<br />
* Stop the machine and create a new image that you will add as a second disk<br />
kvm-img create -f qcow2 fake.qcow2 1G<br />
<br />
* Start the machine. You will be prompted to install the driver. This is enough to allow to boot on the ''virtio'' disk<br />
kvm -drive file=windows.qcow2,if=ide,boot=on -drive file=fake.qcow2,if='''virtio''' ...<br />
<br />
* Restart the machine, but with the ''virtio'' driver on the first disk<br />
kvm -drive file=windows.qcow2,if='''virtio''',boot=on<br />
<br />
* You will be prompted once again to install the driver.</div>Jchegerhttps://linux-kvm.org/index.php?title=Networking&diff=2840Networking2010-01-31T09:42:56Z<p>Jcheger: </p>
<hr />
<div>= Setting guest network =<br />
<br />
Guest (VM) networking in kvm is the same as in qemu, so it is possible to refer to other documentations about networking for qemu. This page will try to explain how to configure the most frequent types of network needed.<br />
<br />
== User Networking ==<br />
<br />
'''Use case:'''<br />
* You want a simple way for your virtual machine to access to the host, to the internet or to resources available on your local network.<br />
* You don't need to access your guest from the network or from another guest.<br />
* You are ready to take a huge performance hit.<br />
* Warning: User networking does not support a number of networking features like ICMP. Certain applications (like ping) may not function properly.<br />
<br />
'''Prerequisites:'''<br />
* You need kvm up and running<br />
* If you don't want to run as root, the user you want to use needs to have rw access to /dev/kvm<br />
* If you want to be able to access the internet or a local network, your host system must be able to access the internet or the local network<br />
<br />
'''Solution:'''<br />
* simply run your guest with "-net nic -net user", e-g:<br />
qemu-system-x86_64 -hda /path/to/hda.img -net nic -net user<br />
<br />
<br />
'''Notes:'''<br />
* The IP address can be automatically assigned to the guest thanks to the DHCP service integrated in QEMU<br />
* If you run multiple guests on the host, you don't need to specify a different MAC address for each guest<br />
* You can still access one specific port on the guest using the "hostfwd" option.This means e.g. if you want to transport a file with scp from host to guest, start the guest with "-net nic -net user,hostfwd=tcp::5555-:22". Now you are forwarding the host port 5555 to the guest port 22. After starting up the guest, you can transport a file with e.g. "scp -P 5555 file.txt root@localhost:/tmp" from host to guest. Or you can also use other address of the host to connect to.<br />
<br />
== private virtual bridge ==<br />
<br />
'''Use case:'''<br />
* You want to set up a private network between 2 or more virtual machines. This network won't be seen from the other virtual machines nor from the real network.<br />
<br />
'''Prerequisites:'''<br />
* You need kvm up and running<br />
* If you don't want to run as root, the user you want to use needs to have rw access to /dev/kvm<br />
* You need the following commands installed on your system, and if you don't want to run as root, the user you want to use needs to be able to sudo the following command:<br />
/sbin/ip<br />
/usr/sbin/brctl<br />
/usr/sbin/tunctl<br />
<br />
<br />
'''Solution:'''<br />
<br />
* You need to create a bridge, e-g:<br />
sudo /usr/sbin/brctl addbr br0<br />
<br />
* You need a qemu-ifup script containing the following:<br />
#!/bin/sh<br />
set -x<br />
<br />
switch=br0<br />
<br />
if [ -n "$1" ];then<br />
/usr/bin/sudo /usr/sbin/tunctl -u `whoami` -t $1<br />
/usr/bin/sudo /sbin/ip link set $1 up<br />
sleep 0.5s<br />
/usr/bin/sudo /usr/sbin/brctl addif $switch $1<br />
exit 0<br />
else<br />
echo "Error: no interface specified"<br />
exit 1<br />
fi<br />
<br />
* Generate a MAC address, either manually or using:<br />
#!/bin/sh<br />
# generate a random mac address for the qemu nic<br />
# shell script borrowed from user pheldens @ qemu forum<br />
echo $(echo -n DE:AD:BE:EF ; for i in `seq 1 2` ;<br />
do echo -n `echo ":$RANDOM$RANDOM" | cut -n -c -3` ;done)<br />
<br />
* Run each guest with the following, replacing $macaddress with the value from the previous step<br />
qemu-system-x86_64 -hda /path/to/hda.img -net nic,macaddr=$macaddress -net tap<br />
<br />
<br />
<br />
'''Notes:'''<br />
* If you don't want to run as root, the qemu-ifup must be executable by the user you want to use<br />
* You can either create a system-wide qemu-ifup in /etc/qemu-ifup or use another one. In the latter case, run<br />
qemu-system-x86_64 -hda /path/to/hda.img -net nic,macaddr=$macaddress -net tap,script=/path/to/qemu-ifup<br />
<br />
* Each guest on the private virtual network must have a different MAC address<br />
<br />
== public bridge ==<br />
<br />
'''WARNING:''' The here shown method, will not work with most(all?) wireless drivers, as these do not support bridging.<br />
<br />
'''Use case:'''<br />
<br />
* You want to assign an IP address to your virtual machines and make them accessible from your local network<br />
* You also want performance out of your virtual machine.<br />
<br />
'''Prerequisites:'''<br />
* You need kvm up and running<br />
* If you don't want to run as root, the user you want to use needs to have rw access to /dev/kvm<br />
* You need the following commands installed on your system, and if you don't want to run as root, the user you want to use needs to be able to sudo the following command:<br />
/sbin/ip<br />
/usr/sbin/brctl<br />
/usr/sbin/tunctl<br />
<br />
* Your host system must be able to access the internet or the local network<br />
<br />
'''Solution 1: using distro sysconfig script'''<br />
{|border="1"<br />
!RedHat's way<br />
!Debian's way<br />
|-<br />
|<br />
* Edit /etc/sysconfig/network-scripts/ifcfg-eth0<br />
** comment out BOOTPROTO<br />
** Add BRIDGE=br0<br />
* Create /etc/sysconfig/network-scripts/ifcfg-br0<br />
** The content should be:<br />
DEVICE=br0<br />
BOOTPROTO=dhcp<br />
ONBOOT=yes<br />
TYPE=Bridge<br />
|<br />
/etc/network/interfaces<br />
auto <strike>eth0</strike> br0<br />
<br />
inet iface br0 inet dhcp<br />
bridge_ports eth0<br />
bridge_stp off<br />
bridge_maxwait 0<br />
bridge_fd 0<br />
<br />
|}<br />
<br />
* /etc/init.d/network restart<br />
* The bridge br0 should get the ip address (either static/dhcp) while the physical eth0 is left without ip address.<br />
<br />
'''Solution 2: manual'''<br />
<br />
* You need to create a bridge, e-g:<br />
sudo /usr/sbin/brctl addbr br0<br />
<br />
* Add one of your physical interface to the bridge, e-g for eth0:<br />
sudo /usr/sbin/brctl addif br0 eth0<br />
<br />
* You need a qemu-ifup script containing the following:<br />
<br />
#!/bin/sh<br />
set -x<br />
<br />
switch=br0<br />
<br />
if [ -n "$1" ];then<br />
/usr/bin/sudo /usr/sbin/tunctl -u `whoami` -t $1<br />
/usr/bin/sudo /sbin/ip link set $1 up<br />
sleep 0.5s<br />
/usr/bin/sudo /usr/sbin/brctl addif $switch $1<br />
exit 0<br />
else<br />
echo "Error: no interface specified"<br />
exit 1<br />
fi<br />
<br />
* Generate a MAC address, either manually or using:<br />
<br />
#!/bin/sh<br />
# generate a random mac address for the qemu nic<br />
# shell script borrowed from user pheldens @ qemu forum<br />
echo $(echo -n DE:AD:BE:EF ; for i in `seq 1 2` ;<br />
do echo -n `echo ":$RANDOM$RANDOM" | cut -n -c -3` ;done)<br />
<br />
* Run each guest with the following, replacing $macaddress with the value from the previous step<br />
qemu-system-x86_64 -hda /path/to/hda.img -net nic,macaddr=$macaddress -net tap<br />
<br />
'''Notes:'''<br />
* If you don't want to run as root, the qemu-ifup must be executable by the user you want to use<br />
* You can either create a system-wide qemu-ifup in /etc/qemu-ifup or use another one. In the latter case, run<br />
qemu-system-x86_64 -hda /path/to/hda.img -net nic,macaddr=$macaddress -net tap,script=/path/to/qemu-ifup<br />
<br />
* Each guest on the network must have a different MAC address<br />
<br />
<br />
== iptables/routing ==<br />
<br />
you can also connect your guest vm to a tap in your host. then setting iptables rules in your host to become a router + firewall for your vm.<br />
<br />
Routing would be done simply by creating the default route on the client to the IP of the host (and allowing IP forwarding) and setting a route to the tap? device of the client on the host.<br />
Test the setup beforehand:<br />
*Hostside: Allow IPv4 forwarding and add route to client (could be put in a script - route has to be added after the client has started):<br />
sysctl -w net.ipv4.ip_forward=1 # allow forwarding of IPv4<br />
route add -host <ip-of-client> dev <tap-device> # add route to the client<br />
*Clientside: Default GW of the client is of course then the host (<ip-of-host> has to be in same subnet as <ip-of-client> ...):<br />
route add default gw <ip-of-host><br />
<br />
<br />
== vde ==<br />
<br />
another option is using vde (virtual distributed ethernet).<br />
<br />
== performance ==<br />
<br />
Data on benchmarking results should go in here.<br />
There's now a page dedicated to ideas for improving<br />
[[Networking Performance]].</div>Jchegerhttps://linux-kvm.org/index.php?title=How_To_Migrate_From_Vmware_To_KVM&diff=2839How To Migrate From Vmware To KVM2010-01-31T09:34:11Z<p>Jcheger: </p>
<hr />
<div>The vmware system consists of two disks in raw format: the old boot disk<br />
and the second one. It is Windows 2000 Server guest OS.<br />
<br />
#Create empty new boot image (use dd).<br />
#Boot stand alone OS from any other disk with old boot disk and new boot image connected (that is at least 3 disks).<br />
#Sign up, make partition and format the new disk (do not make volume).<br />
#xcopy /e /c /r /h /k /o /x /y old_boot_disk:\ new_boot_disk:\<br />
#Copy boot.ini from new boot disk to the second one (that is not boot disk).<br />
#Edit boot.ini on the second disk to boot from rdisk(1)<br />
#Swap disks: new <-> second.<br />
#Boot setup from CD and go on Repair Procedure (after licence agreement) for the new boot disk.<br />
#fdisk new boot image and toggle Boot flag.<br />
#Swap disks back: second <-> new.<br />
#Boot from the new disk.<br />
#Remove vmware tools and devices.<br />
#Reboot and be happy.<br />
<br />
That's all.<br />
<br />
P. S. To swap disks and edit boot.ini (items 5,6,7,10) should be excluded<br />
if the boot disk is named C:, that is right in most cases. Those items are<br />
for strange case, when boot disk is D: and second one is C:.<br />
<br />
<br />
----<br />
<br />
Starting at v0.12, Qemu-kvm has native support to VMware's disk images v6 (seems to be compatible with v7, used by VMware Server). So VMware images can could be run with Qemu-kvm without any modification (make backups and do it at your own risks though !).<br />
<br />
Look at your VMX configuration file:<br />
* scsi0:0.fileName = "''zimbra-000001.vmdk''"<br />
* uuid.bios = "''56 4d 3f 3d 32 80 5b f2-94 31 21 c9 b2 c3 93 b9''"<br />
* ethernet0.generatedAddress = "''00:0c:29:c3:93:b9''"<br />
<br />
And then build the command-line:<br />
kvm -drive file=''zimbra-000001.vmdk'',boot=on \<br />
-net nic,macaddr=''00:0c:29:c3:93:b9'' -net ''tap'' \<br />
-uuid ''564d3f3d-3280-5bf2-9431-21c9b2c393b9''<br />
<br />
The UUID is optional, but might be useful for applications using it for validation (i.e. Windows), and the MAC address as well.<br />
<br />
Second way could be to convert the disk image:<br />
kvm-img convert -O ''qcow2'' ''zimbra-000001.vmdk'' ''zimbra.qcow2''</div>Jcheger