MS Windows Workstation

How to create own custom MS Windows host for EVE:


EVE Image Name Downloaded filename Version vCPU RAM HDD Format
win-7×64 Windows7SP1Ultimate_64 Bit.iso 7 Pro 1 8192 virtioa
win-8.1×64 Windows-8.1-install.iso 8.1 1 8192 virtioa
win-10x64Pro Windows-10×64-Pro.iso 10 2 8192 virtioa


This How to is based on Windows 7×64 image installation. The other windows versions are supported


For this you will need an actual Windows installation ISO.

We are using: Windows7SP1Ultimate_64 Bit.iso. Be sure that distro name does not have spaces in the filename!
The procedure is the same for any other Windows version 7, 8.1, 10 hosts.

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

mkdir /opt/unetlab/addons/qemu/win-7test/

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/win-7test/

3. Go to that directory via CLI

cd /opt/unetlab/addons/qemu/win-7test/

4. Rename this ISO file to cdrom.iso

mv Windows7SP1Ultimate_64_Bit.iso cdrom.iso

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

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

6. Create a new lab and add the newly created win-7test 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 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 will be installed, choose Load driver, Browse, choose FDD B/storage/2003R2/AMD64 or x86, (AMD or x86 depends which version of windows you are installing 64 or 32 bit), click next and you will see HDD RedHat VIRTIO SCSI HDD now.

10. Select this HDD and continue to install Windows 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 user/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/win-7test/
 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/qemu/win-7test

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
  1. 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: