Example: Microsoft Windows image We do not yet have a fully documented example of how to create a Microsoft Windows image. You can use libvirt to install Windows from an installation DVD using the same approach as with the CentOS and Ubuntu examples. Once the initial install is done, you will need to perform some Windows-specific customizations. Install VirtIO drivers Installing the VirtIO paravirtualizaion drivers for Windows will improve virtual machine performance when using KVM as the hypervisor to run Windows. Sysprep Microsoft has a special tool called Sysprep that must be run inside of a Windows guest to prepare it for use as a virtual machine image. On Windows 2012 server, invoke sysprep, as follows: c:\windows\system32\sysprep\sysprep.exe cloudbase-init cloudbase-init is a Windows port of cloud-init that should be installed inside of the guest. The source code is available on github. Jordan Rinke's OpenStack Windows resources Jordan Rinke maintains a collection of resources for managing OpenStack Windows virtual machine guests. Windows instances require the timezone to be "localtime" When uploading Windows images, you must set the os_type parameter to windows, which causes instances to use the local time zone. Failing to set this will cause the clock timezone to be UTC, which has unexpected side effects in Windows.