【译】Windows Subsystem for Linux(WSL)文件系统改进

摘要

在新的WSL中,现在允许您使用DrvFs文件系统手动安装Windows驱动器。之前,当您启动bash时,WSL会自动安装所有固定的NTFS驱动器,但是不支持安装其他存储,例如可移动驱动器或网络位置。
现在,您不仅可以手动在系统上挂载任何驱动器,而且还增加了对其他文件系统(如FAT)的支持,以及对网络位置的支持。这使您能够从WSL内访问Windows中所有驱动器,包括可移动USB记忆棒或CD,以及在Windows中可以访问的任何网络位置。

挂载DrvFs

为了使用DrvFs挂载Windows驱动器,可以使用常规的Linux挂载命令。例如,要安装可移动驱动器D:作为/mnt/d目录,请运行以下命令:

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

现在,您将可以在下访问D:驱动器的文件/mnt/d。例如,当您希望卸载驱动器以便可以安全地将其卸下时,请运行以下命令:

$ sudo umount /mnt/d

挂载网络路径

当您希望挂载网络路径时,可以在Windows中创建一个映射的网络驱动器,然后如上所述进行挂载。但是,也可以使用UNC路径直接挂载它们:

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

注意:这里UNC路径用’’(单引号)括起来,目的是避免了字符的转义。如果您未在UNC路径中用单引号引起来,则需要通过将它们加倍来避开反斜杠(例如\\\\server\\share)。
WSL没有提供任何方法去使用网络共享,如果您要是用共享网络,需要通过Windows共享网络或net use命令,列出资源管理器中的共享路径并使用它们。net use或通过interop从WSL内部调用net.exe use。输入net.ext help use可以获得帮助信息。

挂载空的NTFS文件夹

之前WSL仅自动安装带有驱动器号的卷如(c:,d:),现在WSL可以指定挂在某驱动器下的路径,只需要指定挂载点路径即可:

$ sudo mount -t drvfs 'C:\mountpoint' /mnt/myvolume

不同文件系统的DrvFs行为

drvfs的行为方式可能会有所不同,具体取决于基础文件系统。某些功能可能不适用于所有文件系统。例如,FAT文件系统不区分大小写,并且不支持硬链接或符号链接。

对于网络文件系统,DrvF不会在文件上设置正确的Linux许可权位;而是报告所有文件都具有完全访问权限(0777),并且确定您是否可以实际访问该文件的唯一方法是尝试打开它。网络文件系统也不区分大小写,并且不支持符号链接。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值