How to run virtual machines on Windows 8.1 with Client Hyper‑V

Did you know that Windows 8.1 Professional and Enterprise has built-in virtualization capabilities? Here's how to run multiple operating systems on a single PC.

Hyper-V Overview

Special Feature

Virtualizing the Enterprise

Virtualization has swept through the data center in recent years, enabling IT transformation and serving as the secret sauce behind cloud computing. Now it’s time to examine what’s next for virtualization as the data center options mature and virtualization spreads to desktops, networks, and beyond.

Read More

Many Windows users aren't aware of it, but a powerful virtualization tool is built into every copy of Microsoft Windows 8.x Pro and Windows 8.x Enterprise, Client Hyper-V.

This is the very same Type-1 hypervisor that runs virtualized enterprise workloads and comes with Microsoft Windows Server 2012 R2. The virtual machines you create on your desktop with Client Hyper-V are fully compatible with those server systems as well.

If you're a software developer and need to do testing, or simply want additional operating system(s) running on your computer, such as Linux, Hyper-V can be a great feature to have enabled on your PC.

Client Hyper-V has remarkably few limitations compared to its Server sibling. They are:

  • Does not have Remote FX capability to virtualize GPUs
  • Cannot do Live migration of virtual machines from one host to another
  • Cannot use Hyper-V Replica
  • Does not include Virtual Fibre Channel
  • Cannot do 32-bit SR-IOV networking
  • Cannot do Shared .vhdx

If you need to be able to do these, you might want to consider the free Hyper-V Server product, or Windows Server 2012 R2.

For additional information on the full feature set of Hyper-V, click here.

Enable 64-bit Virtualization Extensions in your PC BIOS

To install the Hyper-V feature on your PC, you'll need a computer with 4GB of RAM with a 64-bit processor that has Second Level Address Translation (SLAT).

Many PCs on the market have this feature, but some budget processors and older 64-bit systems do not. Additonally, while many PC BIOSes have virtualization features turned on by default, your PC might not.

As BIOS menu layouts are not universal, you'll want to consult your PC BIOS documentation as to where the feature is located in your firmware setup and what it is called.

In the example above on this Dell consumer Core i7 laptop, it is simply referred to as "Virtualization" under the "Advanced" menu.

Client Hyper-V is only available in the following versions of Windows:

  • Windows 8 Pro 64-bit Edition
  • Windows 8 Enterprise 64-bit Edition
  • Windows 8.1 Pro 64-bit Edition
  • Windows 8.1 Enterprise 64-bit Edition
  • Windows 10 Technical Preview

For this demonstration though, we'll concentrate on the Windows 8.1 versions, as it is a free upgrade from Windows 8, and that's the version most users will likely be using.

Turn Windows Features On

From the Windows 8.1 Start Screen, simply begin typing "Turn Windows Features On"

An icon, as depicted above named "Turn Windows Features On or Off" will appear. Click on it to continue.

Add the Hyper-V features and Restart PC

As per the screen shot above, click on "Hyper-V" to add the feature and then click on OK. You will be prompted to reboot your PC, where Windows will automatically install the hypervisor and configure the system.

Add Hyper-V Manager and Virtual Machine Connection to Start/Desktop

After rebooting the PC, return to the Start Screen and start typing "Hyper-V Virtual Machine Connection".

You will see icons for Hyper-V Virtual Machine Connection and Hyper-V Manager. Right Click on each of these and pin them to Start or to the Task Bar.

The Hyper-V Manager is the main administrative and management console for all Hyper-V related activities, whereas the Hyper-V Virtual Machine Connection is a quick way to console directly into a running virtual machine.

Launch Hyper-V Manager

Launch the Hyper-V Manager utility, and click on "Virtual Switch Manager" from the Actions menu on the right-hand side of the window.

Add a Virtual Switch

From the Virtual Switch Manager, create a new virtual switch by choosing External, Internal, or Private, and then clicking on "Create Virtual Switch", and then "OK".

In order of most permissive to least permissive, this is why you would want to chose one type of Virtual Switch over the other:

External virtual networks are used where you want to allow communications between

  • Virtual machine to virtual machine on your PC
  • Virtual machine to parent partition (Your local PC running Windows 8.1, and visa-versa)
  • Virtual machine to externally located systems (and visa-versa)
  • (Optional) Your PC to externally located servers (and visa-versa)

Internal virtual networks are used where you want to allow communications between

  • Virtual machine to virtual machine on your PC, but not to the external LAN
  • Virtual machine to parent partition (Your local PC running Windows 8.1, and visa-versa)

Private virtual networks are used where you want to allow communications between

  • Virtual machine to virtual machine running on your PC on an isolated network, but not to your PC.

Enable a VM connection

Next, give the Virtual Switch a name. In my example, I've named it "VM".

If you choose to give the switch external network connectivity, you'll need to choose a network interface on your PC that the VMs will use for network traffic out to your LAN (and the Internet).

In my example I have "Allow management operating system to share this network adapter"checked. That means that my Windows 8.1 PC can still use this NIC to communicate and the VMs will share it for their own connectivity as well. Most desktop users should probably choose this option, especially if they only have a single physical network interface on their PC.

If you uncheck this, only the VMs will communicate over this virtual switch, and you will need a different NIC for network traffic for Windows 8.1 itself.

In my example, on my laptop, I have selected a USB 3.0 Ethernet adapter as the network for VM traffic because the laptop has no physical Ethernet jack, only Wi-Fi. It is reccomended that you use a wired Ethernet rather than a wireless ethernet adapter for your VM traffic.

The reason for this is some wireless networks use network authentication. However, Hyper-V exposes the vSwitch as a wired adapter to the VMs, so in that scenario, the VMs won't have the ability to authenticate to the wireless network.

Create a new VM

Once you've created your Virtual Switch, in the Actions menu in Hyper-V Manager, choose "New" and then "Virtual Machine"

You will then be presented with a wizard that will take you step-by-step through the VM creation process.

Keith Mayer from Microsoft has prepared an informative video explaining how to create new Virtual Machines. In his video, he demonstrates this on Windows Small Business Server 2011, but the process and the Hyper-V Manager tool is the same.

Modify VM Settings

Once you have created your VM, you can modify the settings to change the resources allocated to it (CPU, Memory) as well as add additional virtual hard disks and virtual network interfaces if needed.

In this example I've loaded Ubuntu Server 14.01.1 LTS as a Guest VM. Because of strong Open Source cooperation between Microsoft and the upstream Linux Kernel team in recent years, Ubuntu 14.01 and above and as well as other Linux distributions have current generation Hyper-V support already built-in to the kernel, so there are no special packages that need to be installed to take advantage of the many new features in Hyper-V 3.x, including Dynamic Memory support.

Some older versions of Linux will need the latest version of the Linux Integration Services installed for best performance.

In addition to Linux, FreeBSD is also supported experimentally as of version 10.

Please refer to this page to determine what Hyper-V features are supported on which Linux versions.


You have been successfully signed up. To sign up for more newsletters or to manage your account, visit the Newsletter Subscription Center.
See All
See All