为什么x86 CPU的硬件虚拟化功能只能在BIOS中启用?

时间:2014-06-01 15:54:49

标签: x86

我注意到只能通过BIOS配置菜单启用x86硬件虚拟化功能,如VT-x和AMD-V / svm。我有两个问题。

  1. 为什么这些硬件虚拟化功能只能在BIOS中启用?为什么OS不能绕过BIOS并直接启用这些功能(通过设置控制寄存器中的几位)?

  2. 为什么要打开和关闭这些虚拟化功能,为什么不让它启用呢?是因为即使您不使用它也会有一些性能或功耗损失?

1 个答案:

答案 0 :(得分:0)

我希望人们能够发布答案,即使它们很短。

系统启动时,一切都已启用。 BIOS可以禁用功能,一旦禁用,它们将无法启用,直到下次重新启动。所以你的困惑在于误解了BIOS提供的内容。它不是为您提供启用功能的功能,而是为您提供禁用功能的功能。这就是为什么操作系统不能在以后启用它。

正如jaroslawj指出的那样,这是出于安全原因。如果您不使用虚拟化,则不希望rootkit将自己设置为虚拟机管理程序,因为这样可以非常好地隐藏防病毒工具。 (这也是您希望BIOS禁用这些功能的原因,而不是等到启动可能受损的磁盘之后。)