关于用VMWare 跑64位虚拟机的一点常识

现在的机器硬件性能真是太好了,好多童鞋都感觉到只跑一个系统是不是有点浪费,所以在这个坛子上看见问VM问题的还真不少,其中关于 64位客户虚拟机的问题比较多,我在别的地方回过一些,感觉到独立发出来会更好一点。

以下英文均为摘自Wikipedia.org,中文是我大概的翻译,水平很低,仅供参考:

摘自“x86 virtualization”条目 ---One of the peculiarities of the x86 architecture is that page-level protection is provided by the hardware only between rings 0 and 3. In order to protect the memory of the hypervisor (ring 0) from a guest OS running at ring 1, segmentation must be used. The initial version of x86-64 (AMD64) did not allow for a software-only full virtualization due to the lack of segmentation support in long mode, which made the protection of the hypervisor's memory impossible, in particular, the protection of the trap handler that runs in the guest kernel address space. Revision D and later 64-bit AMD processors (as a rule of thumb, those manufactured in 90 nm or less) added basic support for segmentation in long mode, making it possible to run 64-bit guests in 64-bit hosts via binary translation. Intel never added segmentation support to its x86-64 implementation (EMT64), so 64-bit software only-virtualization is not possible on Intel CPUs, but VT-x support makes 64-bit hardware assisted virtualization possible on the Intel platform. ( http://en.wikipedia.org/wiki/X86_virtualization#64-bit

浅译:x86 体系的一个奇特之处在于硬件仅提供在 特权级ring0和ring3级 之间的页面级保护。为了使运行在ring0级的 hypervisor [注:指宿主系统内管理虚拟机的程序]的内存不受运行在ring1级的客户虚拟机操作系统影响,必须使用段管理。最初版的x86-64(AMD64) 指令集由于缺少long模式下的段支持,无法保护hypervisor内存,尤其是无法保护运行在客户虚拟机操作系统核心地址空间的陷入管理器 [注:应该指的是通过hypervisor软件模拟的客户虚拟机各类软硬件中断处理程序],因此不允许纯软件的全虚拟机 [注:对应部分虚拟,有兴趣可以自行查找相应资料]实现。AMD自修订D起或者更新的64位处理器(一般来说是采用90nm或更少的制造工艺的)增加了基本的long模式下分段支持,通过二进制译码,可以支持64位客户机系统运行在64位宿主操作系统下。Intel在它的x86-64指令集实现(EMT64)中从未加入段支持,因此64位的纯软件虚拟机在Intel的CPU上是不可能的,不过在Intel平台上通过 VT-x可能支持64位的硬件辅助虚拟机实现。


摘自“VMWare Workstation”条目 --- 64-bit guest operating systems require a 64-bit processor and a BIOS compatible with x86 virtualization. Intel processors require Intel VT hardware virtualization technology as Intel 64-bit processors without hardware virtualization technology do not have segmentation support in long mode. AMD64 processors must be revision
D or later to run 64-bit guests. ( http://en.wikipedia.org/wiki/VMware_Workstation

浅译: [注:这部分专门讨论VMWare]64位的客户操作系统, 要求64位的处理器,以及BIOS兼容x86虚拟化 [注:这个要求大概多数人没注意过,本人也是]Intel处理器则还要求支持Intel VT-x虚拟技术,否则它的64位CPU在long模式下无段支持 [注:参见上段]AMD 的CPU 则必须是修订D或者更新。

注意到以上均未提到时宿主系统必须是64位,因此估计 32位的Windows7下跑64位的虚拟机应该是可能的,只要你满足以上红字部分的条件,愿意的可以测试一下。问问32位讨论区的童鞋们,估计他们绝大多数的CPU其实都是64位的,这年头,要找一个纯32位估计还难度不小呢。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值