Example: Microsoft Windows image

Example: Microsoft Windows image

This example creates a Windows Server 2012 qcow2 image, using the virt-install command and the KVM hypervisor.

  1. Follow these steps to prepare the installation:

    1. Download a Windows Server 2012 installation ISO. Evaluation images are available on the Microsoft website (registration required).

    2. Download the signed VirtIO drivers ISO from the Fedora website.

    3. Create a 15 GB qcow2 image:

      $ qemu-img create -f qcow2 ws2012.qcow2 15G
      
  2. Start the Windows Server 2012 installation with the virt-install command:

    # virt-install --connect qemu:///system \
      --name ws2012 --ram 2048 --vcpus 2 \
      --network network=default,model=virtio \
      --disk path=ws2012.qcow2,format=qcow2,device=disk,bus=virtio \
      --cdrom /path/to/en_windows_server_2012_x64_dvd.iso \
      --disk path=/path/to/virtio-win-0.1-XX.iso,device=cdrom \
      --vnc --os-type windows --os-variant win2k12 \
      --os-distro windows --os-version 2012
    

    Use virt-manager or virt-viewer to connect to the VM and start the Windows installation.

  3. Enable the VirtIO drivers.

    The disk is not detected by default by the Windows installer. When requested to choose an installation target, click Load driver and browse the file system to select the E:\virtio-win-0.1XX\viostor\2k12\amd64 folder. The Windows installer displays a list of drivers to install. Select the VirtIO SCSI and network drivers and continue the installation.

    Once the installation is completed, the VM restarts. Define a password for the administrator when prompted.

  4. Log in as administrator and start a command window.

  5. Complete the VirtIO drivers installation by running the following command:

    C:\pnputil -i -a E:\virtio-win-0.1XX\viostor\2k12\amd64\*.INF
    
  6. To allow the Cloudbase-Init to run scripts during an instance boot, set the PowerShell execution policy to be unrestricted:

    C:\powershell
    C:\Set-ExecutionPolicy Unrestricted
    
  7. Download and install the Cloudbase-Init:

    C:\Invoke-WebRequest -UseBasicParsing https://cloudbase.it/downloads/CloudbaseInitSetup_Stable_x64.msi -OutFile cloudbaseinit.msi
    C:\.\cloudbaseinit.msi
    

    In the configuration options window, change the following settings:

    • Username: Administrator
    • Network adapter to configure: Red Hat VirtIO Ethernet Adapter
    • Serial port for logging: COM1

    When the installation is done, in the Complete the Cloudbase-Init Setup Wizard window, select the Run Sysprep and Shutdown check boxes and click Finish.

    Wait for the machine shutdown.

Your image is ready to upload to the Image service:

$ openstack image create --disk-format qcow2 --file ws2012.qcow2 WS2012
Creative Commons Attribution 3.0 License

Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.