windows 10中提供的WSL2很方便开发人员在本地使用linux 环境。我最近遇到的一个情况,在WSL2启动以后插入的移动硬盘,在Windows10中可以看到,但是在WSL2中却没有自动挂载。如果你也遇到了这个问题,正在寻找答案,可以参考本文。
假设这个移动硬盘在Windows 10中的盘符是 E,那么在WSL2中挂载的命令为
sudo mount -t drvfs E: /mnt/e
DrvFs 是WSL中的一个文件系统插件,用于支持WSL和Windows文件系统的互操作(interop)。
除了移动硬盘,DrvFs还支持挂载远程共享的Windows文件系统:
sudo mount -t drvfs '\ipshared' /mnt/shared
上面的命令行中注意远程共享地址的单引号,不可以改成双引号(Bash认为斜线是表示转义的特殊字符)。
在上述命令行中,要求挂载目标目录已经存在。如果不存在,则需要在执行命令之前先创建:
sudo mkdir /mnt/e; sudo mkdir /mnt/shared
如果是普通的读写访问,有上面的知识就够用了。但是,如果涉及到文件名大小写问题、文件权限控制要求等方面,则还需要进一步了解其机制。
如果要挂载的移动硬盘是Linux分区格式而不是Windows支持的文件格式,那么目前还需要升级Windows 10到Insider Preview,然后在Windows上使用"wsl --mount"命令挂载到WSL中。由于Insider Preview对于主力工作电脑而言过于激进,建议避免使用,仅在测试或备用电脑上可尝试。