windows11的ubuntu子系统如何识别到U盘

这是 WSL 的设计限制 + Windows 对 USB 的管理方式 导致的,不是你系统坏了。

WSL(包括 Windows 11 的 Ubuntu 子系统)默认是"看不到"U 盘的块设备的。

  • ❌ 看不到 /dev/sdX

  • ❌ 不能直接 mount /dev/sdb1

  • ✅ 只能通过 Windows 挂载 → WSL 访问 Windows 文件系统

  • 或使用 usbipd 把 USB 设备"直通"给 WSL2

一、为什么 WSL 识别不到 U 盘?

1️⃣ WSL2 不是完整物理 Linux

WSL2 架构是:Windows └─ Hyper-V 虚拟机(WSL2 Linux Kernel)

  • USB 控制器在 Windows

  • Linux 内核 不直接接管 USB

  • 所以:

    • /dev/sdb

    • /dev/sdc

    • /sys/block

👉 默认不存在


2️⃣ Windows 已经"占用"了 U 盘

插 U 盘后:

  • Windows 会:

    • 识别分区

    • 自动挂载

    • 分配盘符(如 E:)

👉 这个设备已经被 Windows 独占

👉 WSL 不能再直接访问

二、正确访问 U 盘的 3 种方式(推荐顺序)


✅ 方式 1(最推荐):通过 /mnt 访问 Windows 挂载的 U 盘

操作步骤

1️⃣ 先在 Windows 里插 U 盘

  • 比如分配为 E:

2️⃣ 在 WSL 里访问

ls /mnt/e

优点

  • 最稳定

  • 不折腾权限

  • 不破坏 Windows

缺点

  • ❌ 不能做:

    • mkfs

    • dd

    • smartctl

    • 底层块设备操作

👉 只适合文件读写


⚠️ 方式 2:usbipd 直通 U 盘到 WSL2(高级)

这是唯一能在 WSL 里看到 /dev/sdX 的方式

适用场景

  • 需要:

    • dd

    • mkfs

    • 测试 U 盘

    • 固件工具

    • 烧录镜像


步骤(Windows 11)

1️⃣ 安装 usbipd

winget install usbipd

2️⃣ 插入 U 盘,查看设备

usbipd list

会看到类似:

BUSID VID:PID DEVICE 1-3 0781:558a SanDisk Ultra

3️⃣ 绑定到 WSL

usbipd bind --busid 1-3

usbipd attach --wsl --busid 1-3

4️⃣ 进入 WSL

lsblk

你现在就能看到:

sdb └─sdb1

⚠️ 注意(非常重要)

  • 绑定后:

    • Windows 无法再访问该 U 盘
  • 用完要解绑:

usbipd detach --busid 1-3


相关推荐
吴佳浩 Alben5 分钟前
GPU 生产环境实践:硬件拓扑、显存管理与完整运维体系
运维·人工智能·pytorch·语言模型·transformer·vllm
播播资源1 小时前
CentOS系统 + 宝塔面板 部署 OpenClaw源码开发版完整教程
linux·运维·centos
源远流长jerry1 小时前
在 Ubuntu 22.04 上配置 Soft-RoCE 并运行 RDMA 测试程序
linux·服务器·网络·tcp/ip·ubuntu·架构·ip
学不完的1 小时前
Docker数据卷管理及优化
运维·docker·容器·eureka
lay_liu1 小时前
Linux安装redis
linux·运维·redis
寂柒3 小时前
序列化与反序列化
linux·网络
lay_liu3 小时前
ubuntu 安装 Redis
linux·redis·ubuntu
曾经拒绝刘亦菲3 小时前
Clamav在麒麟V10离线安装指南
运维
志栋智能3 小时前
超自动化巡检:应对复杂IT环境的必然选择
运维·网络·安全·web安全·自动化
li星野3 小时前
[特殊字符] Linux/嵌入式Linux面试模拟卷
linux·运维·面试