Windows10 Linux子系统迁移到非系统盘

发布时间 2023-11-30 17:44:47作者: Liik-

默认情况下,Windows安装了Linux子系统后,默认安装位置是在C盘,会导致C盘内存不足,因此需要迁移到非系统盘。

以Ubuntu20.04为例:默认安装位置在%UserProfile%\AppData\Local\Packages\目录下

一、通过wsl命令迁移、备份Linux分发

# 查看Ubuntu版本

wsl --list --all --verbose

  命令说明:列出所有分发版的详细信息

# 停止Ubuntu

wsl --shutdown

  命令说明:立即终止所有正在运行的分发版和 WSL 2

# 备份导出当前已有的Ubuntu

wsl --export Ubuntu-20.04 "D:\Program Files\Ubuntu20.04\Ubuntu.tar"

  命令说明:将目前已有的数据备份到D:\Program Files\Ubuntu20.04目录下,并命名为Ubuntu.tar

# 删除原有Ubuntu数据

wsl --unregister Ubuntu-20.04

  命令说明:解除当前的Ubuntu数据虚拟盘映射,该操作后会删除原有的ext4.vhdx (数据未备份前请谨慎操作)

# 导入Ubuntu镜像到新盘

wsl --import Ubuntu-20.04 "D:\Program Files\Ubuntu20.04" "D:\Program Files\Ubuntu20.04\Ubuntu.tar" --version 2

  命令说明:将备份数据导入到新的虚拟盘,且指定虚拟盘的存放路径为D:\Program Files\Ubuntu20.04,导入完成后在该目录下会存在一个ext4.vhdx的虚拟磁盘路径

注意:重新导入后的Linux分发版不再以APP的形式出现于开始菜单中:

  这样操作以后不能像原来一样在开始菜单点击图标启动此Linux分发,其他并未改变。可以通过wsl -s Ubuntu命令、Windows terminal程序等方式启动。或者将其设为默认分发版,通过wsl、bash启动。

另一方面,不能像原来那样在应用商店里更新。

 二、通过LxRunOffline实现

LxRunOffline是WSL 管理工具,很大程度弥补了 WSL 官方工具的不足,比如说他可以实现将任何发行版的 Linux 以 WSL 形式安装到 Windows 10 中,增强 WSL 发行版管理功能,可以实现 WSL 系统备份和恢复等,无论是学习 Linux 还是进行开发工作都要比以往操作更为方便。

项目地址:https://github.com/DDoSolitary/LxRunOffline

使用cmd进入E:\Downloads\LxRunOffline-v3.5.0-mingw

输入LxRunOffline.exe list或者wsl.exe -l命令查看Ubuntu系统名称

然后使用 lxrunoffline move 进行迁移 , -n 指定你要迁移的系统名 ,-d 指定你新系统的迁移路径。

.\LxRunOffline.exe move -n Ubuntu-20.04 -d D:\Program Files\Ubuntu20.04

迁移过程会出现WARNING 不用管, 等待一段时间结束就算迁移完

使用LxRunOffline.exe get-dir 查询系统目录,可见已经更改成功。

E:\Lx>LxRunOffline.exe get-dir -n Ubuntu-20.04
\\?\D:\Ubuntu20.04