You can run Windows 10 Home virtual machine in Cubbli Linux laptops which have builtin Windows 10 Home OEM license available (probably most of them). However, the following points apply:

  • The VM has Windows 10 1903 build and Office 365 pro plus installation available and nothing else. You need to install everything else yourself. 
  • The Windows image download is 12 gigabytes in size (even when compressed). You need a lot of time or a fast Internet connection to download it.  
  • There is no University of Helsinki customization.
  • The first thing you need to create when the VM starts are user accounts. Using the same user account name as your AD user account might help with some things.
  • ... or you can use your MS online user account. University of Helsinki AD user accounts do not work for this (yet). 
  • If you want to create a local offline Windows 10 account, start the Windows 10 VM first without network. Windows 10 installer allows offline account creation only when Internet is not available. 
  • You are free to create administrator and regular user accounts in the VM.
  • You can delete the VM and reinstall it from scratch, as long as you are running only one instance at a time. That is what the license permits.
  • The VM can't be transferred to another device (without reactivation) since the activation is tied to the physical device OEM license.
  • There is no easy and good way to share files between Windows host and Linux (yet). USB storage stick, OneDrive and Dropbox are probably easiest solutions. 
  • If you are a staff member, you can request an AD Windows installation instead. 
  • AD Windows usage instructions apply to these OEM Windows installation too. 


You can skip this step, if you already have cubbli-kvm package installed and you belong to the libvirt group. 

You need sudo rights to install the required KVM hypervisor.  With sudo rights run the following commands to install Qemu+KVM hypervisor and to give your user account access to the installed hypervisor. 

$ sudo apt -y install cubbli-kvm
$ sudo addgroup $USER libvirt

When succesful the result should look like this:

$ sudo apt -y install cubbli-kvm
[sudo] password for jjaakkol:
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages will be upgraded:
1 to upgrade, 0 to newly install, 0 to remove and 0 not to upgrade.
Need to get 1,464 B of archives.
After this operation, 1,024 B of additional disk space will be used.
Get:1 bionic/main amd64 cubbli-kvm all 18.04.2-2 [1,464 B]
Fetched 1,464 B in 0s (108 kB/s)
(Reading database ... 1069307 files and directories currently installed.)
Preparing to unpack .../cubbli-kvm_18.04.2-2_all.deb ...
Unpacking cubbli-kvm (18.04.2-2) over (18.04.1-1) ...
Setting up cubbli-kvm (18.04.2-2) ...
$ sudo addgroup $USER libvirt
The user `jjaakkol' is already a member of `libvirt'.

You need to restart your machine to get access to the libvirt group (Yes, the group can be accessed without a restart. This is left as an exercise). After the restart run the script i-want-windows-10:

luser@lx9-fuxi987$ i-want-windows10
This script installs a Windows 10 OEM QEMU+KVM virtual machine to your host.

Downloading Windows 10 image.
win10-oem-compressed. 100%[=========================>] 11.89G 22.7MB/s in 10m 18s
Creating virtual machine pool directory in /home/libvirt-home.

Domain win10-oem defined from /home/libvirt-home/win10-oem.xml

Installation finished.
No you can start your VM with virt-manager.

Running Windows 10 for the first time. 

Now launch virt-manager (Virtual Machine Manager) and select your new Windows 10 VM called win10-oem. Click the play button to start the VM. The first launch will take some time.

Please wait. 

Getting ready...

Just a moment

Then you need to answer various Windows 10 dialogues. This too will take some time.

Locale and keyboard selection. 

You need to accept the Windows 10 license. 

Next you need to create an user account. You can use MS online user accounts or you can create a local user account. You can create a local user account without a password, since this is a virtual machine and only accessible from the host Linux machine.

Sign in with MS online account (if you have one) or create an offline account.

Offline account creation. Remember, offline account creation is only available if Win 10 can't access the Internet. 

You can create an account with empty password, since this is a virtual machine.

After answering yet more questions about MS online tracking (always answering no is a safe choice):

If you thought you were done waiting...


When the installation is finished check that Windows 10 activation succeeded.

Hit Windows key and type activation.

Select activation settings. 

Windows should be automatically activated with

digital license. 

If activation was a success install Windows updates next.

Hit windows key and type updates.

Download updates. 

A restart is required after updates are installed.

This probably looks familiar.

Congratulations! You are done. If you want to use Office apps, you need to sign on with an online user account. Your account will work for this. More instructions about using Windows VMs with Virtual Machine Manager will be available later. 

Default virtual hardware.

  • Two CPU cores are available to the virtual machine. If your host machine has more cores, you can add them to the VM using virt-manager. Remember that Windows 10 home can only use virtual CPU cores, not virtual CPU sockets, since Windows 10 home only sees the 1st CPU of the machine.
  • The VM has 4G memory. Again, you are free to add more memory, if your Linux host has memory available. 
  • The virtual C: disk has only 50G size. Again, you can add more disk space to the VM.
  • You  can redirect USB host devices directly to the VM by selecting Virtual Machine/Redirect USB devices from the virt-manager menu.

Exporting laptops builtin USB web cam to Windows: