JMS77 Asked: 2010-04-03 05:28:15 +0800 CST2010-04-03 05:28:15 +0800 CST 2010-04-03 05:28:15 +0800 CST xenserver 5.5 Windows 来宾 772 xenserver 5.5 update2 在没有 VT 的 Pentium-D 上运行。说它不能在相同的 CPU ESXi 4 上支持 Windows 来宾(未找到 HVM 等),并且可以正常运行 Win XP。有什么想法吗?谢谢你。 intel-vt-x xenserver vmware-esxi 3 个回答 Voted David Rickman 2010-04-03T05:40:42+08:002010-04-03T05:40:42+08:00 Windows 没有可用的 Xen 内核模块。Xen 只能在没有 VT 的情况下进行半虚拟化。要运行 Windows Xen,需要 VT 来运行基于硬件的完整虚拟化。我不知道 ESX 是如何做到的。 phresus 2010-04-03T06:36:24+08:002010-04-03T06:36:24+08:00 基本上,ESXi 通过虚拟化整个 Windows 来宾来支持 Windows 来宾,而不是使用虚拟化扩展。VirtualBox 也会这样做。但是,VMware 和 VirtualBox 都不会在没有 VT-x/SVM 的情况下创建 64 位来宾。 Helvick 2010-04-03T07:20:27+08:002010-04-03T07:20:27+08:00 ESX 可以处理这个问题,因为它可以使用二进制转换来运行未经修改的 Windows 客户机操作系统,而 Xen 没有此功能。 VMware 的二进制转换技术是他们最初的虚拟化方法,因为他们的产品比硬件 x86 虚拟化早了很多年,而且他们一直支持运行未经修改的客户操作系统。基本上,VMware 管理程序可以即时拦截潜在有害的访客指令并对其进行修改。Xen(以及 Hyper-V 和大多数其他技术)不使用此类技术,它们的选择是半虚拟化或硬件虚拟化。这篇 Anandtech 文章中很好地解释了 vmware 的二进制翻译是如何工作的。 半虚拟化需要提前修改来宾操作系统,以便将可能有害的指令\操作替换为将在虚拟机中安全运行的代码。该术语有时被称为单开来宾或驱动程序,并且在某种程度上被所有主要虚拟化产品使用 - 例如,VMware 在其最新版本中支持半虚拟化 SCSI 驱动程序,并且需要 Hyper-V 的开明驱动程序来运行 VM最佳性能水平。 硬件虚拟化使 CPU 能够处理原本必须通过二进制翻译或半虚拟化处理的指令,并且它允许 Hypervisor 运行未经修改的来宾。尽管当前的硬件虚拟化实现允许(大多数)客户操作系统以接近裸机的速度运行,但在此过程中出现了一些问题。
Windows 没有可用的 Xen 内核模块。Xen 只能在没有 VT 的情况下进行半虚拟化。要运行 Windows Xen,需要 VT 来运行基于硬件的完整虚拟化。我不知道 ESX 是如何做到的。
基本上,ESXi 通过虚拟化整个 Windows 来宾来支持 Windows 来宾,而不是使用虚拟化扩展。VirtualBox 也会这样做。但是,VMware 和 VirtualBox 都不会在没有 VT-x/SVM 的情况下创建 64 位来宾。
ESX 可以处理这个问题,因为它可以使用二进制转换来运行未经修改的 Windows 客户机操作系统,而 Xen 没有此功能。
VMware 的二进制转换技术是他们最初的虚拟化方法,因为他们的产品比硬件 x86 虚拟化早了很多年,而且他们一直支持运行未经修改的客户操作系统。基本上,VMware 管理程序可以即时拦截潜在有害的访客指令并对其进行修改。Xen(以及 Hyper-V 和大多数其他技术)不使用此类技术,它们的选择是半虚拟化或硬件虚拟化。这篇 Anandtech 文章中很好地解释了 vmware 的二进制翻译是如何工作的。
半虚拟化需要提前修改来宾操作系统,以便将可能有害的指令\操作替换为将在虚拟机中安全运行的代码。该术语有时被称为单开来宾或驱动程序,并且在某种程度上被所有主要虚拟化产品使用 - 例如,VMware 在其最新版本中支持半虚拟化 SCSI 驱动程序,并且需要 Hyper-V 的开明驱动程序来运行 VM最佳性能水平。
硬件虚拟化使 CPU 能够处理原本必须通过二进制翻译或半虚拟化处理的指令,并且它允许 Hypervisor 运行未经修改的来宾。尽管当前的硬件虚拟化实现允许(大多数)客户操作系统以接近裸机的速度运行,但在此过程中出现了一些问题。