如何查看 WSL 默认安装位置并迁移至自定义路径(完整指南)
wsl --export Ubuntu-22.04 F:\PCSoftware\Wsl2\Ubuntu-ollamaRun.tar
wsl --import Ubuntu-22.04 F:\PCSoftware\Wsl2\Ubuntu F:\PCSoftware\Wsl2\Ubuntu-22.04.tar
ubuntu2204.exe config --default-user qwen
📌 问题背景
使用 wsl --install 快速安装 Ubuntu 等发行版时,系统会默认将其安装在 C 盘用户目录下:
C:\Users\<用户名>\AppData\Local\Packages\
随着开发环境、Docker 镜像等数据增长,极易占满系统盘。本文教你安全、彻底地将 WSL 迁移到其他磁盘(如 D:\WSL)。
🔍 一、查看当前 WSL 安装位置
方法 1:通过文件资源管理器
-
打开资源管理器
-
地址栏输入:
%LOCALAPPDATA%\Packages -
查找以
CanonicalGroupLimited.开头的文件夹,例如:CanonicalGroupLimited.Ubuntu22.04onWindows_...
方法 2:通过命令行
wsl -l -v
此命令列出所有已安装的发行版及其状态,但不显示物理路径。结合方法 1 可快速定位。
💡 提示:WSL 内部文件可通过
\\wsl$\<发行版名>访问(如\\wsl$\Ubuntu-22.04)。
🚀 二、迁移 WSL 到指定路径(四步法)
⚠️ 重要前提:确保目标磁盘有足够空间(建议 ≥2 倍当前占用)
步骤 1:导出 WSL 发行版为 tar 文件
# 查看发行版名称
wsl -l -v
# 导出(以 Ubuntu-22.04 为例)
wsl --export Ubuntu-22.04 D:\WSL\Ubuntu.tar
- 第一个参数:
wsl -l -v中显示的精确名称 - 第二个参数:目标
.tar文件路径(目录需提前创建)
步骤 2:注销当前发行版
wsl --unregister Ubuntu-22.04
✅ 此操作会删除原 C 盘中的所有数据,请确保已成功导出!
步骤 3:导入到新位置
wsl --import Ubuntu-22.04 D:\WSL\Ubuntu D:\WSL\Ubuntu.tar
- 第一个参数:发行版名称(可与原名相同)
- 第二个参数:新安装目录(用于存放虚拟硬盘)
- 第三个参数:上一步导出的
.tar文件
📁 导入后,该目录将包含
ext4.vhdx虚拟磁盘文件。
步骤 4:设置默认用户(关键!)
WSL 导入后默认以 root 身份启动。若你希望恢复原来的普通用户登录:
情况 A:通过 Microsoft Store 安装的官方发行版(如 Ubuntu-22.04)
以管理员身份运行 CMD:
ubuntu2204.exe config --default-user your_username
替换
your_username为你的 Linux 用户名(通过whoami查看)
情况 B:自定义导入的发行版(无 .exe 启动器)
不改也行,直接也可以启动。
在 WSL 中创建配置文件:
sudo nano /etc/wsl.conf
添加以下内容:
[user]
default = your_username
保存后执行:
wsl --shutdown
重启 WSL 即生效。
✅ 三、验证迁移结果
-
启动 WSL:
wsl -d Ubuntu-22.04 -
检查当前用户是否正确
-
在 Windows 资源管理器访问
D:\WSL\Ubuntu,确认ext4.vhdx存在 -
运行
df -h查看磁盘挂载情况
💡 补充建议
- 路径命名规范:建议使用无空格、无中文的路径(如
D:\WSL\Ubuntu2204) - 备份习惯:定期执行
wsl --export可实现一键备份 - Docker 用户:迁移后需在 Docker Desktop 中重新指定 WSL 后端路径
四:永久修复(防止 resolv.conf 被覆盖)
① 创建 WSL 配置文件:
sudo nano /etc/wsl.conf
加入以下内容:
[network]
generateResolvConf = false
保存并退出(Ctrl+O → 回车 → Ctrl+X)。
② 创建你自己的静态 resolv.conf:
sudo nano /etc/resolv.conf
写入:
nameserver 8.8.8.8
nameserver 8.8.4.4
③重启 WSL2(在 Windows PowerShell 中执行):
wsl --shutdown
然后重新打开 Ubuntu 终端。
步骤 4:验证修复结果
cat /etc/resolv.conf # 应显示你设置的 DNS
ping -c 4 baidu.com # 应该成功
nslookup baidu.com # 检查 DNS 解析是否正常
🔍 补充说明
-
为什么 WSL2 的 DNS 会出问题?
Windows 的 DNS 设置(如企业网络、VPN、代理、或某些安全软件)可能干扰 WSL2 自动生成的resolv.conf。 -
不要用
127.0.0.1或localhost作为 nameserver —— WSL2 是独立的网络命名空间。 -
如果你在公司/校园网,可能需要使用内网 DNS(可从 Windows 中查看):
ipconfig /all | findstr "DNS Servers"然后在 WSL 中使用这些 DNS 地址。
完成以上步骤后,你的 WSL2 Ubuntu 应该就能正常解析域名并联网了。如果仍有问题,请贴出以下命令的输出:
cat /etc/resolv.conf
ip route show
ping 8.8.8.8
增加源 ubuntu 22.04
sudo vim /etc/apt/sources.list
阿里云源的内容:
deb http://mirrors.aliyun.com/ubuntu/ jammy main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ jammy main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ jammy-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ jammy-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ jammy-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ jammy-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ jammy-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ jammy-backports main restricted universe multiverse
清华源
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-security main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-security main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-updates main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-backports main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-backports main restricted universe multiverse
📚 参考资料
- 原文灵感:CSDN 博客 #142407262
✨ 小技巧:迁移完成后,原 C 盘的
%LOCALAPPDATA%\Packages\...文件夹可安全删除(若wsl --unregister已执行,则通常已自动清理)。
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐



所有评论(0)