为什么64位主机上的VirtualBox需要64位客户端的HT?


4
  • 主机是win64bit。
  • 我想运行64位Linux客户端。
  • CPU是AMD 64bit 2核。
  • 我在BIOS中找不到HyperThreading或VT或HT选项。
  • VirtualBox版本是:4.18

但是,VirtualBox告诉我必须为64-on-64场景启用VT / HT。

为什么强制要求?

我怎么能运行64位客人?

使用AMD-v说明编辑 AMD Athlon 64 X2 3800+代号为windsor socket AM2 940!

评论可能是正确的:似乎CPU支持AMD-V,但BIOS(奖励) - 不支持!

编辑:分辨率

除了答案,@ kobaltz是正确的:

我不得不升级我的BIOS,以便看到chaning虚拟化支持的选项。支持在那里,但BIOS没有考虑到它。


你的CPU是什么,只是因为你运行64位Windows并不意味着你的处理器启用了硬件虚拟化。如果此选项仍然不可用,您可能需要查看更新BIOS或联系您的制造商。
kobaltz 2011年

1
我见过CPU支持虚拟化的情况,但BIOS没有选项(较新的Core i5 Sandy Bridge笔记本电脑)。为了不必处理你现在必须处理的事情,我选择不购买那个。
kobaltz 2011年

@Berry Tsakala请注意,超线程支持与您的问题无关。64位到64位虚拟化在没有超线程的处理器上工作正常(如果我没记错的话,AMD根本不支持超线程)。可能是VirtualBox文档中的错误。我们还需要知道CPU的确切型号,以确定它是否支持虚拟化扩展。
AndrejaKo 2011年

Answers:


4

强制要求的原因是在64位模式(称为长模式)下,大多数64位CPU不支持虚拟化软件对无辅助虚拟化的要求。

来自维基百科x86虚拟化:

为了保护管理程序(环0)的存储器不受在环1上运行的客户OS的影响,必须使用分段。由于长模式缺乏分段支持,x86-64(AMD64)的初始版本不允许纯软件完全虚拟化,这使得不可能保护管理程序的内存,特别是保护陷阱处理程序在来宾内核地址空间中运行。和版本D和更高版本的64位AMD处理器(根据经验,那些制造在90纳米或更小的处理器)为长模式下的分段添加了基本支持,从而可以通过二进制文件在64位主机中运行64位客户机翻译。英特尔没有为其x86-64实施(英特尔64)增加分段支持,使英特尔CPU无法实现64位纯软件虚拟化,

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.