如何将wsl安装的Ubuntu系统从C盘移到D盘?
原理是将C盘下的wsl的镜像打包压缩后,注销C盘的镜像,复制压缩包到D盘后,在D盘中导入镜像即可实现。使用官方 WSL 命令(推荐,最安全)。这是微软官方支持的迁移方法,适用于 WSL 2 发行版(WSL 1 不需要迁移,因为它的文件直接在 Windows 文件系统上)。整个过程是 “导出(Export)” 当前系统到一个文件,然后 “导入(Import)” 到新的位置,并注销(删除)旧的系统。
(1)步骤 1:准备工作
-
确定发行版名称:以管理员身份打开 Windows PowerShell(在开始菜单搜索 “PowerShell”,右键点击选择“以管理员身份运行”),执行以下命令:
wsl -l -v记下您要迁移的发行版名称,例如 Ubuntu-20.04 或 Ubuntu。同时确保它的 STATE(状态) 是 Stopped(停止)。如果正在运行,请使用 wsl -t <发行版名称> 来终止它。
-
在 D 盘创建目标文件夹:在 D 盘创建一个您希望存放新系统的文件夹,例如 D:\WSL\Ubuntu。
(2)步骤 2:执行导出和导入
-
导出当前系统到一个压缩包(这相当于创建一个备份):
wsl --export <发行版名称> <临时压缩包路径.tar>示例:将 Ubuntu-20.04 导出到 C 盘根目录下的一个临时文件 ubuntu_backup.tar
wsl --export Ubuntu-20.04 C:\ubuntu_backup.tar这个过程需要一些时间,等待命令完成。
-
注销(卸载)当前的发行版:
wsl --unregister <发行版名称>示例:
wsl --unregister Ubuntu-20.04注意:此操作会删除 C 盘上原有的 WSL 系统文件,从而立即释放空间。但因为你已经导出了备份,所以数据是安全的。
-
将刚才导出的备份导入到 D 盘的新位置:
wsl --import <发行版名称> <新路径> <压缩包路径.tar> --version 2示例:将备份文件 C:\ubuntu_backup.tar 导入到 D:\WSL\Ubuntu 文件夹,并命名为 Ubuntu-20.04,同时指定使用 WSL 2。
wsl --import Ubuntu-20.04 D:\WSL\Ubuntu C:\ubuntu_backup.tar --version 2这个过程同样需要一些时间。
-
(可选)删除临时压缩包:导入成功后,您可以删除第 1 步创建的 C:\ubuntu_backup.tar 文件以节省空间。
步骤 3:验证和设置默认用户
-
验证迁移:运行 wsl -l -v,检查新的 Ubuntu-20.04 发行版是否位于 Running(运行) 或 Stopped(停止) 状态,并且 VERSION 是 2。
-
启动新系统:运行 wsl -d Ubuntu-20.04。您会发现此时是以 root 用户身份登录的。
-
设置默认登录用户:我们需要告诉 WSL 使用你原来的普通用户登录。
◦ 在 PowerShell 中执行以下命令,将 <用户名> 替换为你原来系统中使用的用户名(如 ubuntu,如果不确定,原来系统里用 whoami 命令查看):
Ubuntu2004.exe config --default-user <用户名>注意:这里的可执行文件名称 Ubuntu2004.exe 对应于你的发行版。如果你安装的是 Ubuntu 22.04 LTS,则命令应为 Ubuntu2204.exe config --default-user <用户名>。
◦ 完成后,再次启动 wsl,就应该恢复到你熟悉的用户了。