WSL2折腾记录
最近看到很多大佬对于wsl2的推崇,于是就想体验一番,将系统升级到2004,下面记录以下折腾过程。
1. 系统升级
1.1. 问题:我们无法更新系统保留的分区
首先进行系统升级就出现了问题“我们无法更新系统保留的分区”,对于这个问题,网上很多人给的答案是 MSR(Microsoft Reserved)分区太小的问题,然而实际问题是ESP(EFI System Partition)分区 “EFI系统分区” 太小的原因,微软在这里所提示的系统保留的分区实际上是指“EFI系统分区”。
1.2. 解决办法
备份 EFI 系统分区,然后进入PE系统,删除EFI分区和MSR分区,将C盘空间分出500M空间给EFI分区和MSR分区,然后建立ESP/MSR分区,将备份的EFI分区还原就可以了。
下面说一下详细步骤:
1.2.1. 备份EFI分区
使用 DiskGenius 备份EFI分区,如下图:
1.2.2. 删除EFI/ESP 分区
进入PE系统删除 EFI 分区和 ESP 分区,我的电脑中存在一个系统还原的分区,由于我不需要系统还原,就直接删掉了,当然也可以备份,后续再还原。
1.2.3. 扩大 EFI 分区
将 C 盘空间分出 500M 给 EFI 分区,如果担心不够,你也可以多分一点。
1.2.4. 新建ESP/MSR分区
选择新建ESP/MSR分区,后续的选项保持默认就可以,可以看到分区比之前的要大一些了。
1.2.5. 还原 EFI 分区镜像
选中 EFI 分区,右键->从镜像文件还原分区,还原之前保存的 EFI 分区镜像。
重启系统,然后就可以愉快的升级了,记得C 盘空余空间保持在20G以上。
2. 安装 WSL2
2.1. 第一步:启用虚拟机平台和 Linux 子系统功能
以管理员权限启动 PowerShell,然后输入以下命令启用虚拟机平台:
1 | Enable-WindowsOptionalFeature -Online -FeatureName VirtualMachinePlatform |
以管理员权限启动 PowerShell,然后输入以下命令启用 Linux 子系统功能:
1 | Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux |
在以上每一步命令执行完之后,PowerShell 中可能会提示你重新启动计算机。按“Y”可以重新启动。
以上操作可能需要先更新 WSL 2 Linux 内核。
2.2. 启用 WSL2 并安装 linux 子系统
使用以下命令可以在以后安装 Linux 的时候默认启用 WSL2:
1 | wsl --set-default-version 2 |
去应用商店安装 linux 子系统,安装好后使用以下命令查看,可以看到 VESION 为 2 即为 wsl2 。
1 | wsl --list --verbose |
2.3. 自定义安装位置
下载 LxRunOffline,可以发现版本 v3.4.1 已经支持 wsl2 了。
执行 LxRunOffline move -n {version} -d {dir}
,将 Linux 移动到指定的目录。其中,{version}
是版本号,可以通过 LxRunOffline list
来查看,{dir}
是目标目录。
例如:
1 | LxRunOffline.exe m -n Ubuntu-18.04 -d D:/WSL/Ubuntu-18.04 |
最终效果,如下图:
至此,整个折腾过程到此结束。
参考:
https://docs.microsoft.com/en-us/windows/wsl/install-win10
https://blog.walterlv.com/post/how-to-install-wsl2.html