VMware虚拟机中的Ubuntu无法访问SD卡的问题求助
VMware虚拟机中的Ubuntu无法访问SD卡的问题求助
嗨,我来帮你排查这个问题~你遇到的/dev/sdb: Can't open blockdev错误,本质是Ubuntu虚拟机根本没拿到SD卡的设备访问权限,咱们一步步来解决:
第一步:确保VMware把SD卡传递给了虚拟机
这是最常见的原因,因为SD卡默认是连接在Windows主机上的,虚拟机不会自动获取:- 如果虚拟机正在运行,先在VMware顶部菜单栏找到「虚拟机」→「可移动设备」,找到你的SD卡读卡器(通常显示类似Generic SD/MMC Reader或者具体品牌名),选择「连接(断开与主机的连接)」——这会把SD卡从Windows断开,交给虚拟机。
- 如果连接选项是灰色的,先关闭虚拟机,点击「编辑虚拟机设置」,检查「USB控制器」是否启用(建议选择USB 3.0/2.0,匹配你的读卡器版本),再重新启动虚拟机尝试连接。
第二步:在Ubuntu内验证设备识别
连接完成后,打开终端执行以下命令:- 运行
dmesg | tail查看最新内核日志,如果看到类似sd 2:0:0:0: Attached scsi generic sg1 type 0的提示,说明系统已经识别到SD卡。 - 再执行
sudo fdisk -l或者lsblk,这时候应该能看到/dev/sdb(或其他类似设备名)以及它的分区(比如/dev/sdb1)。
- 运行
如果还是识别不到?试试这些额外排查
- 关闭Windows主机上所有占用SD卡的程序:比如正在打开的SD卡文件、杀毒软件扫描进程,这些会导致设备无法被虚拟机接管。
- 检查VMware工具是否完整:执行
sudo apt install open-vm-tools open-vm-tools-desktop安装完整的虚拟机工具,然后重启虚拟机再尝试。 - 换个USB接口插读卡器:部分主机USB接口存在供电或兼容性问题,换接口后重新连接给虚拟机试试。
备注:内容来源于stack exchange,提问作者Stan Huang at Taiwan




