在 VirtualBox 中禁用指令集

在 VirtualBox 中禁用指令集

如何在 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

相关内容