如何在 VirtualBox 中禁用特定指令集?
现代主机应该具有最新的指令集,例如 AVX。
我想在客户操作系统中模拟没有 AVX 的情况,所以我想在虚拟机中禁用 AVX 指令集。
答案1
VirtualBox 不支持该功能。
如果您正在运行 Linux,则有一个补丁可以删除以下功能:
“清除 AVX、AVX2 功能以及清除 XSAVE 功能位,作为解析‘noxsave’参数的一部分。” https://patchwork.kernel.org/patch/1521191/
答案2
VirtualBox 的最新版本通过VBoxInternal
以下设置支持此功能:
Vagrant.configure('2') do |config|
config.vm.provider :virtualbox do |vb|
vb.customize ['setextradata', :id, 'VBoxInternal/CPUM/IsaExts/AVX', '0']
vb.customize ['setextradata', :id, 'VBoxInternal/CPUM/IsaExts/AVX2', '0']
vb.customize ['modifyvm', :id, '--ioapic', 'on']
end
end