在更新 1903 之后,我们可以在 WSL 中修改 Windows 文件或以其他方式修改吗?

在更新 1903 之后,我们可以在 WSL 中修改 Windows 文件或以其他方式修改吗?

博客文章通过 Windows,他们高兴地说

过去,在 Windows 中创建和更改 Linux 文件会导致文件丢失或数据损坏。实现这一点一直是备受期待和迫切需要的功能。

这是否意味着现在可以并且安全在 Windows 中更改在 Linux 发行版中创建的文件,或者反过来?那将是巨大的!

答案1

这是否意味着现在可以安全地在 WSL 内部更改在 Windows 中创建的文件。

这实际上一直是可能的。这就是存在的原因/mnt/c。此功能后来更新为自动安装所有本地驱动器。

本地机器上的硬盘挂载点会自动创建,并可轻松访问 Windows 文件系统。

/mnt/[此处为驱动器号]

来源:如何访问我的 C: 驱动器?

为了便于与 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 应用程序之间进行互操作,如本文所述[。]

来源:Windows 10 版本 1903 中的 WSL 有哪些新功能?

答案2

可以从 WSL 安装编辑 Windows 文件系统上的文件。通常,在版本 1903 之后的所有装有 WSL 的计算机上,其 Windows 分区都映射到 /mnt/c/ 或类似位置;至于相反的方式,目前没有办法在第三方之外实现这一点。

相关内容