我还没有看到一个系统的默认配置可以启用MMU和定向I / O虚拟化。如果需要,通常需要重新引导并进入BIOS才能启用它,例如,VM上的64位支持。您没有使用虚拟化?如果不是,那么默认情况下关闭它的原因是什么?

#1 楼

曾经有一些概念验证的rootkit,例如Blue Pill,它可以拥有启用VT的系统。发现这一点之后,大多数供应商都开始在禁用VT的情况下发货,以作为一般安全预防措施。

评论


+1在台式机/笔记本电脑上使用VT的人除外。该机器易受病毒感染是规则。

–克里斯S
2012年5月17日14:03



我突然对自己制造的这款闪亮的功能强大的新开发机产生了新的想法,该机运行一堆启用了硬件虚拟化的VM。我不需要虚拟化,但是从长远来看,我认为它可以节省我的时间,而不必每隔几个月重复一次。这有多大的问题?

–纸浆
2012年5月17日在21:16

几乎不存在(截至本评论)。蓝丸是概念的证明。我不知道在野外会发生什么。

– MDMarra
2012年5月17日在21:20



这是Microsoft对安全问题的评估,包括建议在客户端角色系统上默认关闭VT的建议:msdn.microsoft.com/en-us/windows/hardware/gg463498.aspx

–Jpsy
13年7月20日在15:02

Microsoft的论文不再在其网站上提供,但是您可以根据需要在Internet存档上阅读。

–乔什·凯利(Josh Kelley)
2014年9月9日下午16:48

#2 楼

我们购买的所有刀片服务器均默认启用虚拟化。可能是因为我们的供应商已做出商业决定,以节省大量的支持电话。

不会因为遇到处理器问题而被禁用,而是取决于它的用途。默认情况下,它可能是关闭的,因为启用这些功能可能会影响外围设备访问。

评论


这会影响哪些外围设备访问?我从没听说过。

– MDMarra
2012年5月17日13:25

提到外围设备访问时,您是否在谈论VT-d?

– Zoredache
2012年5月17日19:03

不,是MMU ...我记得最近有人在开车兜风。与Rasberry Pi有关。

–桦木
2012年5月18日在9:46

#3 楼

请注意,根据另一个线程,它似乎也对性能产生了一些影响
https://superuser.com/questions/545101/why-does-hp-recommend-that-i-keep-hardware-virtualization -off

对我来说似乎很有意义,因为减少指令集会更有效。我只是不会想到更改BIOS选项会直接影响这一点。

我不知道影响是否重大,但考虑到这一点和安全隐患,这种情况很少默认情况下,禁用的已使用功能对我来说是一个不错的选择。

评论


链接答案的效率角度没有意义。指令高速缓存保存软件程序的指令。如果该程序不使用虚拟化指令,则对该缓存不起作用。而且,没有报告说有一个单独的执行单元可以处理虚拟化,也没有一部分指令解码器可以绕过,因此,任何一种方式都不应存在效率差异。

– Nimrod
18 Mar 25 '18:48



#4 楼

另一个原因是大多数用户内核功能(例如gettimeofday)已在VDSO中移动。
有时在虚拟化条件下,无法启用此快速路径。
因此,系统无法:这些功能的执行
避免从用户区到内核的昂贵切换并返回


评论


bert-hubert.blogspot.com/2017/03/…

–马西莫
18年8月27日在12:40

#5 楼

除了@MDMarra答案中提出的安全问题外,您还应考虑以下两点:


任何启用的可选功能都极有可能与其他功能进行某些令人讨厌的意外交互,需要其他验证。 PC供应商不愿将资源浪费在很少使用的功能上,而客户端虚拟化就是其中之一。
我强烈怀疑由于#1的原因,英特尔基本客户端固件/ BIOS blob已禁用VT。因此,任何运送支持VT的客户端的供应商都需要在准备其固件时自定义该选项。我看到更多默认情况下启用了VT的客户端。服务器是另一回事:我不仅总是发现启用了VT,而且VT-d也经常处于活动状态。