the hardware and therefore stop virtual machine mobility. This does not mean there
are not solutions, though.
For the first scenario, a USB device available as part of a user’s session on a virtual
machine, the solution is to use the Remote Desktop Protocol (RDP) capability to pass
a locally attached USB device on the user’s local device directly through to the remote
virtual machine. With Windows Server 2012 and the RemoteFX technology, it is
possible to redirect almost any USB device over RDP.
The second scenario, for a USB device always to be connected to a virtual machine
even when a user is not logged on, requires the use of third-party solutions that
enable USB over IP. The solutions work by having a physical server that has all of the
USB devices connected to it and runs a service that enables the USB devices to be
accessed remotely over IP. The virtual machines then run a client piece of software
that connects to the USB device over IP and looks to the VM like a local USB device.
The benefit to these types of solutions is that the virtual machine can still be moved
between hosts without losing connectivity to the USB device. Many solutions are
available, but the two I have seen in customers’ environments are described at the
following locations:
http://www.silexamerica.com/products/connectivity-solutions/device-networking/usb-
parallel-connectivity/sx-ds-
3000wn/www.digi.com/products/usb/anywhereusb#overview
Generation 2 Virtual Machine
Earlier I made a statement, “Each virtual machine believes it is the sole user of the
hardware on which it is running,” and the point was that the operating system was
unaware it was running on a hypervisor, which is why there was so much emulated
hardware in a generation 1 virtual machine. The various PS/2 keyboard and mouse
devices, the IDE controller, the legacy network adapter for PXE boot, PCI controllers,
and so on were required so that operating systems could work in a virtual
environment, because they were inherently ignorant to virtualization, unable to
natively use virtualized or synthetic devices.
This was true when virtualization was first introduced and needed to support
operating systems such as Windows NT 4 and Windows 2000, but the reality for
modern operating systems such as Windows Server 2012 and even recent Linux
distributions is that they natively understand virtualization and are fully virtualization
enlightened. They can use virtual devices without additional drivers installed and
don’t require “physical hardware” elements to be present. Modern operating systems
are designed to run in physical and virtual environments.
The generation 2 virtual machine was introduced in Windows Server 2012 R2 Hyper-
V. It is focused on the new generation of operating systems that are natively
enlightened to virtualization and don’t require the emulated components such as IDE
controllers, PS/2 I/O devices, COM ports, legacy network adapters, floppy drives, and
all the other emulated motherboard components (such as PCI-to-ISA bridge). A