第一步
打开控制面板->程序->启动Windows功能,勾选适用于Linux的Windows子系统。
第二步
以管理员权限打开命令行执行安装wsl
wsl --install -d Ubuntu
--install 命令执行以下操作:
- 启用可选的 WSL 和虚拟机平台组件
- 下载并安装最新的 Linux 内核
- 将 WSL 2 设置为默认值
- 下载并安装 Linux 发行版(可能需要重新启动)
服务启动与关闭
net stop LxssManager
net start LxssManager
第三步
修改WSL硬盘位置,集成系统默认安装在C盘,最好转移到其他盘
下载解压lxrunoffline,https://github.com/DDoSolitary/LxRunOffline/releases
执行lxrunofflin查看当前wsl名称,wsl服务要在运行才能看到wsl名称,不过一般默认都是Ubuntu。
lxrunoffline l
接下来关掉wsl服务,执行lxrunofflin进行数据迁移。
net stop LxssManager
lxrunoffline m -n <WSL名称> -d <路径>
查看最终迁移路径,启动wsl服务。
net start LxssManager
lxrunoffline di -n <WSL名称>
可选
限制虚拟机内存占用
在用户目录(C:\Users\)下新建.wslconfig文件,并且写入以下配置,内存大小看情况决定
[wsl2]
memory=6GB
swap=0
释放空间
当要删除大容量文件时,虚拟机磁盘并不会第一时间释放,需要使用diskpart主动释放。(diskpart windows自带,需要使用PowerShell命令行)
首先关闭wsl服务,进入diskpart
net stop LxssManager
diskpart
选择磁盘并且链接,解压断链退出就好了
select vdisk file = "...\ext4.vhdx"
attach vdisk readonly
compact vdisk
detach vdisk
exit
必须设置只读(第二行)
参考文档:
https://docs.microsoft.com/en-us/windows/wsl/install-win10
https://p3terx.com/archives/manage-wsl-with-lxrunoffline.html