![使用 drvfs 将我的 PC Box 网络驱动器手动安装到 wsl2 上,但在 /etc/fstab 中却不行](https://linux22.com/image/1071733/%E4%BD%BF%E7%94%A8%20drvfs%20%E5%B0%86%E6%88%91%E7%9A%84%20PC%20Box%20%E7%BD%91%E7%BB%9C%E9%A9%B1%E5%8A%A8%E5%99%A8%E6%89%8B%E5%8A%A8%E5%AE%89%E8%A3%85%E5%88%B0%20wsl2%20%E4%B8%8A%EF%BC%8C%E4%BD%86%E5%9C%A8%20%2Fetc%2Ffstab%20%E4%B8%AD%E5%8D%B4%E4%B8%8D%E8%A1%8C.png)
我想将 Box 驱动器安装到 wsl2 上,以便我可以在两个不同的系统(Windows 和 Linux)上访问相同的本地/云同步文件。Box 是一个 FAT32 文件系统,我相信 drvfs mount 支持它。
如果我使用以下 mount 命令从 .bashrc 文件挂载它,就可以正常挂载它:
sudo mount -t drvfs 'C:\Users\Jakda\Box' /mnt/box
然后我可以通过主目录中的符号链接访问 /mnt/box。
问题在于,每次打开 WSL 终端时,我都必须输入 sudo 密码,而我并不总是能做到这一点。
我把这句话放进去了/etc/fstab
'C:\Users\Jakda\Box' /mnt/box drvfs defaults 0 0
当我跑步时mount -a
我得到:
<4>WARNING: mount: waiting for virtio device...
<3>init: (110) ERROR: MountPlan9WithRetry:285: mount drvfsa on /mnt/box (cache=mmap,rw,msize=262144,trans=virtio,aname=drvfs;path='C:\Users\Jakda\Box';symlinkroot=/mnt/) failed: 2
mount: No such file or directory
我已经尝试了一段时间了,但我不知道该怎么做。
答案1
Linux 中文件的处理/etc/fstab
由函数完成getmntent
。根据其手册页:
GETMNTENT(3) Linux Programmer's Manual GETMNTENT(3)
.
.
.
DESCRIPTION
These routines are used to access the filesystem description file
/etc/fstab and the mounted filesystem description file /etc/mtab.
.
.
.
Since fields in the mtab and fstab files are separated by whitespace,
octal escapes are used to represent the characters space (\040), tab
(\011), newline (\012), and backslash (\\) in those files when they oc‐
cur in one of the four strings in a mntent structure. The routines ad‐
dmntent() and getmntent() will convert from string representation to
escaped representation and back. When converting from escaped repre‐
sentation, the sequence \134 is also converted to a backslash.
(迄今为止最常用的是\040
空格字符 - 制表符和换行符,虽然在 Linux 路径名中是合法的,但在实践中很少使用)。
因此删除引号并用八进制转义符替换反斜杠\134
:
C:\134Users\134Jakda\134Box /mnt/box drvfs defaults 0 0