跳转到主内容
趣航编程网 - 趣学编程,启航技术之路!

Windows怎么在WSL2中访问Windows文件_Windows如何在Linux子系统中读写Windows磁盘文件【基础】

WSL2通过/mnt/挂载Windows驱动器实现双向访问:Linux中用/mnt/c等路径访问Windows文件,Windows中用\wsl$访问WSL2系统;需配置wsl.conf启用metadata支持权限,可建软链接简化路径,高级用户还能手动drvfs挂载调整选项。 如果您在WSL2中运行Linux发行版,但无法直接访问Windows主机上的文件,这通常是因为WSL2通过9P协议挂载Windows文件系统,其默认路径结构与传统Linux挂载方式不同。以下是实现双向文件访问的具体操作步骤: 一、在WSL2中访问Windows文件 WSL2自动将Windows各驱动器挂载至
/mnt/
目录下,例如C盘对应
/mnt/c
,D盘对应
/mnt/d
。该挂载由WSL2初始化时自动完成,无需手动配置,但需注意权限与路径大小写敏感性。 1、打开WSL2终端(如Ubuntu)。 2、输入命令 ls /mnt/ 查看已挂载的Windows驱动器列表。 3、切换至C盘根目录:输入 cd /mnt/c 。 4、列出Windows用户文档目录:输入 ls /mnt/c/Users/你的用户名/Documents (用户名需替换为实际登录名)。 5、使用常规Linux命令(如
cat
、
cp
、
vim
)读取或复制Windows下的文本文件。 二、在Windows中访问WSL2文件系统 Windows 10版本1903及以上和Windows 11原生支持通过
\wsl$
网络路径访问WSL2实例的根文件系统,该路径由WSL服务动态注册,无需额外安装组件。 1、在Windows文件资源管理器地址栏中输入 \wsl$ 并按回车。 2、查看列出的WSL2发行版名称(如
Ubuntu-22.04
、
Debian
)。 3、双击进入目标发行版,即可浏览其
/home
、
/etc
、
/usr
等目录。 4、直接拖放文件至该窗口内,即可将Windows文件复制进WSL2文件系统。 5、右键点击任意WSL2目录,选择“属性”→“安全”,可验证当前Windows用户是否具备完全控制权限。 三、解决Windows文件在WSL2中权限异常问题 当在WSL2中修改Windows挂载点下的文件时,可能因NTFS权限与Linux UID/GID映射不一致导致操作失败或出现
Operation not permitted
错误。可通过配置
/etc/wsl.conf
启用元数据支持并设置默认UID。 1、在WSL2终端中执行 sudo nano /etc/wsl.conf 。 2、输入以下内容并保存: [automount] enabled = true ClawUsage Windows Hardlock 通过聊天(Telegram / 飞书)执行本地 `clawusage` 监控命令。当用户输入 `/clawusage ...`,或提出“查看 Codex 用量”、“开启/关闭自动…”等请求时触发使用。 下载 options = "metadata,uid=1000,gid=1000,umask=22,fmask=11" 3、关闭所有WSL2终端窗口。 4、在Windows PowerShell中以管理员身份运行: wsl --shutdown 。 5、重新启动WSL2发行版,再次访问
/mnt/c
目录,验证新建文件是否具有正确属主和可执行位。 四、使用软链接简化Windows路径访问 为避免频繁输入长路径(如
/mnt/c/Users/John/Documents/project
),可在WSL2用户主目录下创建指向Windows常用目录的符号链接,提升操作效率且不影响原始文件位置。 1、确认Windows用户名:在WSL2中运行 cmd.exe /c "echo %USERNAME%" 获取输出结果。 2、创建Documents软链接:输入 ln -s /mnt/c/Users/你的用户名/Documents ~/win-docs (请替换“你的用户名”)。 3、创建Desktop软链接:输入 ln -s /mnt/c/Users/你的用户名/Desktop ~/win-desktop 。 4、验证链接有效性:运行 ls -l ~/win-docs ,确认显示目标路径及箭头指向。 5、后续可在任意Linux命令中直接使用
~/win-docs
代替完整Windows路径。 五、绕过/mnt/限制直接挂载Windows分区(高级) 若需对Windows NTFS分区进行更底层控制(如启用POSIX ACL、调整日志模式),可卸载默认挂载点,改用
drvfs
类型手动挂载,并指定额外选项。此方法适用于需要精细权限管理的场景。 1、临时卸载C盘:在WSL2中执行 sudo umount /mnt/c 。 2、创建新挂载目录:运行 sudo mkdir -p /mnt/win-c-raw 。 3、以只读+大写转换模式重新挂载:输入 sudo mount -t drvfs C: /mnt/win-c-raw -o ro,case=off 。 4、验证挂载效果:执行 mount | grep drvfs ,确认输出包含
ro,case=off
参数。 5、尝试读取文件:运行 cat /mnt/win-c-raw/Users/你的用户名/Desktop/test.txt (确保test.txt存在且非空)。

相关文章