Introduction to Hyper-V in Windows 10 Part 1

Hyper-V has been included with the Windows Pro and Enterprise clients since Windows 8, replacing Windows 7's Virtual PC and XP Mode capabilities, and has continued to gain more capabilities as time goes on. With the ever increasing rise in usage of Hyper-V in Windows Server environments, it provides a great way to get a working knowledge of many of the capabilities in the server and standalone editions on your desktop PC, laptop or tablet without installing a server operating system. There are some features, primarily related to high availability scenarios, that aren't available in client Hyper-V, and I'll cover those in more detail toward the end of this series. I will be using this series to help prepare those of you wanting to leverage the currently available versions of Hyper-V, both on the client side as well as in Windows Server 2012 R2, and to start introducing some of the new Hyper-V features coming in Windows Server 2016.

Starting up Hyper-V Manager we can see that I only have one machine running Hyper-V being managed here, but we can add additional Hyper-V servers to be managed by right clicking on Hyper-V Manager and selecting connect to server, and then typing in the name of the other server. For now we will focus on managing a single Hyper-V machine.

Once we select the Hyper-V machine, you can see that I already have 3 virtual machines listed. The state column shows that one of these is powered off, the next is running, and the final one is in the saved state, effectively what we would think of as hibernate from the PC perspective. The other virtual machine information we are presented with gives us a quick view of CPU usage %, Assigned Memory, Uptime and the Status, which changes when we change the state of the VM.

From the Action Pane I've selected Hyper-V settings, where you need to start setting some of the options you want available to new VMs as they are created, including the storage location, which by default is going to be on your C: drive, which may not necessarily be where you want things stored. Storage Migrations can be used if you do need to start moving between storage locations, which comes in handy when you want to move virtual machines based on storage speed or capacity requirements.

Windows 10 includes the RemoteFX capabilities that allow the virtual machines to leverage the physical GPUs in the PC, and in this case it can leverage the integrated graphics of the CPU, but if you have a more advanced GPU available you can also select that. Checking the Enable this GPU with RemoteFX option means we can then accelerate certain functions inside of the virtual machine. I'll spend more time covering this later in this series of posts.

If we go back to Hyper-V Manager and choose Virtual Switch Manager from the Actions pane, we are presented with the option of creating a new virtual switch. You can see that I already have several created here already, as this machine has been used for a variety of different virtual machine scenarios.

When we create a new virtual switch we are presented with three connection types. The first of these is External network, where we can use a physical network adapter to connect to an external network. The second, Internal network, creates a virtual network in which the virtual machines can communicate with the host PC. The third option, Private network, only allows the VMs within that network to communicate with each other. If you had machines that needed to primarily communicate with each other, but also need external network or internet connectivity you could set up one of the virtual machines with an external and private virtual switch, and use something like RRAS/NAT to act as the gateway.

To wrap up this post, I want to highlight the tabs at the bottom of Hyper-V manager which give some summary information about what's happening within the VM.

You get a better view of what's happening with memory here, and I'll discuss Dynamic Memory in one of the upcoming posts, but this shows that even though I allow this VM to use up to 2GB of RAM, it only needs 649MB at this point in time.

The networking tab makes it very easy to check the IP addresses inside of the VM, so you don't have to log in to the VM to see these details. This is a feature that I find incredibly useful, especially when changing network settings, or even changing physical networks.

That's it for Part 1 of this series, there are several more posts to come. In the next post I'll cover creating and configuring virtual machines.