在博客文章通过 Windows,他们高兴地说
过去,在 Windows 中创建和更改 Linux 文件会导致文件丢失或数据损坏。实现这一点一直是备受期待和迫切需要的功能。
这是否意味着现在可以并且安全在 Windows 中更改在 Linux 发行版中创建的文件,或者反过来?那将是巨大的!
答案1
这是否意味着现在可以安全地在 WSL 内部更改在 Windows 中创建的文件。
这实际上一直是可能的。这就是存在的原因/mnt/c
。此功能后来更新为自动安装所有本地驱动器。
本地机器上的硬盘挂载点会自动创建,并可轻松访问 Windows 文件系统。
/mnt/[此处为驱动器号]
为了便于与 Windows 互操作,WSL 使用 DrvFs 文件系统。WSL 会自动挂载 /mnt 下所有具有受支持文件系统的固定驱动器,例如 /mnt/c、/mnt/d 等。目前仅支持 NTFS 和 ReFS 卷。
来源:WSL 文件系统支持
这是否意味着现在可以安全地在 Windows 中更改在 Linux 发行版中创建的文件
您必须运行 Windows 10 版本 1903 才能实现此功能。新功能之一是能够从文件资源管理器中查看 WSL 实例的内容。您引用的文章解释了这个新功能的实际工作原理。
简单来说:9P 协议文件服务器促进文件相关的请求,Windows 充当客户端。
我们修改了 WSL init 守护程序以启动 9P 服务器。此服务器包含支持 Linux 元数据(包括权限)的协议。充当客户端并与 9P 服务器(在 WSL 实例内运行)通信的 Windows 服务和驱动程序。客户端和服务器通过 AF_UNIX 套接字进行通信,因为 WSL 允许使用 AF_UNIX 在 Windows 应用程序和 Linux 应用程序之间进行互操作,如本文所述[。]
答案2
可以从 WSL 安装编辑 Windows 文件系统上的文件。通常,在版本 1903 之后的所有装有 WSL 的计算机上,其 Windows 分区都映射到 /mnt/c/ 或类似位置;至于相反的方式,目前没有办法在第三方之外实现这一点。