我已将 USB 驱动器从 Windows 11 PC 重定向到 RDP Windows 10 客户机(安装为驱动器 J:) 运行 WSL;当我在该客户机的 Windows 资源管理器中查看驱动器 J: 时,我可以看到它的所有文件;但是,当我ls -lah /mnt/j
在 WSL 中执行操作时,它可以看到该驱动器,但显示为空。
正在做:
df -h
Filesystem Size Used Avail Use% Mounted on
C:\ 931G 344G 588G 37% /mnt/c
D:\ 299G 43G 256G 15% /mnt/d
E:\ 17T 13T 3.5T 80% /mnt/e
F:\ 233G 475M 233G 1% /mnt/f
G:\ 466G 15G 452G 4% /mnt/g
没有显示/mnt/j
USB 驱动器。(为什么不呢?)
正在做:
ls -lah /mnt
total 24K
drwxr-xr-x 13 root root 4.0K Dec 5 2022 .
drwxr-xr-x 23 root root 4.0K Mar 8 01:52 ..
drwxrwxrwx 1 scott scott 4.0K Mar 8 17:08 c
drwxrwxrwx 1 scott scott 512 Mar 8 17:08 d
drwxrwxrwx 1 scott scott 4.0K Mar 8 17:08 e
drwxrwxrwx 1 scott scott 4.0K Mar 8 17:08 f
drwxrwxrwx 1 scott scott 512 Mar 8 17:08 g
drwxrwxrwx 13 root root 4.0K Jan 10 2022 h
drwxrwxrwx 8 root root 4.0K Dec 30 2020 i
drwxrwxrwx 2 root root 4.0K Sep 11 2020 j
drwxrwxrwx 5 scott scott 4.0K Nov 9 2020 winshares
drwxrwxrwt 2 root root 60 Mar 8 01:52 wsl
drwxrwxrwt 8 root root 320 Mar 8 01:53 wslg
做显示/mnt/j
USB 驱动器。
sudo umount /mnt/j
另外,如果我尝试通过执行 a然后执行 a 来重新安装 WSL 中的驱动器lsblk
,我看到的只是:
sda 8:0 0 388.5M 1 disk
sdb 8:16 0 256G 0 disk /mnt/wslg/distro
因此我无法看到 USB 驱动器,因此无法尝试再次安装它。
我假设 WSL 文件系统在读取 Windows 文件系统时遇到了问题,但我真的不知道如何解决这个问题。
(我不直接将其安装在 Win10/WSL 机器上而是通过 RDP 的原因是该机器不在现场,所以 RDP 是我唯一的方法。)
有人知道怎样实现这个吗?
答案1
这不仅仅是通过 RDP 共享的 USB 驱动器的问题。它适用于任何驱动器。
这里的核心问题是 WSL 仅使用 Plan 9 文件系统为物理 Windows 驱动器创建挂载。RDP 共享是网络net use
在 Windows 中共享,您可以使用 PowerShell 或 CMD查看它。
问题并不局限于 WSL。即使通过 SSH 进入 Windows 本身,共享也不可用。
那里可能有没有办法使用 CIFS/SMB 安装 RDP 共享,但如果有,我找不到。我尝试使用共享tsclient
,但它在 WSL 中甚至不可见。
我能给你提供的唯一解决方法不是直接回答你提出的问题,因为我看不出有什么办法可以做到这一点“在 WSL 内”。
不过,你应该能够使用文件资源管理器视窗通过 RDP 访问共享,然后从 USB 共享复制/移动文件到\\wsl$\<distro>
或共享\\wsl.localhost\<distro>
。在 Windows 的最新版本中,这些会自动列在文件资源管理器中的“Linux”网络下。