windows - 如何在 Windows Ubuntu 子系统中安装 substed 驱动器

标签 windows ubuntu subst fstab

我在 Windows 上的开发环境包括子文件夹,即文件夹 c:\MyBuild 可以替换为驱动器号,例如 t:

在 Ubuntu 子系统终端中,我可以将文件夹绑定(bind)到挂载,如下所示

sudo mount --bind  /mnt/c/MyBuild /mnt/t

这在当前 shell 中工作正常,但它不是持久的,如果从外部调用 bash 脚本,则此挂载不存在,因此脚本可能会失败,说 folder/mnt/t/someFolder 不存在..

我确实在/etc/fstab 中添加了以下内容,但它没有按预期工作

 /mnt/t /mnt/c/MyBuild none defaults,bind 0 0

如何让这个挂载在 Windows Ubuntu 子系统中持久存在?

最佳答案

此问题可能是由称为Windows 快速启动 的东西引起的。此设置在 Windows 10 上默认启用。关闭或重新启动时,Windows 只需重新加载 C:\hiberfile.sys 镜像,然后锁定其驱动器分区以确保安全。 (在 NTFS 分区处于休眠状态时对其进行更改是有风险的。因此,如果挂载分区的 WSL 工具看到休眠标志,则不会以读/写模式挂载它。)

我遇到了同样的问题,驱动器有时安装正常,但有时它拒绝安装,这非常令人困惑和恼火。

要解决此问题,请转至控制面板 > 硬件和声音 > 电源选项 > 找到“启用快速启动”的设置并取消选中该选项。重新启动计算机,您应该可以访问该磁盘。

关于windows - 如何在 Windows Ubuntu 子系统中安装 substed 驱动器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49078440/

相关文章:

c++ - QSystemTrayIcon 未显示在 Ubuntu 14.04 的通知区域中

ubuntu - Node.js 的持久性脚本?

windows - cmd - 是否可以临时将可用的驱动器号分配给本地路径?

c++ - Winapi shell 扩展覆盖 Windows 命令

c++ - 使用 boost locale : different behaviour on windows and linux 进行字符串转换

c++ - 链接错误 : undefined reference to EVP_CIPHER_CTX_ and EVP_CIPHER_CTX_init

linux - 将 cpp make 文件修改为 .c 文件不起作用

c++ - 我如何在小型 c++ 项目中使用 tesseract ocr(或任何其他免费的 ocr)?

c++ - 如何将 C++ COM 组件升级到云部署

replace - 替换 : replacement evaluation