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


相关推荐
一个人旅程~19 小时前
双系统时windows如何读取linux ext4格式硬盘分区?
linux·windows·经验分享·电脑
齐齐大魔王19 小时前
linux-进程详解
linux·运维·服务器
應呈19 小时前
Bootloader与OTA学习记录
linux·运维·服务器
勤自省19 小时前
在Ubuntu20.04上安装ROS
linux·ros
楼田莉子19 小时前
同步/异步日志系统:工具类以及日志的简单模块
linux·服务器·数据结构·c++
corpse201019 小时前
VirtualBox 安装ubuntu-25 ,配置SSH工具登录
linux·ubuntu·ssh
skywalk816319 小时前
使用官方提供的 bump-pydantic 工具 来自动化部分迁移pydantic代码
运维·自动化
杜子不疼.19 小时前
浏览器秒连服务器!WebSSH 实战体验,远程运维再也不折腾
运维·服务器·人工智能
她说彩礼65万19 小时前
C语言 整形提升及算数转换
linux·服务器·c语言
RenPenry19 小时前
2026 在Linux上搭建CS2插件服务器
linux·运维·服务器·cs2·debian13