Установка моего сетевого диска PC Box на wsl2 с помощью drvfs работает вручную, но не в /etc/fstab
Я хочу подключить диск Box к wsl2, чтобы иметь доступ к одним и тем же файлам, синхронизированным локально/в облаке, в двух разных системах (Windows и Linux). Box — это файловая система FAT32, которая, как мне кажется, поддерживается монтированием drvfs.
Я могу смонтировать его просто отлично, если я смонтирую его из файла .bashrc, используя следующую команду монтирования:
sudo mount -t drvfs 'C:\Users\Jakda\Box' /mnt/box
Затем я могу получить доступ к /mnt/box через символическую ссылку в моем домашнем каталоге.
Проблема в том, что мне приходится вводить пароль sudo каждый раз, когда я открываю терминал WSL, что я не всегда могу сделать.
Я вставил эту строку
/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 ответ
Обработка
/etc/fstab
файл в Linux выполняется функцией
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