AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / computer / 问题 / 1701348
Accepted
Gdfelt
Gdfelt
Asked: 2022-01-26 13:16:34 +0800 CST2022-01-26 13:16:34 +0800 CST 2022-01-26 13:16:34 +0800 CST

如何最好地将 WSL 中的驱动器安装为共享驱动器?

  • 772

我正在尝试简化/自动化我在 Windows 中的开发环境,我有很多我在 Windows 和 Linux 子系统上运行的 shell 文件,我最近开始编辑我/etc/wsl.conf的 to 设置

[automount]
root = /

这使我的路径到 windows /c/... 而不是 /mnt/c/... 这简化了我的许多脚本的文件访问,允许脚本从主机调用到 wsl 或再次调用,并允许我无缝地实现自动化在这两种环境中。我的问题是每次启动wsl后我还需要运行sudo mount --make-shared /c/ ,以便我的脚本可以正确地到达另一个系统,我知道我可以使用mountFsTab但在所有的事情中,我对 Fstab 文件非常业余,并且有一段时间没有模拟过,更不用说在 wsl 下使用它了,并且想知道是否有人可以指出我正确的方向来设置我的 /c / 挂载为共享驱动器,因此我可以进行简单的双向通信,并且不要浪费时间,因为我在开始工作之前忘记运行 make-shared 命令,然后对我的设置感到困惑?如果还有与使用 Fstab 不同的方法,但只是配置 wsl.conf 会更好,我只是在 Microsoft 的文档中没有找到任何关于这样做的简单内容。无论如何,提前谢谢。

ubuntu network-shares
  • 1 1 个回答
  • 2070 Views

1 个回答

  • Voted
  1. Best Answer
    NotTheDr01ds
    2022-01-26T18:56:02+08:002022-01-26T18:56:02+08:00

    我不确定我是否完全理解您在共享挂载处重新挂载/或使用共享挂载的用例,但我真的很想这样做。我将以我目前对您的问题的理解来回答,但我希望看到您对其进行编辑以提供有关用例的更多详细信息。

    完全有可能为您的工作流程提供一些更好的选择。

    也就是说,您的核心问题看起来很简单:

    总结一下:

    我怎样才能最好地在 WSL 中保留共享挂载?

    正如您所注意到的,Windows 驱动器是由 WSL/init而不是/etc/fstab. 虽然可以通过挂载选项(例如实际挂载点/ )进行一些控制,但挂载传播并不是这些选项之一。/etc/wsl.confuidgidshared

    你有几个选择:

    • 添加一个条目,/etc/fstab使用该shared选项重新安装驱动器。我发现通过将当前挂载表条目复制到以下位置最容易做到这/etc/mtab一点/etc/fstab:

      grep "/c " /etc/mtab | sudo tee -a /etc/fstab
      

      当然,grep在复制之前测试第一个可能是个好主意,只是为了确保它返回您想要的行。

      然后编辑/etc/fstab并添加shared到选项的开头。例如,就在rw选项之前。

      您需要退出 WSL,wsl --terminate <distro>然后重新启动才能使其生效,但我可以确认这适用于启动 WSL 并将驱动器安装为共享。

    • 如果您只想mount --make-shared /c/在 WSL 启动时运行,还有两个附加选项。首先,对于 Windows 11,您可以将以下内容添加到您的/etc/wsl.conf:

      [boot]
      command="mount --make-shared /c/"
      

      如果您需要运行多个命令,请在单个command=字符串中使用分号将它们连接起来。

      此命令root在 WSL 启动时运行,因此无需sudo或输入密码。

    • 如果您没有(并且当前无法升级)到 Windows 11,您始终可以将该命令添加到您的~/.bash_profile(或其他适用的启动文件)。这里有一个巧妙的技巧,可以让你也不必使用sudo。将以下内容添加到您的~/.bash_profile:

      wsl.exe -u root -e mount --make-shared /c/
      

      以 root 用户运行 WSL 并执行mount命令。

      重要说明:如果您正在编写 WSL 脚本,您最终可能会从 PowerShell、CMD 或其他脚本运行类似这样的其他命令。当使用命令(非交互式)执行时,WSL通常不会将 shell 作为登录或交互式 shell 运行。因此,如果您有运行需要~/.bash_profile加载的脚本(或其他启动文件),请确保使用wsl.exe -e bash -lic "command". 这将在“登录”(源配置文件脚本)和“交互式”(源 rc 脚本)的 bash shell 中运行命令。

    请注意,我已通过以下方式确认了这些工作:

    findmnt -o TARGET,PROPAGATION /mnt/c # /c/ in your case, of course
    
    TARGET PROPAGATION
    /mnt/c shared
    

    测试后,我禁用了该选项,终止了实例,并重新检查以确保传播回到private.

    • 3

相关问题

  • 与 putty 和 Ubuntu 集成

  • 无法打开 Windows 10 和在 Hyper-v 上创建的本地托管的 Ubuntu VM 之间的端口

  • Docker 容器 ssh 错误:ssh_exchange_identification: Connection closed by remote host

  • apache2 可以在没有 conf 文件的情况下工作吗?

  • vmwared 共享文件夹不工作

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    如何减少“vmmem”进程的消耗?

    • 11 个回答
  • Marko Smith

    从 Microsoft Stream 下载视频

    • 4 个回答
  • Marko Smith

    Google Chrome DevTools 无法解析 SourceMap:chrome-extension

    • 6 个回答
  • Marko Smith

    Windows 照片查看器因为内存不足而无法运行?

    • 5 个回答
  • Marko Smith

    支持结束后如何激活 WindowsXP?

    • 6 个回答
  • Marko Smith

    远程桌面间歇性冻结

    • 7 个回答
  • Marko Smith

    子网掩码 /32 是什么意思?

    • 6 个回答
  • Marko Smith

    鼠标指针在 Windows 中按下的箭头键上移动?

    • 1 个回答
  • Marko Smith

    VirtualBox 无法以 VERR_NEM_VM_CREATE_FAILED 启动

    • 8 个回答
  • Marko Smith

    应用程序不会出现在 MacBook 的摄像头和麦克风隐私设置中

    • 5 个回答
  • Martin Hope
    Saaru Lindestøkke 为什么使用 Python 的 tar 库时 tar.xz 文件比 macOS tar 小 15 倍? 2021-03-14 09:37:48 +0800 CST
  • Martin Hope
    CiaranWelsh 如何减少“vmmem”进程的消耗? 2020-06-10 02:06:58 +0800 CST
  • Martin Hope
    Jim Windows 10 搜索未加载,显示空白窗口 2020-02-06 03:28:26 +0800 CST
  • Martin Hope
    v15 为什么通过电缆(同轴电缆)的千兆位/秒 Internet 连接不能像光纤一样提供对称速度? 2020-01-25 08:53:31 +0800 CST
  • Martin Hope
    andre_ss6 远程桌面间歇性冻结 2019-09-11 12:56:40 +0800 CST
  • Martin Hope
    Riley Carney 为什么在 URL 后面加一个点会删除登录信息? 2019-08-06 10:59:24 +0800 CST
  • Martin Hope
    zdimension 鼠标指针在 Windows 中按下的箭头键上移动? 2019-08-04 06:39:57 +0800 CST
  • Martin Hope
    jonsca 我所有的 Firefox 附加组件突然被禁用了,我该如何重新启用它们? 2019-05-04 17:58:52 +0800 CST
  • Martin Hope
    MCK 是否可以使用文本创建二维码? 2019-04-02 06:32:14 +0800 CST
  • Martin Hope
    SoniEx2 更改 git init 默认分支名称 2019-04-01 06:16:56 +0800 CST

热门标签

windows-10 linux windows microsoft-excel networking ubuntu worksheet-function bash command-line hard-drive

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve