Configuring and Installing a Xen Hardware Virtual Machine (HVM) domainU Guest
Xen hardware virtual machine (HVM) provides support for the virtualization of unmodified guest operating systems. Where ever possible it is better to run paravirtualized guests because HVM domainU guests run slightly slower than paravirtualized domainU guests and require that the host system contain a processor type with build in virtualization support. That said, if you need to virtualize an operating system which has not, or cannot be modified to run as a paravirtualized Xen guest (such as Microsoft Windows) then HVM virtualization is the only solution.
Full Virtualization vs. Para-Virtualization
Xen provides two approaches to virtualization - full virtualization and paravirtualization. Full virtualization provides complete abstraction between the hardware and the guest operating system. In this scenario, the guest operating system is provided a complete virtual physical environment in which to run and, as such, is unaware that it is running inside a virtual machine. One advantage of full virtualization is that the operating system does not need to be modified in order to run in a Xen virtualized environment. This means that proprietary operating systems such as Microsoft Windows can be run on Linux systems.
Disadvantages of full virtualization are that performance is slightly reduced as compared to paravirtualization and Xen requires CPUs with special virtualization support built in (such as Intel-VT and AMD-V) in order to perform full virtualization.
Paravirtualization requires that a guest operating system be modified to support virtualization. This typically means that guest operating systems are limited to open source systems such as Linux. The advantage to this approach is that a paravirtualized guest system comes closer to native performance than a fully virtualized guest, and the latest virtualization CPU support is not needed.
Checking Hardware Support for Xen Hardware Virtual Machines (HVM)
As mentioned previously, in order to support full hardware virtualization, the CPU must include Intel-VT or AMD-V support. This can be verified using the following commands:
For Intel CPUs:
grep vmx /proc/cpuinfo
For AMD CPUSs:
grep svm /proc/cpuinfo
If your system does not include this support you can still use Xen in para-virtualization mode. You will not, however, be able to run unmodified operating systems such as Microoft Windows as a Xen guest operating system.