在没有VT的Pentium-D上运行的xenserver 5.5 update2。 说它不能支持Windows客户端(HVM未find等)在相同的CPU ESXi 4安装和运行Win XP罚款。 有什么想法吗? 谢谢。
Windows没有可用的Xen内核模块。 Xen只能在没有VT的情况下进行准虚拟化。 运行Windows Xen需要VT才能运行完整的基于硬件的虚拟化。 我不知道ESX究竟是怎么做的。
基本上,ESXi通过虚拟化整个虚拟机而不是虚拟化扩展来支持Windows虚拟机。 VirtualBox也会这样做。 但是,VMware和VirtualBox都不会创build没有VT-x / SVM的64位guest虚拟机。
ESX可以处理这个问题,因为它可以使用二进制翻译来运行未经修改的Windows客户操作系统,而Xen没有这种能力。
VMware的二进制翻译技术是他们最初的虚拟化方法,因为他们的产品早在硬件x86虚拟化方面已有数年之久,并且一直支持运行未经修改的客户操作系统。 基本上,VMwarepipe理程序可以实时拦截潜在有害的客户指令并对其进行修改。 Xen(以及Hyper-V和大多数其他公司)不使用这种技术,他们的select是半虚拟化或硬件虚拟化。 在这篇Anandtech文章中,有一个关于vmware的二进制翻译如何工作的很好的解释。
准虚拟化需要提前修改客户机操作系统,以便可以在虚拟机中安全运行的代码replace可能有害的指令\操作。 这个术语有时被称为“开明宾客”或“驱动程序”,它在某种程度上被所有主要的虚拟化产品所使用 – 例如,VMware在其最新版本中支持半虚拟化的SCSI驱动程序,Hyper-V的开明驱动程序需要在最佳的性能水平。
硬件虚拟化使CPU能够处理那些必须通过二进制翻译或半虚拟化处理的指令,并允许pipe理程序运行未修改的客户机。 虽然目前的硬件虚拟化实施允许(大多数)客户操作系统以接近裸机的速度运行,