MS Windows Server

How to create own custom MS Windows Server for EVE


EVE Image Foldername Downloaded Filename Version vCPU RAM HDD format
winserver-2008R2 S2008R2_x64fre_server_eval_en-us-GRMSXEVAL_EN_DVD.iso 2008R2 1 8192 virtioa
winserver-2012R2 2012.R2VL.ESD.ENU.June2016.iso 2012R2 2 8192 virtioa
winserver-2016R2 SW_DVD9_Win_Svr_STD_Core_and_DataCtr_Core_2016_64Bit_English_-2_MLF_X21-22843.ISO 2016R2 2 8192 virtioa
winserver-2019R2 SERVER_2019_EVAL_x64FRE_en-us_1.iso 2019R2 4 8192 virtioa
 The other Windows Server versions are supported. Steps how to create image are same.

Watch VIDEO how to Coming soon

 For this you will need an actual Windows Server 2012 installation ISO.

We are using: 2012.R2VL.ESD.ENU.June2016.iso. Be sure that distro name does not have spaces in the filename!
The procedure is the same for any other Windows Server version 2008, 2012, 2016 hosts.

1. Create a new directory for this image according to the naming convention:

mkdir /opt/unetlab/addons/qemu/winserver-2012R2/

2. Use WinSCP or FileZilla SFTP or SCP (port 22) to copy distro ISO image into the newly created directory path: /opt/unetlab/addons/qemu/winserver-2012R2/

3. Go to that directory via CLI

cd /opt/unetlab/addons/qemu/winserver-2012R2/

4. Rename this ISO file to cdrom.iso

mv 2012.R2VL.ESD.ENU.June2016.iso cdrom.iso

5. Create a new virtual harddisk named virtioa.qcow2. Size you can choose per your needs. This example is used 60Gb HDD.

/opt/qemu/bin/qemu-img create -f qcow2 virtioa.qcow2 60G

6. Create a new lab and add the newly created winserver-2012R2 node

7. Connect the node to your home LAN cloud/internet in order for it to be able to get updates from the internet

8. Start the node inside the lab and customize the installation of your Windows Server as you like, as you have connected it to your home LAN and internet this installation will be like any normal Windows installation

9. IMPORTANT: When windows installation asks you to choose an HDD where Windows Server will be installed, choose Load driver, Browse, choose FDD B/storage/2003R2/AMD64, (AMD64 if you are installing 64bit install), click next and you will see HDD RedHat VIRTIO SCSI HDD now.

10. Select this HDD and continue to install Windows Server as usual.

11. Optional: if you would like to use this image with the EVE RDP console, then you have to allow RDP on this Windows machine and create a user and password. In this example, we use administrator/Test123. Be sure that in the Windows Firewall the Remote Access inbound rules are permitted for Public access.

12. Finish installation and shutdown properly the VM from inside VM OS. Start/shutdown

IMPORTANT: Commit the installation to set it as the default image for further use in EVE-NG:

13. On the left side-bar within the lab in the EVE Web-UI choose “Lab Details” to get your lab’s UUID details: In this example: UUID: 3491e0a7-25f8-46e1-b697-ccb4fc4088a2

14. Find out the POD ID of your used and the Node ID of your newly installed node.

The POD number is assigned to your username, and can be found in the EVE GUI, Management/User Management. The Admin user uses POD number 0 by default.

The Node ID can be obtained by right clicking the node on the topology. In this Example it is 8

15. From the EVE CLI, locate the installed image and commit your changes to be used as default for further use in EVE-NG:

cd /opt/unetlab/tmp/0/3491e0a7-25f8-46e1-b697-ccb4fc4088a2/8/
/opt/qemu/bin/qemu-img commit virtioa.qcow2

16. Remove cdrom.iso from /opt/unetlab/addons/qemu/win-7test/

cd /opt/unetlab/addons/qemu/winserver-2012R2/
rm -f cdrom.iso


Advanced instructions on how to make your image smaller in size (sparsify&compress)

  1. After you have done all the steps above and your default image is created, you can compress its HDD and make it smaller.

IMPORTANT: for compressing an image you must have sufficient free space on your EVE host, the free space must exceed the total space (30GByte in this example) of the HDD you plan to shrink. The space needed can vary but will be the total space of the disk to be shrunk plus the size of the final sparsified and compressed image. To be safe you should have double the size of the HDD you want to shrink as free space on your EVE host. In our example we needed 35Gbyte of free HDD space. Once this process is done, the temporary file(s) will be deleted and free space reclaimed.

  1. From the CLI: go to your windows image directory:
cd /opt/unetlab/addons/winserver-2012R2

and perform the sparsify command:

eve-sparsify  --compress virtioa.qcow2 compressedvirtioa.qcow2
  1. This will take some time and another compressed image will be created in the same image directory (win-7test)
  2. Now you can rename your original virtioa.qcow2 file to orig.qcow2
mv virtioa.qcow2 orig.qcow2

 Rename the compressed image name to virtioa.qcow2:

mv compressedvirtioa.qcow2 virtioa.qcow2
  1. Now you can test your new compressed image on a lab, just wipe the node and start it.
  2. If the compressed node works fine, you can delete your original source image:orig.qcow2