VPMC模块启动失败,后续连锁故障:开机循环进入 emergency mode 紧急模式,USB 集线器报错 hub_ext_port_status failed (err = -110)完整排错笔记
VMware Ubuntu18 开机进入紧急模式完整排错笔记
背景信息
宿主机:联想昭阳 X3-15 IRL,i7-13620H,Win11 24H2 家庭版
虚拟机软件:VMware Workstation
虚拟机系统:Ubuntu 18.04
存储特殊点:虚拟机磁盘文件(.vmx/vmdk)存放在外接 USB 固态
初始报错:
VPMC模块启动失败,不支持虚拟化性能计数器后续连锁故障:开机循环进入
emergency mode 紧急模式,USB 集线器报错hub_ext_port_status failed (err = -110)
一、初始 VPMC 报错解决方案(VMware 侧配置,根治弹窗)
问题原因
VMware 默认开启虚拟化性能计数器,但是宿主机的硬件可能不支持进行虚拟化性能计数器
操作步骤
将虚拟机的虚拟化引擎全都关掉(对虚拟机的性能完全不影响,只是安全性降低而已)
二、开机卡在 GRUB 界面思路
不需要管他按e进入到参数编辑页
不需要操作,我们的目标是进行系统信息的获取,直接按Ctrl+x进入到临时启动查看信息
三、紧急模式核心故障:/etc/fstab 无效挂载项阻塞开机
故障根源(从 cat /etc/fstab 确认)
fstab 内存在 2 项无意义 / 易超时的自动挂载条目,导致 systemd 判定启动失败,跳入紧急模式:
/dev/fd0:软盘驱动器,现代虚拟机无此硬件,开机冗余扫描;.host:/ /mnt/hgfs:VMware 共享文件夹开机自动挂载,外接 USB 固态场景极易通信超时卡死。
修复操作(root 终端内执行)
1.按Enter进入到root命令行模式输入以下命令查看设备信息
2.由于是虚拟机磁盘文件(.vmx/vmdk)存放在外接 USB 固态所以可能是挂载的问题,所以查看系统的挂载信息
cat /etc/fstab如图.host:/ /mnt/hgfs:VMware 共享文件夹开机自动挂载,外接 USB 固态场景极易通信超时卡死。因此只需要将改行注释
nano /etc/fstab修改规则:仅保留系统必需 2 行,其余两行行首添加 #注释
# / 系统根分区,必须保留 UUID=4d2a98d1-5d98-4ea9-ac52-2e68fb761480 / ext4 errors=remount-ro 0 1 # swap交换分区,必须保留 /swapfile none swap sw 0 0 # 注释:不存在的软盘硬件 #/dev/fd0 /media/floppy0 auto rw,user,noauto,exec,utf8 0 0 # 注释:开机自动共享文件夹(阻塞元凶) #.host:/ /mnt/hgfs fuse.vmhgfs-fuse allow_other,defaults 0 0保存退出:
Ctrl+O→ 回车确认 →Ctrl+X重启系统生效
systemctl reboot屏蔽两条挂载项的作用
注释软盘
/dev/fd0:消除无意义硬件扫描,加快开机速度;注释共享文件夹
/mnt/hgfs:核心解决紧急模式,跳过 USB 共享挂载超时阻塞,系统完整走完启动流程进入桌面。
补充:需要 Windows 与虚拟机传文件(手动临时挂载)
取消开机自动挂载后,进系统手动执行命令临时开启共享,无启动阻塞风险:
# 挂载共享文件夹 vmhgfs-fuse .host:/ /mnt/hgfs -o allow_other # 使用完毕卸载 umount /mnt/hgfs四、外接 USB 固态存放虚拟机的额外注意事项
硬件插拔规范:Windows 完全识别固态后再启动虚拟机;关闭虚拟机、退出 VMware 后再弹出固态,禁止运行中断开;
宿主机接口:固态优先插电脑后置原生 USB3.0 接口,避免拓展坞、前置 USB 口造成 IO 波动;
VMware 磁盘优化:虚拟机磁盘设置勾选「预分配整个磁盘空间」,减少 USB 固态碎片卡顿;
禁止操作:不要在 fstab 内挂载宿主机 USB 固态分区,极易 UUID 失效导致启动故障。
五、额外排错命令(紧急模式 root 终端工具)
查看完整系统启动日志,定位报错服务
journalctl -xb磁盘文件系统自检修复(虚拟机根分区 /dev/sda1)
fsck /dev/sda1 -y永久屏蔽 USB 内核驱动(系统内固化,无需每次 GRUB 修改)
echo "blacklist usb_core" | sudo tee /etc/modprobe.d/disable-usb.conf sudo update-initramfs -u