English Version Blog Post Title: [WSL2] How to Mount a Linux-Formatted (ext3/ext4) USB Drive on Windows 11 (Solving wsl --mount errors)

When working on Windows 11, you may occasionally need to connect a USB flash drive or external HDD formatted with a Linux file system (such as ext3 or ext4) to your WSL 2 environment.However, using the native wsl --mount command with a standard USB flash drive often triggers a stubborn, well-known bug: "The system cannot find the drive specified."In this post, we will walk through the exact troubleshooting process using the official Microsoft workaround—the usbipd tool. We will break down every error encountered along the way, all the way to successfully mounting the drive and copying files.


Step 1: Check USB Devices and Identify the BUS ID

First, open Windows PowerShell as an Administrator and list the connected USB devices.

usbipd list

Example Output:

Connected:
BUSID  VID:PID    DEVICE                                   STATE
3-3    0781:5581  USB Mass Storage Device                  Not shared

Identify the BUS ID (e.g., 3-3) corresponding to your target USB drive.


Step 2: Troubleshooting Common usbipd Errors

Error ①: "Device is not shared"

If you directly attempt to run usbipd attach, it will fail due to security and permission constraints.

PS C:\> usbipd attach --wsl --busid 3-3
usbipd: error: Device is not shared; run 'usbipd bind --busid 3-3' as administrator first.

Solution: Grant sharing permissions first by binding the device as suggested in the error message.

usbipd bind --busid 3-3

Error ②: "Loading vhci_hcd failed"

When attempting to attach again, you might face a virtual host controller driver failure. This happens when the underlying WSL files are outdated.

usbipd: error: Loading vhci_hcd failed; update with 'wsl --update'.

Solution: Force-update the WSL kernel to the latest version.

wsl --update

Error ③: "There is no WSL 2 distribution running"

If you pass the USB port while WSL is completely idle, the tool cannot find a target virtual machine to attach to.

usbipd: error: There is no WSL 2 distribution running; keep a command prompt to a WSL 2 distribution open to leave it running.
  • Solution: Make sure you keep your WSL 2 distribution terminal (e.g., Ubuntu) open and running in the background before executing the command.

Step 3: Successfully Attaching the USB Device to WSL

With the Linux distribution shell running, run the attach command again. The connection will establish via virtual network forwarding.

PS C:\> usbipd attach --wsl --busid 3-3
usbipd: info: Using WSL distribution 'Ubuntu' to attach...
usbipd: info: Detected networking mode 'virtioproxy'.
usbipd: info: Using IP address 127.0.0.1 to reach the host.

Step 4: Mounting and Copying Files Inside WSL Linux

Now that the physical port is virtually connected to Linux, switch over to your WSL (Ubuntu) Terminal to finalize the mounting procedure using root or sudo privileges.

# 1. Identify the assigned block device name in Linux
root@DESKTOP:~# lsblk

Example Output:

sde      8:64   1  28.7G  0 disk
└─sde1   8:65   1  28.7G  0 part  <-- Our ~30GB USB partition is spotted!
# 2. Create a mount point directory
root@DESKTOP:~# mkdir /usb

# 3. Mount the partition to the target directory
root@DESKTOP:~# mount /dev/sde1 /usb

# 4. Verify the storage mount status
root@DESKTOP:~# df -h
  • You should now see /dev/sde1 mapped perfectly to the /usb path with its full storage allocation visible.
# 5. Access the files and copy them to a Windows drive (e.g., D: drive)
root@DESKTOP:~# cd /usb
root@DESKTOP:/usb# ls
CentOS-7-x86_64-DVD-1708.iso  Rocky-8.10-x86_64-dvd1.iso

root@DESKTOP:/usb# cp *.iso /mnt/d

Summary & Key Takeaways

If wsl --mount fails on your Windows 11 system, don't waste time—leverage usbipd-win instead.

  1. Use usbipd bind to share the port.
  2. Run wsl --update to refresh the host virtual driver.
  3. Open a WSL Distribution Terminal first, then execute usbipd attach.
  4. Run lsblk inside WSL and map it using the standard mount command.

By keeping this workflow in mind, extracting large files (like ISOs) from a legacy Linux partition straight into Windows becomes a breeze!


포스팅의 가독성을 높이기 위해 가상 터미널 텍스트 상자(```)와 단계별 요약을 추가해 가독성을 높였습니다. 블로그 플랫폼(Tistory, Velog, Medium 등)에 마크다운 형식 그대로 복사하여 붙여넣으시면 깨끗하게 노출될 것입니다.추가로 수정하고 싶은 부분이 있거나 강조하고 싶으신 점이 있다면 편하게 말씀해 주세요!