{"id":5938,"date":"2014-09-09T10:27:43","date_gmt":"2014-09-09T08:27:43","guid":{"rendered":"http:\/\/blog.zhaw.ch\/icclab\/?p=5938"},"modified":"2015-11-26T11:11:56","modified_gmt":"2015-11-26T09:11:56","slug":"windows-image-for-openstack","status":"publish","type":"post","link":"https:\/\/blog.zhaw.ch\/icclab\/windows-image-for-openstack\/","title":{"rendered":"Windows image for OpenStack"},"content":{"rendered":"<p style=\"color: #2b2b2b\">In this article I will show how to install a Windows 7 64-Bit image on OpenStack. For different versions of Windows watch out for the corresponding notes in the article.<\/p>\n<h2 id=\"section-Prepare+the+Installation\" style=\"color: #2b2b2b\">Prepare the Installation<\/h2>\n<h3 id=\"section-Ubuntu_2C+QEMU+and+KVM\" style=\"color: #2b2b2b\">Ubuntu, QEMU and KVM<\/h3>\n<p style=\"color: #2b2b2b\">Creating a Windows image from scratch is best done by using a linux distribution to do the installation process. To create the image we will use QEMU and\u00a0<a class=\"external\" style=\"color: #0093b8\" href=\"http:\/\/www.linux-kvm.org\/page\/Main_Page\">KVM<\/a><img decoding=\"async\" class=\"outlink\" src=\"https:\/\/swords.zhaw.ch\/cb\/images\/out.png\" alt=\"\" \/>, which is a full virtualization solution for Linux. On Ubuntu you can install KVM using the following commands in the shell:<\/p>\n<pre class=\"wiki\">$ sudo apt-get update\r\n$ sudo apt-get install qemu-system-x86\r\n$ sudo apt-get install qemu-kvm\r\n$ sudo apt-get install virt-manager\r\n$ sudo apt-get install libvirt-bin libvirt-doc<\/pre>\n<p>If you are working on a Windows or Mac machine you can not use a Linux-VM to do the installation. The VM will not be able to use the hardware virtualization extension (Intel VT or AMD-V).<\/p>\n<p><!--more--><\/p>\n<h3 id=\"section-ISO+Files\" style=\"color: #2b2b2b\">ISO Files<\/h3>\n<p style=\"color: #2b2b2b\">To store the iso files we create a directory called &#8220;iso&#8221; in the home directory. That step is not mandatory, but will help you to use the following commands.<\/p>\n<pre class=\"wiki\" style=\"color: #2b2b2b\">$ mkdir ~\/iso<\/pre>\n<h4 id=\"section-Windows+ISO\" style=\"color: #2b2b2b\">Windows ISO<\/h4>\n<p style=\"color: #2b2b2b\">First you need an iso-file of Windows. Download a Windows ISO-File from your preferred site; e.g. a link for Windows 7 Professional can be found on the\u00a0<a class=\"external\" style=\"color: #0093b8\" href=\"http:\/\/answers.microsoft.com\/en-us\/windows\/forum\/windows_7-windows_install\/where-to-download-windows-7-professional-x64\/734ae4d0-46ea-40a6-b180-4fb45477935e\">community website of microsoft<\/a><img decoding=\"async\" class=\"outlink\" src=\"https:\/\/swords.zhaw.ch\/cb\/images\/out.png\" alt=\"\" \/>). Move the iso file in the &#8220;iso&#8221; directory.<\/p>\n<p style=\"color: #2b2b2b\">As for all Microsoft products you need to buy a license key to use the operating system, even if it is used as a VM.<\/p>\n<h4 id=\"section-VirtIO+ISO\" style=\"color: #2b2b2b\">VirtIO ISO<\/h4>\n<p style=\"color: #2b2b2b\">The tricky part to create a Windows image for OpenStack is to use the proper driver for the virtualized hardware components like the IDE controller and the network interface. Download the latest digital signed\u00a0<a class=\"external\" style=\"color: #0093b8\" href=\"http:\/\/alt.fedoraproject.org\/pub\/alt\/virtio-win\/latest\/images\/\">VirtIO drivers<\/a><img decoding=\"async\" class=\"outlink\" src=\"https:\/\/swords.zhaw.ch\/cb\/images\/out.png\" alt=\"\" \/>\u00a0from Fedora and move it to the iso directory.<\/p>\n<h2 id=\"section-Create+the+image\" style=\"color: #2b2b2b\">Create the image<\/h2>\n<h3 id=\"section-Create+the+container+file\" style=\"color: #2b2b2b\">Create the container file<\/h3>\n<p style=\"color: #2b2b2b\">Now after doing all preparation steps we can create the image. This image file will hold the Windows installation. Like before you could create a directory called &#8220;image&#8221; on your home directory to store the image file.<\/p>\n<pre class=\"wiki\" style=\"color: #2b2b2b\">$ mkdir ~\/image\r\n$ cd ~\/image<\/pre>\n<p style=\"color: #2b2b2b\">Use the following QEMU command to create the image file.<\/p>\n<pre class=\"wiki\" style=\"color: #2b2b2b\">$ qemu-img create -f qcow2 win7_sp1_x64_en_vlk.qcow2 100G<\/pre>\n<p style=\"color: #2b2b2b\">That command will create a image with\u00a0<b style=\"font-weight: bold\">qcow2<\/b>\u00a0as format,\u00a0<b style=\"font-weight: bold\">win7_sp1_x64_en_vlk.qcow2<\/b>\u00a0as a name and with a capacity of\u00a0<b style=\"font-weight: bold\">100GB<\/b>. At the moment that is only a container for the installation.<\/p>\n<h3 id=\"section-Start+the+VM\" style=\"color: #2b2b2b\">Start the VM<\/h3>\n<p style=\"color: #2b2b2b\">The next step is to launch a VM with KVM and start the Windows installation.<\/p>\n<pre class=\"wiki\" style=\"color: #2b2b2b\">$ sudo kvm -m 2048 -drive file=~\/iso\/windows_7_professional.iso,index=1,media=cdrom -drive file=~\/image\/win7_sp1_x64_en_vlk.qcow2,if=virtio -drive file=~\/iso\/virtio-win-0.1-74.iso,index=3,media=cdrom -net nic,model=virtio -net user -nographic -vnc :9 -usbdevice tablet<\/pre>\n<p style=\"color: #2b2b2b\">That command will start a VM with following settings:<\/p>\n<ul style=\"color: #2b2b2b\">\n<li style=\"color: #2b2b2b\"><b style=\"font-weight: bold\">-m 2048<\/b>: does allocate the memory size of the VM<\/li>\n<li style=\"color: #2b2b2b\"><b style=\"font-weight: bold\">-drive file=~\/iso\/windows_7_professional.iso,index=1,media=cdrom<\/b>: the VM will have a virtual CD-ROM drive attached containing the Windows 7 iso (will act like a normal Windows 7 installation CD\/DVD)<\/li>\n<li style=\"color: #2b2b2b\"><b style=\"font-weight: bold\">-drive file=~\/iso\/virtio-win-0.1-74.iso,index=3,media=cdrom<\/b>: the VM will have a virtual CD-ROM drive attached containing the VirtIO iso<\/li>\n<li style=\"color: #2b2b2b\"><b style=\"font-weight: bold\">-drive file=~\/image\/win7_sp1_x64_en_vlk.qcow2,if=virtio<\/b>: the VM will have a virtual hard disk attached which will use the image file we just created as storage and the VirtIO drives as a storage interface<\/li>\n<li style=\"color: #2b2b2b\"><b style=\"font-weight: bold\">-net nic,model=virtio -net user<\/b>: sets the VirtIO driver for the network interface card (nic) with a user-mode network stack that bridges to the host&#8217;s network<\/li>\n<li style=\"color: #2b2b2b\"><b style=\"font-weight: bold\">-nographic<\/b>: disables graphical output<\/li>\n<li style=\"color: #2b2b2b\"><b style=\"font-weight: bold\">-vnc :9<\/b>: enables VNC on port 5909<\/li>\n<li style=\"color: #2b2b2b\"><b style=\"font-weight: bold\">-usbdevice tablet<\/b>:\u00a0Use an USB tablet instead of the default PS\/2 mouse. Recommend, because the tablet sends the mouse cursor&#8217;s position to match the host mouse cursor.<\/li>\n<\/ul>\n<h3 id=\"section-VNC-Connection\" style=\"color: #2b2b2b\">VNC-Connection<\/h3>\n<p style=\"color: #2b2b2b\">Use a VNC-Client to connect to your new VM (on Ubuntu you can use Remmina, which is part of the distribution). The server is reachable on the server address:\u00a0<b style=\"font-weight: bold\">localhost:5909<\/b>.<\/p>\n<p>The first one is while choosing the type of installation. You need to do a custom installation, which allows you to install the VirtIO drivers.<\/p>\n<p><a href=\"http:\/\/blog.zhaw.ch\/icclab\/files\/2015\/04\/openstack_win7_02.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-7910 size-full\" src=\"http:\/\/blog.zhaw.ch\/icclab\/files\/2015\/04\/openstack_win7_02.png\" alt=\"openstack_win7_02\" width=\"799\" height=\"598\" srcset=\"https:\/\/blog.zhaw.ch\/icclab\/files\/2015\/04\/openstack_win7_02.png 799w, https:\/\/blog.zhaw.ch\/icclab\/files\/2015\/04\/openstack_win7_02-300x225.png 300w, https:\/\/blog.zhaw.ch\/icclab\/files\/2015\/04\/openstack_win7_02-401x300.png 401w\" sizes=\"auto, (max-width: 799px) 100vw, 799px\" \/><\/a><\/p>\n<p>Choose &#8220;Custom (advanced)&#8221;.<\/p>\n<p><a href=\"http:\/\/blog.zhaw.ch\/icclab\/files\/2015\/04\/openstack_win7_03.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-7911\" src=\"http:\/\/blog.zhaw.ch\/icclab\/files\/2015\/04\/openstack_win7_03.png\" alt=\"openstack_win7_03\" width=\"798\" height=\"599\" srcset=\"https:\/\/blog.zhaw.ch\/icclab\/files\/2015\/04\/openstack_win7_03.png 798w, https:\/\/blog.zhaw.ch\/icclab\/files\/2015\/04\/openstack_win7_03-300x225.png 300w, https:\/\/blog.zhaw.ch\/icclab\/files\/2015\/04\/openstack_win7_03-400x300.png 400w\" sizes=\"auto, (max-width: 798px) 100vw, 798px\" \/><\/a><\/p>\n<p>Select\u00a0&#8220;Load Driver&#8221;.<\/p>\n<p><a href=\"http:\/\/blog.zhaw.ch\/icclab\/files\/2015\/04\/openstack_win7_04.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-7912\" src=\"http:\/\/blog.zhaw.ch\/icclab\/files\/2015\/04\/openstack_win7_04.png\" alt=\"openstack_win7_04\" width=\"324\" height=\"326\" srcset=\"https:\/\/blog.zhaw.ch\/icclab\/files\/2015\/04\/openstack_win7_04.png 324w, https:\/\/blog.zhaw.ch\/icclab\/files\/2015\/04\/openstack_win7_04-150x150.png 150w, https:\/\/blog.zhaw.ch\/icclab\/files\/2015\/04\/openstack_win7_04-298x300.png 298w\" sizes=\"auto, (max-width: 324px) 100vw, 324px\" \/><\/a><\/p>\n<p>Navigate to the CD Drive with the\u00a0<a class=\"external\" style=\"color: #0093b8\" href=\"http:\/\/www.linux-kvm.org\/page\/WindowsGuestDrivers\/Download_Drivers\">VirtIO drivers<\/a><img decoding=\"async\" class=\"outlink\" src=\"https:\/\/swords.zhaw.ch\/cb\/images\/out.png\" alt=\"\" \/>. For the Windows 7 64bit version you need to select the &#8220;WIN7&#8221; -&gt; &#8220;AMD64&#8221; directory. Click &#8220;OK&#8221;.<\/p>\n<p>Find the right driver for your Windows Version:<\/p>\n<table class=\"wikitable\" border=\"1\">\n<tbody>\n<tr>\n<td><b style=\"font-weight: bold\">Windows Version<\/b><\/td>\n<td><b style=\"font-weight: bold\">Directory<\/b><\/td>\n<\/tr>\n<tr>\n<td>Windows Server 2008 32-bit<\/td>\n<td>\\VISTA\\X86<\/td>\n<\/tr>\n<tr>\n<td>Windows Server 2008 64-bit<\/td>\n<td>\\VISTA\\AMD64<\/td>\n<\/tr>\n<tr>\n<td>Windows Server 2008 R2 32-bit<\/td>\n<td>\\WLH\\X86<\/td>\n<\/tr>\n<tr>\n<td>Windows Server 2008 R2 64-bit<\/td>\n<td>\\WLH\\AMD64<\/td>\n<\/tr>\n<tr>\n<td>Windows 7 32-bit<\/td>\n<td>\\WIN7\\X86<\/td>\n<\/tr>\n<tr>\n<td>Windows 7 64-bit<\/td>\n<td>\\WIN7\\AMD64<\/td>\n<\/tr>\n<tr>\n<td>Windows 8 32-bit<\/td>\n<td>\\WIN8\\X86<\/td>\n<\/tr>\n<tr>\n<td>Windows 8 64-bit<\/td>\n<td>\\WIN8\\AMD64<\/td>\n<\/tr>\n<tr>\n<td>Windows Server 2012<\/td>\n<td>\\WIN8\\X86<\/td>\n<\/tr>\n<tr>\n<td>Windows Server 2012<\/td>\n<td>\\WIN8\\AMD64<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>&nbsp;<\/p>\n<p><a href=\"http:\/\/blog.zhaw.ch\/icclab\/files\/2015\/04\/openstack_win7_05.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-7913\" src=\"http:\/\/blog.zhaw.ch\/icclab\/files\/2015\/04\/openstack_win7_05.png\" alt=\"openstack_win7_05\" width=\"798\" height=\"601\" srcset=\"https:\/\/blog.zhaw.ch\/icclab\/files\/2015\/04\/openstack_win7_05.png 798w, https:\/\/blog.zhaw.ch\/icclab\/files\/2015\/04\/openstack_win7_05-300x226.png 300w, https:\/\/blog.zhaw.ch\/icclab\/files\/2015\/04\/openstack_win7_05-398x300.png 398w\" sizes=\"auto, (max-width: 798px) 100vw, 798px\" \/><\/a><\/p>\n<p>Select the listed drivers (one for the Ethernet Adapter and one for the Hard Disk Controller). Click &#8220;Next&#8221;.<\/p>\n<p><a href=\"http:\/\/blog.zhaw.ch\/icclab\/files\/2015\/04\/openstack_win7_06.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-7914\" src=\"http:\/\/blog.zhaw.ch\/icclab\/files\/2015\/04\/openstack_win7_06.png\" alt=\"openstack_win7_06\" width=\"799\" height=\"601\" srcset=\"https:\/\/blog.zhaw.ch\/icclab\/files\/2015\/04\/openstack_win7_06.png 799w, https:\/\/blog.zhaw.ch\/icclab\/files\/2015\/04\/openstack_win7_06-300x226.png 300w, https:\/\/blog.zhaw.ch\/icclab\/files\/2015\/04\/openstack_win7_06-399x300.png 399w\" sizes=\"auto, (max-width: 799px) 100vw, 799px\" \/><\/a><\/p>\n<p>Now you should be able to select the prepared image file as the disk for the installation.<\/p>\n<p>The second step of the installation where you need to be careful is when you have to insert the Windows product key.<\/p>\n<p><a href=\"http:\/\/blog.zhaw.ch\/icclab\/files\/2015\/04\/openstack_win7_07.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-7915\" src=\"http:\/\/blog.zhaw.ch\/icclab\/files\/2015\/04\/openstack_win7_07.png\" alt=\"openstack_win7_07\" width=\"801\" height=\"602\" srcset=\"https:\/\/blog.zhaw.ch\/icclab\/files\/2015\/04\/openstack_win7_07.png 801w, https:\/\/blog.zhaw.ch\/icclab\/files\/2015\/04\/openstack_win7_07-300x225.png 300w, https:\/\/blog.zhaw.ch\/icclab\/files\/2015\/04\/openstack_win7_07-399x300.png 399w\" sizes=\"auto, (max-width: 801px) 100vw, 801px\" \/><\/a><\/p>\n<p>This step is not crucial. You do not have to insert the product key right now. Windows will run for 30 days without product key. So it could be handy to insert the product key and activate Windows when the installation is completely done and Windows is running on OpenStack without troubles.<\/p>\n<p>Click on &#8220;Skip&#8221;.<\/p>\n<p>Finish the installation, but do not install the updates right away. You will do that on OpenStack.<\/p>\n<h3 id=\"section-Image+is+complete\">Image is complete<\/h3>\n<p>The underlying image file that you created further up with the shell command\u00a0<b style=\"font-weight: bold\">qemu-img create<\/b>, such as ~\/image\/win7_sp1_x64_en_vlk.qcow2 is now ready for uploading to the OpenStack Image Service.<\/p>\n<h2 id=\"section-Upload+image\">Upload image<\/h2>\n<p>At that point the image should be about 8GB big for Windows 7. That image can now be uploaded to OpenStack. There are mainly 2 ways to do that; either by the OpenStack Dashboard or the CLI-client. The size of Windows images can grow rapidly. After an update you might end with a size of 17GB. We had problems to upload big images, so try out both upload method.<\/p>\n<h3 id=\"section-OpenStack+Dashboard\">OpenStack Dashboard<\/h3>\n<p>To upload the image you can login to the dashboard, switch to &#8220;Images &amp; Snapshots&#8221; and click on the &#8220;+ create Image&#8221; button.<\/p>\n<p><a href=\"http:\/\/blog.zhaw.ch\/icclab\/files\/2015\/04\/openstack_win7_08.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-7916\" src=\"http:\/\/blog.zhaw.ch\/icclab\/files\/2015\/04\/openstack_win7_08.png\" alt=\"openstack_win7_08\" width=\"709\" height=\"745\" srcset=\"https:\/\/blog.zhaw.ch\/icclab\/files\/2015\/04\/openstack_win7_08.png 709w, https:\/\/blog.zhaw.ch\/icclab\/files\/2015\/04\/openstack_win7_08-286x300.png 286w\" sizes=\"auto, (max-width: 709px) 100vw, 709px\" \/><\/a><\/p>\n<p>The image can be uploaded from a valid HTTP URL or from the local disk.<\/p>\n<p>The format needs to be\u00a0<b style=\"font-weight: bold\">QCOW2<\/b>.<\/p>\n<h3 id=\"section-OpenStack+CLI-client\">OpenStack CLI-client<\/h3>\n<p>You can use the python glance client to upload the image via a terminal.\u00a0<a class=\"external\" style=\"color: #0093b8\" href=\"http:\/\/docs.openstack.org\/user-guide\/content\/install_clients.html\">Install the python client<\/a><img decoding=\"async\" class=\"outlink\" src=\"https:\/\/swords.zhaw.ch\/cb\/images\/out.png\" alt=\"\" \/>\u00a0and than use the command similar to the following one to upload the image:<\/p>\n<pre class=\"wiki\">glance image-create \\\r\n--name Windows-7 \\\r\n--disk-format=qcow2 \\\r\n--container-format=bare \\\r\n--property hw_disk_bus=virtio \\\r\n--property hw_vif_model=virtio \\\r\n--file=.\/win7sp1_x64_vlk.qcow2<\/pre>\n<p>The meaning of the parameters are as follows:<\/p>\n<ul>\n<li><b style=\"font-weight: bold\">&#8212; name<\/b>: sets a name for the image<\/li>\n<li><b style=\"font-weight: bold\">&#8212; disk-format<\/b>: file format of the disk image, qcow2 is the file-format supported by QEMU<\/li>\n<li><b style=\"font-weight: bold\">&#8212; container-format<\/b>: container which holds the image and metadata, bare indicates there is no container or metadata<\/li>\n<li><b style=\"font-weight: bold\">&#8212; property hw_disk_bus<\/b>: sets metadata properties on glance, here: sets the disk controller to virtio<\/li>\n<li><b style=\"font-weight: bold\">&#8212; property hw_vif_model<\/b>: sets metadata properties on glance, here: specifies the model of the network interface device to virtio<\/li>\n<li><b style=\"font-weight: bold\">&#8212; file<\/b>: location of the file that needs to be uploaded<\/li>\n<\/ul>\n<h2 id=\"section-Use+the+image\">Use the image<\/h2>\n<h3 id=\"section-Launch+an+instance+of+Windows+image\">Launch an instance of Windows image<\/h3>\n<p>On the dashboard you need to go to the image section. There you can create an instance from your new Windows image.<\/p>\n<p><a href=\"http:\/\/blog.zhaw.ch\/icclab\/files\/2015\/04\/openstack_win7_09.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-7917\" src=\"http:\/\/blog.zhaw.ch\/icclab\/files\/2015\/04\/openstack_win7_09.png\" alt=\"openstack_win7_09\" width=\"721\" height=\"661\" srcset=\"https:\/\/blog.zhaw.ch\/icclab\/files\/2015\/04\/openstack_win7_09.png 721w, https:\/\/blog.zhaw.ch\/icclab\/files\/2015\/04\/openstack_win7_09-300x275.png 300w, https:\/\/blog.zhaw.ch\/icclab\/files\/2015\/04\/openstack_win7_09-327x300.png 327w\" sizes=\"auto, (max-width: 721px) 100vw, 721px\" \/><\/a><\/p>\n<p>Choose the flavor which fits the disk size of the image. In our case the disk size of the image was set to 100GB so we choose the flavor with 160GB total disk.<\/p>\n<p>The first build of the VM can take a while.<\/p>\n<h3 id=\"section-Connect+to+Windows\">Connect to Windows<\/h3>\n<p>Click on the Windows instance and than on &#8220;Console&#8221;. This will open a connection through the embedded VNC client of the browser. If all went right the Windows welcome screen should show up.<\/p>\n<h3 id=\"section-Remote+Access+Protocol+_28RDP_29\">Remote Access Protocol (RDP)<\/h3>\n<p>To be able to use the RDP to open a connection to Windows you need to enable the access in the Windows settings. From a RDP client you can than connect to the VM by using its allocated floating IP address. The standard port for RDP is 3389.<\/p>\n<h4 id=\"section-Enable+the+remote+desktop+on+Windows\">Enable the remote desktop on Windows<\/h4>\n<p>Open the &#8220;Control Panel&#8221; and chose &#8220;Allow remote access&#8221; from &#8220;System&#8221;.<\/p>\n<p><a href=\"http:\/\/blog.zhaw.ch\/icclab\/files\/2015\/04\/openstack_win7_10.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-7918\" src=\"http:\/\/blog.zhaw.ch\/icclab\/files\/2015\/04\/openstack_win7_10.png\" alt=\"openstack_win7_10\" width=\"800\" height=\"560\" srcset=\"https:\/\/blog.zhaw.ch\/icclab\/files\/2015\/04\/openstack_win7_10.png 800w, https:\/\/blog.zhaw.ch\/icclab\/files\/2015\/04\/openstack_win7_10-300x210.png 300w, https:\/\/blog.zhaw.ch\/icclab\/files\/2015\/04\/openstack_win7_10-429x300.png 429w\" sizes=\"auto, (max-width: 800px) 100vw, 800px\" \/><\/a><\/p>\n<p>Select the middle option: &#8220;Allow connections from computers running any version of Remote Desktop&#8221;<\/p>\n<p><a href=\"http:\/\/blog.zhaw.ch\/icclab\/files\/2015\/04\/openstack_win7_11.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-7919\" src=\"http:\/\/blog.zhaw.ch\/icclab\/files\/2015\/04\/openstack_win7_11.png\" alt=\"openstack_win7_11\" width=\"426\" height=\"474\" srcset=\"https:\/\/blog.zhaw.ch\/icclab\/files\/2015\/04\/openstack_win7_11.png 426w, https:\/\/blog.zhaw.ch\/icclab\/files\/2015\/04\/openstack_win7_11-270x300.png 270w\" sizes=\"auto, (max-width: 426px) 100vw, 426px\" \/><\/a><\/p>\n<p>This will do the necessary firewall settings.<\/p>\n<h4 id=\"section-Enable+the+remote+desktop+on+OpenStack\">Enable the remote desktop on OpenStack<\/h4>\n<p>You also might need to set a new rule in the security group of OpenStack to allow a connection with RDP.<\/p>\n<p><a href=\"http:\/\/blog.zhaw.ch\/icclab\/files\/2015\/04\/openstack_win7_12.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-7920\" src=\"http:\/\/blog.zhaw.ch\/icclab\/files\/2015\/04\/openstack_win7_12.png\" alt=\"openstack_win7_12\" width=\"709\" height=\"573\" srcset=\"https:\/\/blog.zhaw.ch\/icclab\/files\/2015\/04\/openstack_win7_12.png 709w, https:\/\/blog.zhaw.ch\/icclab\/files\/2015\/04\/openstack_win7_12-300x242.png 300w, https:\/\/blog.zhaw.ch\/icclab\/files\/2015\/04\/openstack_win7_12-371x300.png 371w\" sizes=\"auto, (max-width: 709px) 100vw, 709px\" \/><\/a><\/p>\n<h4 id=\"section-Troubleshooting+measurements+for+RDP-connection+interruption\">Troubleshooting measurements for RDP-connection interruption<\/h4>\n<p>If the connection is lost after a few seconds the problem is probably DHCP. Deactivate DHCP in the Windows settings and use the IP address (e.g. 10.10.x.x.) you got from DHCP as a fix address instead. Do not use the floating IP address. The IP address can be taken from the OpenStack dashboard under &#8220;Instances&#8221;. In Windows you have to open &#8220;Network and Sharing Center&#8221; -&gt; &#8220;Change adapter settings&#8221; -&gt; right click on your network connection -&gt; Properties.<\/p>\n<p><a href=\"http:\/\/blog.zhaw.ch\/icclab\/files\/2015\/04\/openstack_win7_13.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-7921\" src=\"http:\/\/blog.zhaw.ch\/icclab\/files\/2015\/04\/openstack_win7_13.png\" alt=\"openstack_win7_13\" width=\"381\" height=\"479\" srcset=\"https:\/\/blog.zhaw.ch\/icclab\/files\/2015\/04\/openstack_win7_13.png 381w, https:\/\/blog.zhaw.ch\/icclab\/files\/2015\/04\/openstack_win7_13-239x300.png 239w\" sizes=\"auto, (max-width: 381px) 100vw, 381px\" \/><\/a><\/p>\n<p>Double click on &#8220;Internet Protocol Version 4 (TCP\/IPv4)&#8221;.<\/p>\n<p><a href=\"http:\/\/blog.zhaw.ch\/icclab\/files\/2015\/04\/openstack_win7_14.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-7922\" src=\"http:\/\/blog.zhaw.ch\/icclab\/files\/2015\/04\/openstack_win7_14.png\" alt=\"openstack_win7_14\" width=\"418\" height=\"466\" srcset=\"https:\/\/blog.zhaw.ch\/icclab\/files\/2015\/04\/openstack_win7_14.png 418w, https:\/\/blog.zhaw.ch\/icclab\/files\/2015\/04\/openstack_win7_14-269x300.png 269w\" sizes=\"auto, (max-width: 418px) 100vw, 418px\" \/><\/a><\/p>\n<p>Click on &#8220;Use the following IP address&#8221;.<\/p>\n<p><a href=\"http:\/\/blog.zhaw.ch\/icclab\/files\/2015\/04\/openstack_win7_15.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-7923\" src=\"http:\/\/blog.zhaw.ch\/icclab\/files\/2015\/04\/openstack_win7_15.png\" alt=\"openstack_win7_15\" width=\"419\" height=\"467\" srcset=\"https:\/\/blog.zhaw.ch\/icclab\/files\/2015\/04\/openstack_win7_15.png 419w, https:\/\/blog.zhaw.ch\/icclab\/files\/2015\/04\/openstack_win7_15-269x300.png 269w\" sizes=\"auto, (max-width: 419px) 100vw, 419px\" \/><\/a><\/p>\n<p>Then set the &#8220;IP address&#8221;, the &#8220;Subnet mask&#8221; and the &#8220;Default gateway&#8221;.<\/p>\n<p>It is also necessary to set the DNS addresses.<\/p>\n<p>By following this guide you should now have a Instance of Windows running on OpenStack. Enjoy your new image!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In this article I will show how to install a Windows 7 64-Bit image on OpenStack. For different versions of Windows watch out for the corresponding notes in the article. Prepare the Installation Ubuntu, QEMU and KVM Creating a Windows image from scratch is best done by using a linux distribution to do the installation [&hellip;]<\/p>\n","protected":false},"author":158,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"ngg_post_thumbnail":0,"footnotes":""},"categories":[1],"tags":[],"features":[],"class_list":["post-5938","post","type-post","status-publish","format-standard","hentry","category-allgemein"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v27.2 (Yoast SEO v27.2) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Windows image for OpenStack - Service Engineering (ICCLab &amp; SPLab)<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/blog.zhaw.ch\/icclab\/windows-image-for-openstack\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Windows image for OpenStack\" \/>\n<meta property=\"og:description\" content=\"In this article I will show how to install a Windows 7 64-Bit image on OpenStack. For different versions of Windows watch out for the corresponding notes in the article. Prepare the Installation Ubuntu, QEMU and KVM Creating a Windows image from scratch is best done by using a linux distribution to do the installation [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/blog.zhaw.ch\/icclab\/windows-image-for-openstack\/\" \/>\n<meta property=\"og:site_name\" content=\"Service Engineering (ICCLab &amp; SPLab)\" \/>\n<meta property=\"article:published_time\" content=\"2014-09-09T08:27:43+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2015-11-26T09:11:56+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/swords.zhaw.ch\/cb\/images\/out.png\" \/>\n<meta name=\"author\" content=\"musy\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"musy\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"8 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/blog.zhaw.ch\/icclab\/windows-image-for-openstack\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/blog.zhaw.ch\/icclab\/windows-image-for-openstack\/\"},\"author\":{\"name\":\"musy\",\"@id\":\"https:\/\/blog.zhaw.ch\/icclab\/#\/schema\/person\/36d26d89e869352eb9ca673f92b9d373\"},\"headline\":\"Windows image for OpenStack\",\"datePublished\":\"2014-09-09T08:27:43+00:00\",\"dateModified\":\"2015-11-26T09:11:56+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/blog.zhaw.ch\/icclab\/windows-image-for-openstack\/\"},\"wordCount\":1478,\"commentCount\":10,\"image\":{\"@id\":\"https:\/\/blog.zhaw.ch\/icclab\/windows-image-for-openstack\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/swords.zhaw.ch\/cb\/images\/out.png\",\"articleSection\":[\"*.*\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/blog.zhaw.ch\/icclab\/windows-image-for-openstack\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/blog.zhaw.ch\/icclab\/windows-image-for-openstack\/\",\"url\":\"https:\/\/blog.zhaw.ch\/icclab\/windows-image-for-openstack\/\",\"name\":\"Windows image for OpenStack - Service Engineering (ICCLab &amp; SPLab)\",\"isPartOf\":{\"@id\":\"https:\/\/blog.zhaw.ch\/icclab\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/blog.zhaw.ch\/icclab\/windows-image-for-openstack\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/blog.zhaw.ch\/icclab\/windows-image-for-openstack\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/swords.zhaw.ch\/cb\/images\/out.png\",\"datePublished\":\"2014-09-09T08:27:43+00:00\",\"dateModified\":\"2015-11-26T09:11:56+00:00\",\"author\":{\"@id\":\"https:\/\/blog.zhaw.ch\/icclab\/#\/schema\/person\/36d26d89e869352eb9ca673f92b9d373\"},\"breadcrumb\":{\"@id\":\"https:\/\/blog.zhaw.ch\/icclab\/windows-image-for-openstack\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/blog.zhaw.ch\/icclab\/windows-image-for-openstack\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/blog.zhaw.ch\/icclab\/windows-image-for-openstack\/#primaryimage\",\"url\":\"https:\/\/swords.zhaw.ch\/cb\/images\/out.png\",\"contentUrl\":\"https:\/\/swords.zhaw.ch\/cb\/images\/out.png\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/blog.zhaw.ch\/icclab\/windows-image-for-openstack\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Startseite\",\"item\":\"https:\/\/blog.zhaw.ch\/icclab\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Windows image for OpenStack\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/blog.zhaw.ch\/icclab\/#website\",\"url\":\"https:\/\/blog.zhaw.ch\/icclab\/\",\"name\":\"Service Engineering (ICCLab &amp; SPLab)\",\"description\":\"A Blog of the ZHAW Zurich University of Applied Sciences\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/blog.zhaw.ch\/icclab\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/blog.zhaw.ch\/icclab\/#\/schema\/person\/36d26d89e869352eb9ca673f92b9d373\",\"name\":\"musy\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/secure.gravatar.com\/avatar\/516327e33a0be21faf96ad9b06a3e10c58937343b8751ed147c1a4486e8907ac?s=96&d=mm&r=g\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/516327e33a0be21faf96ad9b06a3e10c58937343b8751ed147c1a4486e8907ac?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/516327e33a0be21faf96ad9b06a3e10c58937343b8751ed147c1a4486e8907ac?s=96&d=mm&r=g\",\"caption\":\"musy\"},\"url\":\"https:\/\/blog.zhaw.ch\/icclab\/author\/musy\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Windows image for OpenStack - Service Engineering (ICCLab &amp; SPLab)","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/blog.zhaw.ch\/icclab\/windows-image-for-openstack\/","og_locale":"en_US","og_type":"article","og_title":"Windows image for OpenStack","og_description":"In this article I will show how to install a Windows 7 64-Bit image on OpenStack. For different versions of Windows watch out for the corresponding notes in the article. Prepare the Installation Ubuntu, QEMU and KVM Creating a Windows image from scratch is best done by using a linux distribution to do the installation [&hellip;]","og_url":"https:\/\/blog.zhaw.ch\/icclab\/windows-image-for-openstack\/","og_site_name":"Service Engineering (ICCLab &amp; SPLab)","article_published_time":"2014-09-09T08:27:43+00:00","article_modified_time":"2015-11-26T09:11:56+00:00","og_image":[{"url":"https:\/\/swords.zhaw.ch\/cb\/images\/out.png","type":"","width":"","height":""}],"author":"musy","twitter_card":"summary_large_image","twitter_misc":{"Written by":"musy","Est. reading time":"8 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/blog.zhaw.ch\/icclab\/windows-image-for-openstack\/#article","isPartOf":{"@id":"https:\/\/blog.zhaw.ch\/icclab\/windows-image-for-openstack\/"},"author":{"name":"musy","@id":"https:\/\/blog.zhaw.ch\/icclab\/#\/schema\/person\/36d26d89e869352eb9ca673f92b9d373"},"headline":"Windows image for OpenStack","datePublished":"2014-09-09T08:27:43+00:00","dateModified":"2015-11-26T09:11:56+00:00","mainEntityOfPage":{"@id":"https:\/\/blog.zhaw.ch\/icclab\/windows-image-for-openstack\/"},"wordCount":1478,"commentCount":10,"image":{"@id":"https:\/\/blog.zhaw.ch\/icclab\/windows-image-for-openstack\/#primaryimage"},"thumbnailUrl":"https:\/\/swords.zhaw.ch\/cb\/images\/out.png","articleSection":["*.*"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/blog.zhaw.ch\/icclab\/windows-image-for-openstack\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/blog.zhaw.ch\/icclab\/windows-image-for-openstack\/","url":"https:\/\/blog.zhaw.ch\/icclab\/windows-image-for-openstack\/","name":"Windows image for OpenStack - Service Engineering (ICCLab &amp; SPLab)","isPartOf":{"@id":"https:\/\/blog.zhaw.ch\/icclab\/#website"},"primaryImageOfPage":{"@id":"https:\/\/blog.zhaw.ch\/icclab\/windows-image-for-openstack\/#primaryimage"},"image":{"@id":"https:\/\/blog.zhaw.ch\/icclab\/windows-image-for-openstack\/#primaryimage"},"thumbnailUrl":"https:\/\/swords.zhaw.ch\/cb\/images\/out.png","datePublished":"2014-09-09T08:27:43+00:00","dateModified":"2015-11-26T09:11:56+00:00","author":{"@id":"https:\/\/blog.zhaw.ch\/icclab\/#\/schema\/person\/36d26d89e869352eb9ca673f92b9d373"},"breadcrumb":{"@id":"https:\/\/blog.zhaw.ch\/icclab\/windows-image-for-openstack\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/blog.zhaw.ch\/icclab\/windows-image-for-openstack\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/blog.zhaw.ch\/icclab\/windows-image-for-openstack\/#primaryimage","url":"https:\/\/swords.zhaw.ch\/cb\/images\/out.png","contentUrl":"https:\/\/swords.zhaw.ch\/cb\/images\/out.png"},{"@type":"BreadcrumbList","@id":"https:\/\/blog.zhaw.ch\/icclab\/windows-image-for-openstack\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Startseite","item":"https:\/\/blog.zhaw.ch\/icclab\/"},{"@type":"ListItem","position":2,"name":"Windows image for OpenStack"}]},{"@type":"WebSite","@id":"https:\/\/blog.zhaw.ch\/icclab\/#website","url":"https:\/\/blog.zhaw.ch\/icclab\/","name":"Service Engineering (ICCLab &amp; SPLab)","description":"A Blog of the ZHAW Zurich University of Applied Sciences","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/blog.zhaw.ch\/icclab\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/blog.zhaw.ch\/icclab\/#\/schema\/person\/36d26d89e869352eb9ca673f92b9d373","name":"musy","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/516327e33a0be21faf96ad9b06a3e10c58937343b8751ed147c1a4486e8907ac?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/516327e33a0be21faf96ad9b06a3e10c58937343b8751ed147c1a4486e8907ac?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/516327e33a0be21faf96ad9b06a3e10c58937343b8751ed147c1a4486e8907ac?s=96&d=mm&r=g","caption":"musy"},"url":"https:\/\/blog.zhaw.ch\/icclab\/author\/musy\/"}]}},"_links":{"self":[{"href":"https:\/\/blog.zhaw.ch\/icclab\/wp-json\/wp\/v2\/posts\/5938","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.zhaw.ch\/icclab\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.zhaw.ch\/icclab\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.zhaw.ch\/icclab\/wp-json\/wp\/v2\/users\/158"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.zhaw.ch\/icclab\/wp-json\/wp\/v2\/comments?post=5938"}],"version-history":[{"count":14,"href":"https:\/\/blog.zhaw.ch\/icclab\/wp-json\/wp\/v2\/posts\/5938\/revisions"}],"predecessor-version":[{"id":9342,"href":"https:\/\/blog.zhaw.ch\/icclab\/wp-json\/wp\/v2\/posts\/5938\/revisions\/9342"}],"wp:attachment":[{"href":"https:\/\/blog.zhaw.ch\/icclab\/wp-json\/wp\/v2\/media?parent=5938"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.zhaw.ch\/icclab\/wp-json\/wp\/v2\/categories?post=5938"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.zhaw.ch\/icclab\/wp-json\/wp\/v2\/tags?post=5938"},{"taxonomy":"features","embeddable":true,"href":"https:\/\/blog.zhaw.ch\/icclab\/wp-json\/wp\/v2\/features?post=5938"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}