当我进入 WSL 时,
C
驱动器会自动安装在 /mnt/c
。我还想将文件夹C:\D
安装到安装点/mnt/d
。
/etc/fstab
的内容:
LABEL=cloudimg-rootfs / ext4 defaults 0 0
/mnt/c/D /mnt/d none bind
/etc/wsl.conf
的内容:
# Enable extra metadata options by default
[automount]
enabled = true
root = /mnt/
options = "metadata,umask=22,fmask=11"
mountFsTab = true
# Enable DNS – even though these are turned on by default, we’ll specify here just to be explicit.
[network]
generateHosts = true
generateResolvConf = true
当我执行
sudo mount -a
时,它就会正确安装。然而,它在启动时并未安装,并且运行 mount -a
报告“安装:只有 root 可以使用“--all”选项”。
这个问题很旧,但如果有人仍然提出这个问题,我在 WSL 发行说明
中找到了答案WSL 现在在实例启动期间处理 /etc/fstab 文件 [GH 2636]。 这是在自动安装 DrvFs 驱动器之前完成的;任何驱动器 已经通过 fstab 挂载的不会重新挂载 自动,允许您更改特定的安装点 驱动器。
因此在绑定挂载之前必须添加Windows驱动器的挂载: 例如:
# <file system> <dir> <type> <options> <dump> <pass>
C: /mnt/c drvfs rw,noatime,uid=1000,gid=1000,case=off,umask=0027,fmask=0137, 0 0
/mnt/c/directory/for/mount /where/to/mount none bind,default 0 0
sudo mount -t drvfs C:/Users /home -o "rw,noatime,dirsync,mmap,access=client,msize=262144,trans=virtio"
ls -l ~/
添加到 /etc/fstab 以使其永久并在 Windows 主文件夹中加载 .bash_profile 和 .bashrc 文件的等效行是:
C:/Users /home drvfs rw,noatime,dirsync,mmap,access=client,msize=262144,trans=virtio
瞧,享受吧!