VMware提示此主机支持VT-x但已禁用怎么解决_VMware共享文件夹挂载终极修复教程
需依次启用BIOS中VT-x/AMD-V、禁用Windows Hyper-V等冲突服务、重配vmhgfs-fuse模块、修复vmtoolsd服务及用户组权限,必要时改用systemd-mount静态挂载。
如果您在 VMware 中启动虚拟机时收到“此主机支持 VT-x 但已禁用”的提示,同时共享文件夹无法挂载或显示为空,则问题通常源于 CPU 虚拟化功能未启用或 VMware Tools 与内核模块未正确协同。以下是解决此问题的步骤:
一、启用 BIOS/UEFI 中的 VT-x/AMD-V
VT-x(Intel)或 AMD-V(AMD)是硬件级虚拟化支持,必须在固件层面开启才能运行 64 位虚拟机及启用部分高级功能(如共享文件夹的自动挂载机制)。若该功能被禁用,VMware 将无法加载 vmxnet3 网卡驱动和 vmhgfs 模块,导致共享文件夹服务初始化失败。
1、重启计算机,在开机自检阶段反复按 Del、F2、F10 或 F12 进入 BIOS/UEFI 设置界面(具体按键因主板品牌而异)。
2、导航至 Advanced → CPU Configuration 或 Security → Virtualization Technology 类似路径。
3、将 Intel Virtualization Technology(VT-x) 或 SVM Mode(AMD-V) 设置为 Enabled。
4、按 F10 保存设置并退出,系统重启后进入宿主操作系统。
二、关闭 Windows Hyper-V 与 Windows Sandbox 冲突服务
Windows 自带的 Hyper-V、Windows Sandbox、WSL2、内存完整性(Core Isolation)等组件会独占 VT-x 控制权,导致 VMware 无法获取虚拟化资源,进而引发 VT-x 已禁用误报及 vmhgfs 模块加载失败。
1、以管理员身份运行 PowerShell,执行:Disable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All -NoRestart。
2、依次关闭以下功能:打开“控制面板 → 程序 → 启用或关闭 Windows 功能”,取消勾选 Hyper-V、Windows Sandbox、Windows Subsystem for Linux、虚拟机平台。
3、进入“Windows 安全中心 → 设备安全性 → 内存完整性”,点击“关闭内存完整性”并重启。
三、重新编译并加载 vmhgfs-fuse 模块
VMware Workstation 16.0+ 默认使用 vmhgfs-fuse 用户态文件系统替代旧版内核模块 vmhgfs,若 fuse 未启用或模块未编译,共享文件夹将无法挂载。需手动触发 VMware Tools 的内核模块重建流程。
1、在虚拟机中以 root 权限运行:sudo vmware-config-tools.pl -d 强制执行完整配置流程。
2、当提示 “Do you want to enable dragging and dropping files between the host and guest?” 时输入 yes;当提示 “Do you want to enable shared folders?” 时也输入 yes。
3、检查 fuse 是否启用:lsmod | grep fuse,若无输出则运行 sudo modprobe fuse 并添加至开机模块列表。
4、确认共享文件夹挂载点存在:sudo mkdir -p /mnt/hgfs,然后执行 sudo vmhgfs-fuse .host:/ /mnt/hgfs -o allow_other -o uid=1000。
四、修正 VMware Tools 服务状态与权限配置
vmtoolsd 服务异常或用户组权限缺失会导致共享文件夹自动挂载逻辑中断。即使 BIOS 和内核模块正常,服务未运行仍会造成挂载失败。
1、检查服务状态:sudo systemctl status vmtoolsd,若显示 inactive 则执行 sudo systemctl enable --now vmtoolsd。
2、将当前用户加入 vmware 组(若存在)或 fuse 组:sudo usermod -aG fuse $USER。
3、注销当前桌面会话并重新登录,使组权限生效。
4、验证挂载结果:ls /mnt/hgfs 应列出宿主机设置的共享文件夹名称。
五、替换共享文件夹挂载方式为 systemd-mount 静态声明
若 fuse 方式仍不稳定,可绕过 vmhgfs-fuse 动态挂载,改用 systemd 在启动时直接调用 mount 命令挂载,避免服务依赖链断裂。
1、创建挂载单元文件:sudo nano /etc/systemd/system/mnt-hgfs.mount。
2、写入以下内容(请根据实际用户名替换 UID):[Unit]\nDescription=VMware HGFS Shared Folders\nAfter=vmtoolsd.service\n\n[Mount]\nWhat=.host:/\nWhere=/mnt/hgfs\nType=vmhgfs-fuse\nOptions=defaults,allow_other,uid=1000\n\n[Install]\nWantedBy=multi-user.target。
3、启用并启动该挂载单元:sudo systemctl daemon-reload && sudo systemctl enable --now mnt-hgfs.mount。
免责声明:本文内容来自用户上传并发布,站点仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。请核实广告和内容真实性,谨慎使用。