在 Windows 上使用 Bash 访问可移动媒体

在 Windows 上使用 Bash 访问可移动媒体

有没有办法从 Windows 上的 Bash 中访问可移动媒体(例如拇指驱动器或 SD 卡)?

Windows 上的 Bash使用 DriveFs在文件夹中安装固定驱动器/mnt,但它不会自动安装可移动媒体。而且它看起来也没有将它们放入/dev

Aaron@MYPC:/$ ls /dev
block  fd  kmsg  lxss  null  ptmx  pts  random  shm  stderr  stdin  stdout  tty  tty0  tty1  urandom  zero

有没有办法挂载可移动驱动器?有没有办法访问底层块设备?

答案1

好消息,现在可以在 Windows 10 上使用 drvfs 挂载 USB 媒体(包括格式化为 FAT)和网络共享:

挂载可移动媒体:(例如 D:)

$ sudo mkdir /mnt/d
$ sudo mount -t drvfs D: /mnt/d

安全卸载

$ sudo umount /mnt/d

您还可以在没有 smbfs 的情况下挂载网络共享:

$ sudo mount -t drvfs '\\server\share' /mnt/share

您至少需要 Build 16176,因此您可能必须选择加入 Windows Insider 计划,然后更新 Windows。来源:https://blogs.msdn.microsoft.com/wsl/2017/04/18/file-system-improvements-to-the-windows-subsystem-for-linux/

答案2

有没有办法从 Windows 上的 Bash 中访问可移动媒体?

更新:

显然,从 Windows 10 Build 16176 开始就可以实现。

https://superuser.com/a/1209701/337631


不。

目前,安装的驱动器存在限制:

为了使驱动器显示在 /mnt/ 下,它必须满足以下条件:

  1. 驱动器必须是固定驱动器
  2. 该驱动器必须格式化为 NTFS。

这已被提出作为一个问题:除 C: 之外的驱动器未安装在 /mnt #1079。它仍被标记为“打开”。

为了便于与 Windows 互操作,WSL 使用 DrvFs 文件系统。WSL 会自动挂载 /mnt 下所有具有受支持文件系统的固定驱动器,例如 /mnt/c、/mnt/d 等。目前仅支持 NTFS 和 ReFS 卷。

来源WSL 文件系统支持


进一步阅读

答案3

补充现有答案:如果您为 Windows 安装 ext 驱动程序(例如 Ext2Fsd),则可以像 NTFS 文件系统一样挂载和扩展文件系统。如果您想挂载 Raspberry Pi SDCards,这将很有用。

答案4

如果没有该设备,/dev很可能您的设置甚至没有检测到驱动器。

该命令lsblk应列出所有已连接的块设备(驱动器)。如果它未出现在此列表中,则最好的办法是在启动 bash 之前尝试插入该设备。

我没有从您的问题中看到任何关于您找到的在 Windows 上使用 bash 的方法,但对于大多数人来说,重新启动 bash 应该不会太难。

如果lsblk确实显示了您的驱动器,则找到它列出的路径并输入 mount <path shown by lsblk> <path you want the drive to be mounted to>

相关内容