在 D:\WSL2Ubuntu 里导入了 WSL2 Ubuntu,为什么 wsl -d Ubuntu 启动后目录不是 D:\WSL2Ubuntu?

你在 D:\WSL2Ubuntu 里导入了 WSL2 Ubuntu,为什么 wsl -d Ubuntu 启动后目录不是 D:\WSL2Ubuntu?

这是因为:

📌 1. WSL 的根文件系统挂载方式

D:\WSL2Ubuntu 是 WSL 的存储位置(也就是你导入的发行版的 rootfs 存放目录,里面有 ext4.vhdx 之类的文件)。

这个目录在 Windows 下是“WSL 的容器文件”,并不是直接映射到 /mnt/d/WSL2Ubuntu。

启动 wsl -d Ubuntu 后,你看到的 Linux 路径 /,就是从那个 ext4.vhdx 文件里挂载出来的 Linux 根目录。

所以你在 WSL 里面看到的 / 根目录,其实就对应了 D:\WSL2Ubuntu\ext4.vhdx 里的文件系统内容,而不是直接 Windows 的 D 盘路径。

📌 2. 为什么进入 /mnt/c/Users/xueqing

因为 WSL 默认启动时,会把工作目录设为 Windows 当前用户目录 /mnt/c/Users/你的用户名。

所以看起来像是“跑到 C 盘去了”。

但其实根目录 / 已经是你在 D 盘导入的 Ubuntu 系统文件了。

你可以验证一下:

cd /
ls

你会看到标准的 Linux 根目录结构:

bin boot dev etc home lib root usr var ...

这些都来自 D:\WSL2Ubuntu\ext4.vhdx,并不是 Windows C 盘的东西。

📌 3. 如果你想默认进入 /home/用户名

你可以修改 默认启动目录:
编辑 /etc/wsl.conf:

[user]
default=你的用户名

[boot]
command="cd ~"

然后:

wsl --shutdown

再启动,就会直接进入 Linux 用户的 home 目录 /home/用户名。

✅ 总结:

D:\WSL2Ubuntu 是 存储位置,WSL 会把它当成一个虚拟磁盘(ext4.vhdx),挂载为 Linux 的 / 根目录。

默认进入 /mnt/c/Users/xueqing 只是启动目录问题,不影响实际根文件系统在 D 盘。

wsl安装之后找不到nvcc?

  1. CUDA Toolkit 里有没有 nvcc

先在 WSL2 里面看看 nvcc 是否安装成功:

which nvcc
nvcc --version

如果 which nvcc 没有输出,说明 CUDA Toolkit 没加到 PATH。
比如 CUDA 一般装在 /usr/local/cuda-12.2/bin/nvcc,你需要在 ~/.bashrc 里加:

export PATH=/usr/local/cuda/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH

然后 source ~/.bashrc 再试。

posted @ 2025-09-03 22:44  aixueforever  阅读(31)  评论(0)    收藏  举报