Windows 10 Microsoft Store 安装 Ubuntu 的默认目录及迁移指南
1. 默认安装目录
通过 Microsoft Store 安装的 Ubuntu,文件存放在两个位置:
1.1 应用包文件(受保护的系统目录)
C:\Program Files\WindowsApps\CanonicalGroupLimited.Ubuntu...\
该目录有严格权限限制,一般无需也不建议直接操作。
1.2 Linux 系统数据(用户的文件、配置等)
C:\Users<你的用户名>\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu...\LocalState\
- WSL 2 :该目录下存在
ext4.vhdx虚拟磁盘文件,整个 Ubuntu 系统都在里面。 - WSL 1 :该目录下存在
rootfs文件夹,直接为 Linux 根目录结构。
快速查看方法 :在文件资源管理器地址栏输入 %LOCALAPPDATA%\Packages\ 并回车,找到以 CanonicalGroupLimited.Ubuntu 开头的文件夹,进入 LocalState 即可。
2. 将 Ubuntu 迁移到其他盘(推荐方法)
整个流程为:导出 → 注销 → 导入,安全且不会损坏系统。
2.1 准备工作
以 管理员身份 打开 PowerShell,执行以下命令查看发行版名称和版本:
powershell
wsl -l -v
记下以下信息:
发行版名称(例如 Ubuntu、Ubuntu-20.04)
WSL 版本(1 或 2)
你的 Linux 用户名(终端中 用户名@主机名: 前面的部分)
然后彻底关闭所有 WSL 进程:
powershell
wsl --shutdown
2.2 导出当前 Ubuntu 为 tar 文件
假设要迁移到 D:\WSL\Ubuntu,先创建目标文件夹,再将系统导出为临时压缩包:
powershell
mkdir D:\WSL\Ubuntu -Force
wsl --export Ubuntu D:\ubuntu-backup.tar
注意:Ubuntu 需替换为实际发行版名称,D:\ubuntu-backup.tar 为临时文件路径,可自定义。
2.3 注销原来的 Ubuntu(释放 C 盘空间)
powershell
wsl --unregister Ubuntu
重要: 此操作会删除 C 盘下的原系统数据,务必确认上一步已导出成功。
2.4 导入到新盘并指定新位置
powershell
wsl --import Ubuntu D:\WSL\Ubuntu D:\ubuntu-backup.tar --version 2
参数说明:
Ubuntu:发行版名称(可沿用原名或自定义)
D:\WSL\Ubuntu:新系统的存放目录(会自动生成 ext4.vhdx 等文件)
--version 2:如果原是 WSL 2 则加上;如果是 WSL 1,改为 --version 1 或省略(跟随全局默认)
若希望将全局默认版本设为 WSL 2,可执行:
powershell
wsl --set-default-version 2
2.5 设置默认登录用户
刚导入的系统默认以 root 登录,需要改回普通用户。
以 root 身份进入系统:
powershell
wsl -d Ubuntu -u root
在打开的 Linux Shell 中执行(假设你的用户名为 john):
bash
echo -e "[user]\ndefault=john" >> /etc/wsl.conf
exit
重启 WSL 使配置生效:
powershell
wsl --shutdown
wsl -d Ubuntu
此时就会自动以 john 用户登录。
2.6 清理临时备份文件
确认新系统运行正常后,删除导出的 tar 包:
powershell
Remove-Item D:\ubuntu-backup.tar
⚠️ 替代方法警告: 直接移动 ext4.vhdx 并修改注册表的方式风险较高,可能导致系统不可用,推荐使用上述导出/导入方法。
3. 常见错误:导出时提示"拒绝访问"
执行 wsl --export Ubuntu E:\ubuntu 时,若出现:
text
拒绝访问。
错误代码: Wsl/E_ACCESSDENIED
可按以下步骤排查解决:
3.1 未以管理员身份运行 PowerShell
wsl --export 需要管理员权限。请右键点击开始菜单,选择 Windows PowerShell (管理员) 或 终端 (管理员) 再运行。
3.2 导出路径未指定完整文件名
错误写法:wsl --export Ubuntu E:\ubuntu(此处 E:\ubuntu 被当作目录而非文件)
正确写法:
powershell
wsl --export Ubuntu E:\ubuntu-backup.tar
3.3 目标磁盘权限不足
在 PowerShell 中测试磁盘是否可写:
powershell
New-Item -Path E:\test.txt -ItemType File
如果此命令也失败,说明该磁盘可能被 BitLocker 锁定、有公司策略限制或驱动器未正确挂载。可以尝试导出到用户目录:
powershell
wsl --export Ubuntu $env:USERPROFILE\Desktop\ubuntu-backup.tar
3.4 重启 WSL 服务或系统
极少数情况下 WSL 服务卡死会导致权限错误,重启 Windows 后再试即可。