Linux虚拟机无法使用u盘的一种可能-- 重新下载open-vm-tools + open-vm-tools-desktop解决

一、问题描述

        插入u盘后虚拟机lsblk、fdisk -l均无法检测到 U 盘设备,但是底行的状态栏显示u盘是连接成功的。反复尝试多次,重新启动等无用。

二、排查过程

        1.U盘在本地可以正常使用,可排除 U 盘硬件故障。

        2.查看dmesg日志,发现系统仅识别了新增的 USB 控制器,但未检测到 U 盘的插入记录。

 xy@ubuntu:~$ dmesg | tail -30  # 查看最近30条系统日志,寻找U盘相关信息
[ 2074.006268] pci 0000:03:00.0: reg 0x10: [mem 0x00000000-0x0001ffff 64bit]
[ 2074.051081] pci 0000:03:00.0: PME# supported from D0 D3hot D3cold
[ 2074.059209] pci 0000:03:00.0: disabling ASPM on pre-1.1 PCIe device.  You can enable it with 'pcie_aspm=force'
[ 2074.059629] pci 0000:03:00.0: BAR 0: assigned [mem 0xfd400000-0xfd41ffff 64bit]
[ 2074.059878] pcieport 0000:00:15.0: PCI bridge to [bus 03]
[ 2074.059908] pcieport 0000:00:15.0:   bridge window [io  0x4000-0x4fff]
[ 2074.059988] pcieport 0000:00:15.0:   bridge window [mem 0xfd400000-0xfd4fffff]
[ 2074.060043] pcieport 0000:00:15.0:   bridge window [mem 0xe7a00000-0xe7afffff 64bit pref]
[ 2074.060375] pci 0000:03:00.0: enabling device (0000 -> 0002)
[ 2074.141963] xhci_hcd 0000:03:00.0: xHCI Host Controller
[ 2074.142143] xhci_hcd 0000:03:00.0: new USB bus registered, assigned bus number 3
[ 2074.143548] xhci_hcd 0000:03:00.0: hcc params 0x0388f081 hci version 0x120 quirks 0x0000000200000010
[ 2074.161958] xhci_hcd 0000:03:00.0: xHCI Host Controller
[ 2074.161968] xhci_hcd 0000:03:00.0: new USB bus registered, assigned bus number 4
[ 2074.162026] xhci_hcd 0000:03:00.0: Host supports USB 3.2 Enhanced SuperSpeed
[ 2074.162342] usb usb3: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 5.15
[ 2074.162362] usb usb3: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[ 2074.162380] usb usb3: Product: xHCI Host Controller
[ 2074.162398] usb usb3: Manufacturer: Linux 5.15.0-139-generic xhci-hcd
[ 2074.162400] usb usb3: SerialNumber: 0000:03:00.0
[ 2074.165087] hub 3-0:1.0: USB hub found
[ 2074.165611] hub 3-0:1.0: 4 ports detected
[ 2074.168424] usb usb4: We don't know the algorithms for LPM for this host, disabling LPM.
[ 2074.168448] usb usb4: New USB device found, idVendor=1d6b, idProduct=0003, bcdDevice= 5.15
[ 2074.168451] usb usb4: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[ 2074.168453] usb usb4: Product: xHCI Host Controller
[ 2074.168454] usb usb4: Manufacturer: Linux 5.15.0-139-generic xhci-hcd
[ 2074.168455] usb usb4: SerialNumber: 0000:03:00.0
[ 2074.169542] hub 4-0:1.0: USB hub found
[ 2074.169646] hub 4-0:1.0: 4 ports detected
xy@ubuntu:~$

        3.按照网上各种本机对虚拟机的各种设置也排查过发现没有任何问题。

     例如: https://blog.youkuaiyun.com/qq_51861517/article/details/131238680

          4.那就只能是虚拟机内部的问题了,而有一件事情让我惴惴不安:早期手动安装 VMware Tools 后,为适配虚拟机运行需求修改了内存大小,后续发现 VMware Tools 功能失效、虚拟机设置图标也不见了等等问题(现在想因该是年少轻狂没有关虚拟机修改内存破坏了部分资源),一一尝试修改恢复,删除 VMware Tools 后,本以为更换为open-vm-tools + open-vm-tools-desktop后相安无事,没想到恶果至今影响到我。后面下载的open-vm-tools等等应该是资源没有问题的,但是如果 VMware Tools没有删除干净会导致冲突,于是重新删除VMware Tools和open-vm-tools及其配置等等,重新下载open-vm-tools,重启虚拟机,可成功使用u盘。

三、解决方法

关键操作前一定要做虚拟机快照备份,故障排查先从软件依赖、硬件配置入手,小步验证而非盲目全盘重装,如果你跟我问题一样,请按需选择:

# 卸载所有 open-vm-tools 相关包(包括桌面版、依赖组件)
sudo apt purge -y open-vm-tools open-vm-tools-desktop open-vm-tools-dkms
# 删除残留的配置文件和缓存
sudo apt autoremove -y sudo apt autoclean


# 搜索系统中是否存在 vmware-uninstall-tools.pl,官方文档卸载的最干净
sudo find / -name "vmware-uninstall-tools.pl" 2>/dev/null
# 若脚本路径是 /usr/bin/vmware-uninstall-tools.pl,取决于你当时下载的地方
 sudo /usr/bin/vmware-uninstall-tools.pl


# 如果不纯在需要清理手动安装的 VMware Tools 核心文件
sudo rm -rf /opt/vmware-tools
sudo rm -rf /usr/share/vmware-tools
# 清理启动脚本
sudo rm -f /etc/init.d/vmware-tools
sudo rm -f /etc/systemd/system/vmware-tools.service


# 重新加载系统服务配置
sudo systemctl daemon-reload
#  手动删除残留的内核模块,避免与新工具冲突
sudo rm -rf /lib/modules/$(uname -r)/kernel/drivers/vmware
sudo rm -rf /lib/modules/$(uname -r)/misc/vm* # 清理 vmci、vmxnet3 等模块
#  重建内核模块依赖缓存
sudo depmod -a
# 检查是否还有 open-vm-tools 相关包
dpkg -l | grep -i vmware-tools
# 检查是否还有残留的内核模块
lsmod | grep -i vmware


#更新软件资源
sudo apt update
#安装
sudo apt install -y open-vm-tools open-vm-tools-desktop open-vm-tools
# 检查服务是否正常运行
sudo systemctl status open-vm-tools # 输出应显示 "active (running)",说明服务启动成功
# 检查内核模块是否加载,确保 USB 透传等功能可用
lsmod | grep -i vm # 应看到 vmci、vsock、vmw_balloon 等模块,说明内核适配成功

四、总结收获

这次踩坑的核心教训是:

虚拟机核心硬件像内存、CPU 等调整必须先关机,开机热修改会导致资源冲突破坏工具适配;

卸载东西时要彻底清理主程序、配置文件和内核模块,避免残留冲突;

选工具优先系统官方维护的(如 open-vm-tools,系统官方维护,兼容性更强,自动适配内核 / 硬件变化),搭配对应扩展组件(open-vm-tools-desktop)才能满足 USB 透传等核心需求;

同时注意拍快照的好习惯,关键操作前一定要做虚拟机快照备份,故障排查先从软件依赖、硬件配置入手,小步验证而非盲目全盘重装,规范操作和清晰的排查逻辑才是避免麻烦的关键。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值