我正在尝试将文件从我的 Windows 系统传输到我的 WSL(运行 Ubuntu)。我可以通过 /mnt/c 访问这些文件,并将它们移动到 Ubuntu 中的目录。但我没有权限打开它们。这个问题:https://unix.stackexchange.com/questions/625938/rsync-not-copying-files-just-folder-structure/626004#626004建议运行该线路
sudo mount -t drvfs C: /mnt/c -o uid=1000,gid=1000
但是当我尝试这个解决方案时出现错误:
mount: /mnt/c: c: already mounted or mount point busy.
<3>init: (424) ERROR: UtilCreateProcessAndWait:489: /bin/mount failed with status 0x2000
No error information
我对 Linux 的经验非常少(我正在将它用于一个大学项目)因此任何帮助都将不胜感激,假设(正确地)我不知道自己在做什么。
编辑:文件是.gro .top .mdp .itp .tpr,但是我一直在用.txt 测试传输。
答案1
在那个特定问题中,驱动器是手动安装的,所以我只是修改了那个人的安装以添加正确的选项。就你的情况而言,问题是/mnt/c
WSL 默认已经自动安装了。
对于短期解决方案,请尝试sudo mkdir /mnt/newc
,然后sudo mount -t drvfs C: /mnt/newc -o uid=1000,gid=1000,metadata
。然后尝试打开该文件。
如果可行,更持久的解决方案应该是创建/etc/wsl.conf
以下内容:
[automount]
enabled = true
root = /mnt/
options = "metadata,uid=1000,gid=1000"
mountFsTab = false
这还添加了“元数据”选项,允许 WSL 在 Windows 文件和目录上映射 Linux 权限。
我仍然不确定这是否能解决您打开文件的权限问题。可能还有更多问题。如果是这样,请更新您的问题,并提供更多关于您尝试打开的文件类型、您使用的应用程序等的信息。