Montar minha unidade de rede PC Box em wsl2 com drvfs funciona manualmente, mas não em/etc/fstab

Montar minha unidade de rede PC Box em wsl2 com drvfs funciona manualmente, mas não em/etc/fstab

Quero montar uma unidade Box no wsl2 para poder acessar os mesmos arquivos sincronizados localmente/na nuvem em dois sistemas diferentes (Windows e Linux). Box é um sistema de arquivos FAT32, que acredito ser suportado pelo drvfs mount.

Posso montá-lo perfeitamente se montá-lo a partir do arquivo .bashrc usando o seguinte comando de montagem:

sudo mount -t drvfs 'C:\Users\Jakda\Box' /mnt/box

Posso então acessar /mnt/box por meio de um link simbólico em meu diretório inicial.

O problema é que preciso inserir minha senha sudo toda vez que abro um terminal WSL, algo que nem sempre consigo fazer.

Eu coloquei essa linha/etc/fstab

'C:\Users\Jakda\Box'    /mnt/box        drvfs     defaults     0       0

e quando corro mount -arecebo:

<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

Estou tentando isso há algum tempo e não sei o que fazer.

Responder1

O processamento do /etc/fstabarquivo no Linux é feito por uma função getmntent. De acordo com sua página de manual:

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.

(de longe, o mais comumente usado é \040para o caractere de espaço - tabulações e novas linhas, embora legais em nomes de caminho do Linux, raramente são usadas na prática).

Portanto, remova as aspas e substitua as barras invertidas pelos escapes octais \134:

C:\134Users\134Jakda\134Box    /mnt/box        drvfs     defaults     0       0

informação relacionada