如何在启动时自动挂载 WSL 中的 Windows 文件夹

问题描述 投票:0回答:2

当我进入 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”选项”。

windows-subsystem-for-linux
2个回答
16
投票

这个问题很旧,但如果有人仍然提出这个问题,我在 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



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

瞧,享受吧!

© www.soinside.com 2019 - 2024. All rights reserved.