最干净的解决方案是按以下方式更改C:\cygwin\etc\nsswitch.conf 文件:
%H 变量代表 POSIX 样式的 Windows 主目录,因此将其添加到 db_home: 行并取消注释该行。
例子:
# /etc/nsswitch.conf
#
# This file is read once by the first process in a Cygwin process tree.
# To pick up changes, restart all Cygwin processes. For a description
# see https://cygwin.com/cygwin-ug-net/ntsec.html#ntsec-mapping-nsswitch
# Defaults:
# passwd: files db
# group: files db
# db_enum: cache builtin
db_home: /%H/home
# db_shell: /bin/bash
# db_gecos: <empty>
有关如何通过编辑 /etc/nsswitch.conf 文件来更改 Cygwin 的默认设置的更多信息,请参阅 this answer。
更多信息:默认情况下,根目录/ 是c:\cygwin(或c:\cygwin64 在64 位安装上),所以一切都存在于那里。 更改上述设置将在c:\cygwin\home 中创建一个符号链接,对应于您在Windows 中的配置文件目录,通常c:\Users\<username> 由环境变量%userprofile% 引用。
编辑: 最后一句话不正确。实际发生的情况是您的主目录将更改为 /cygdrive/c/Users/<username>
最后一个有用的提示:如果你想验证你所在的目录,相对于 Windows 的目录结构,你可以在 cygwin 提示符下运行以下命令:
explorer.exe .
(注意.)这会在您的当前目录中打开一个资源管理器窗口。
我认为对您的问题最简单的答案是您可以导航到任何驱动器上的任何目录(即C:、D: 等),方法是将驱动器号替换为/cygdrive/<letter>(即C:\访问/cygdrive/c)