必须先安装匹配版本的extension pack,再在虚拟机设置中手动启用nvme控制器;关闭虚拟机后删除原有sata/scsi控制器,添加nvme控制器并挂载vdi磁盘,windows客户机需确认驱动支持,linux客户机用lspci和lsblk验证nvme0n1设备。

要在VirtualBox虚拟机中启用NVMe硬盘控制器并让客户机识别高速NVMe设备,必须先安装匹配版本的Extension Pack,再在虚拟机设置中手动启用NVMe控制器——缺一不可,否则即使宿主机有NVMe固态盘,虚拟机也只会看到SCSI或IDE控制器下的慢速模拟磁盘。
确认VirtualBox主程序与扩展包版本严格一致
打开VirtualBox主界面 → 点击菜单栏【帮助】→【关于VirtualBox】→ 查看顶部显示的版本号(例如:7.2.8)。
访问VirtualBox官网下载页 → 找到与你主程序**完全相同版本号**的Extension Pack(如VirtualBox 7.2.8 Oracle VM VirtualBox Extension Pack),【必须版本号逐位一致,7.2.8不能用7.2.7或7.2.9替代】。
下载完成后双击运行,按提示点击【安装】→ 接受许可协议 → 完成安装。安装过程会自动关联当前VirtualBox实例,无需重启软件。
为虚拟机启用NVMe控制器
关闭目标虚拟机(必须处于“已关闭”状态,不能是“保存状态”或“运行中”)。
选中该虚拟机 → 点击右上角【设置】图标 → 切换到【系统】→【主板】选项卡 → 取消勾选【启用IO APIC】(NVMe控制器依赖APIC,但此选项在部分旧版Guest OS中反而引发启动失败,先禁用可排除干扰)。
切换到【存储】选项卡 → 点击右侧【控制器:SATA】或【控制器:SCSI】→ 点击上方【移除控制器】按钮(删除原有控制器,避免设备冲突)→ 点击【添加控制器】→ 选择【添加NVMe控制器】。
此时存储树形列表中会出现【NVMe控制器】节点,展开后点击【添加硬盘】→ 【创建新硬盘】→ 类型选VDI → 存储类型选【固定大小】→ 大小建议≥20GB → 完成创建。
Windows客户机中加载NVMe驱动(仅首次启动必需)
方法一:使用微软原生驱动(推荐Win10 20H2及以上、Win11)
启动虚拟机 → 进入Windows安装界面 → 当提示“找不到驱动器”时,按下Shift + F10调出命令提示符 → 输入:diskpart → list disk → 若能看到编号为0且容量匹配的新磁盘(如Disk 0),说明NVMe控制器已被识别,无需额外驱动,直接关闭CMD继续安装即可。
方法二:手动注入第三方驱动(适用于Win7/Win10早期版本)
提前从Intel或AMD官网下载对应芯片组的NVMe驱动(如Intel RST驱动v18.3+或AMD Chipset Driver v4.05+)→ 解压得到.inf文件 → 在VirtualBox设置中,进入【设备】→【分配USB设备】→ 勾选【启用USB 2.0/3.0控制器】→ 启动虚拟机前,将解压后的驱动文件夹拖入虚拟机窗口 → 安装时在“加载驱动”界面点击【浏览】→ 定位到.inf所在文件夹 → 选中.inf → 点击【确定】。
【注意:Win7默认不包含NVMe协议栈,必须注入驱动,否则安装程序无法发现任何磁盘】
Linux客户机验证NVMe设备可用性
启动Ubuntu/CentOS等Linux虚拟机 → 登录后打开终端 → 执行:lspci | grep -i nvme → 应返回类似00:05.0 Non-Volatile memory controller: Intel Corporation Device 2701 (rev 03)的行。
执行:lsblk → 查看输出中是否存在nvme0n1设备(而非sda)→ 若存在,说明NVMe控制器已生效。
执行:sudo nvme list → 若报错“Command 'nvme' not found”,需先安装工具:sudo apt install nvme-cli(Ubuntu/Debian)或sudo yum install nvme-cli(CentOS/RHEL)。











