每当我尝试bash
使用适用于 Linux 的 Windows 子系统登录时,我都会尝试cd
进入C:\Users\
,但我得到的却是未找到目录。
C
Windows Linux 子系统的驱动器在哪里?它是隔离的吗?
答案1
取自本网站:
WSL 可以通过
/mnt/<drive letter>/
目录(或挂载点)访问您 PC 的文件系统。例如, Windows 中的C:\
和D:\
根目录分别可以通过WSL 中的/mnt/c/
和访问/mnt/d/
只需cd
进入/mnt
文件夹就可以了
答案2
/mnt/c
或者/mnt/<drive letter>/
您会发现您的本地驱动器安装在该
/mnt
文件夹下。
例如,您的C:
驱动器安装在/mnt/c
[微软]
Linux 文件系统是一棵独特的树(没有C:\
, D:\
...)。
这棵树的根是/
(注意/
不是\
)。
一切单位– 分区、U 盘、可移动磁盘、CD、DVD – 将在以下情况下可用:安装在该树的某个点上。然后您将看到它们作为普通目录。
附加分区通常被挂载在/mnt
目录中。
这也适用于 Windows Linux 子系统。
笔记:在 Linux 下,您必须使用斜线 ( /
) 而不是反斜线 ( \
) 来分隔路径中的目录。并且 Linux 文件系统通常区分大小写(mydir
这Mydir
是两码事)。
答案3
自 Windows NT 时代以来,出现了另一种访问驱动器的方法。您可以将驱动器绑定到文件系统中的文件夹,而不是使用字母。微软称这些挂载文件夹。就最终用户而言,它们的工作方式与普通文件夹一样:它们恰好驻留在另一个驱动器上,但在大多数情况下您不会注意到。这在许多情况下都很有用,但如果您恰好安装了太多驱动器,以至于驱动器号用完了,但需要添加更多驱动器,那么这将变得至关重要:安装的文件夹就是您实现这一点的方法。
在 Linux(以及启发它的 Unix)中,全部驱动器以这种方式工作。只有一个文件系统,它从空路径开始/
(通常绑定到驱动器),然后使用 中的目录挂载其他驱动器(或有时是其他东西)/
。这些被称为挂载点在 Unix 术语中(Linux 继承了这一术语)。例如,用户主目录通常位于/home/
用户名,但通常会/home
为另一个驱动器创建一个挂载点。这样,如果您从其启动的驱动器因某种原因发生故障,您的主目录不会受到影响。用户只需转到/home/
用户名就像他们总是做的那样;除非他们负责维护机器,否则他们不必知道或关心他们的主目录位于哪个驱动器上。
WSL 试图模仿 Linux,所以它也这样做。为了弥补差距,它将 Windows 驱动器挂载到文件夹“/mnt/”中,使用驱动器号作为目录名。例如,您的 C: 驱动器也可以在 找到/mnt/c
,而您的 D: 驱动器则位于/mnt/d
。