WSL1 升级为 WSL2

本文介绍了从WSL1升级到WSL2的步骤,包括启用虚拟机功能、下载Linux内核更新包以及设置分发版版本。WSL2利用hyper-v技术提供更快的文件系统性能和完整的系统调用兼容性,适合运行后台任务如Docker。然而,它也会占用更多内存,可通过`wsl--shutdown`命令关闭以节省资源。

WSL2 是 WSL 1 的升级版,带来的主要优势:

  • 提高文件系统性能
  • 支持完全的系统调用兼容性

WSL2 使用了 hyper-v 虚拟化技术,它就是一个你感知不到的虚拟机(VM),比以前的版本性能更高。举个栗子,我在WSL里面安装 nodejs, 采用源码编译方式安装,在 WSL1 下整整编译了100分钟,实在是太慢了。

更纤细的介绍请参阅官方文档:比较 WSL 1 和 WSL 2

执行命令 wsl -l -v 可以看到WSL版本号是 1,需要执行升级,才能到2

1.启用虚拟机功能
使用 PowerShell 以管理员身份运行:

dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

然后重启电脑

2.下载 Linux 内核更新包

x64: https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi
arm64: https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_arm64.msi

3.设置分发版版本

执行命令:wsl --set-version <分发版名称> <版本号>

如:将 Ubuntu18.04 设置为WSL2的命令为 wsl --set-version Ubuntu-18.04 2

这一步比较耗时,执行完成后通过命令 wsl -l -v 来查询升级是否成功

使用分享:

WSL2 是基于虚拟机的,所以可以在后台运行各种任务,比如 Docker 等等,但是带来的相应问题就是会占用一部分内存,使用 wsl --shutdown <分发版名称> 可以再不使用的时候停止它,以节约资源

 

<think>嗯,用户明确要求将WSL1升级WSL2,并且提供了三个参考引用。需要整合这些信息给出清晰的操作指南。用户可能是个开发者,正在优化本地开发环境,说明ta已经意识到WSL2在性能上的优势。 从引用内容看,核心步骤有三点:启用Windows功能、安装内核更新包、设置默认版本。不过引用[3]提到用PowerShell启用虚拟机平台功能,而引用[1][2]更强调用图形界面操作,这里需要统一说明两种方式。 注意到引用[2]来自微软官方文档,应该作为权威参考。用户提供的步骤里有个细节差异:引用[1]说重启在安装内核包之前,引用[3]说重启在启用功能之后。根据实际经验,启用Hyper-V和虚拟机平台确实需要重启才能生效,这个顺序要理清。 用户可能遇到的坑是:1) 忘记用管理员权限操作 2) 安装内核后没设置默认版本 3) BIOS未开启虚拟化。应该在指导中主动预警,特别是最后一点需要给出检测方法(任务管理器查看虚拟化状态)。 升级后的验证很重要,除了wsl -l -v命令,还可以补充磁盘性能测试的提示,比如用time dd if=/dev/zero of=testfile bs=1G count=1,这样用户能直观感受WSL2的改进。 相关问题的设计要围绕升级后的使用场景:1) 文件系统互通性这个经典问题 2) 图形界面支持(虽然引用未提及但很实用)3) 系统服务管理这个进阶需求。这样既延续主话题,又自然扩展到新领域。</think>根据引用内容[^1][^2][^3],将WSL1升级WSL2的完整步骤如下: ### 📌 升级步骤 1. **启用Windows子系统功能** - 按 `Win + R` 输入 `optionalfeatures.exe` 打开功能面板 - 勾选: - ✔️ **适用于Linux的Windows子系统** - ✔️ **虚拟机平台** - 点击确定后**重启电脑**(关键步骤![^3]) 2. **安装WSL2内核更新包** - 下载官方内核包:[wsl_update_x64.msi](https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi) - 右键以**管理员身份运行安装**[^1] 3. **设置WSL2为默认版本** ```powershell # 以管理员身份打开PowerShell wsl --set-default-version 2 ``` 4. **转换现有发行版** ```powershell # 查看当前发行版名称 wsl -l -v # 转换指定发行版(例如Ubuntu) wsl --set-version Ubuntu 2 ``` > 转换过程耗时较长(约5-15分钟),请勿中断[^1] --- ### ✅ 验证升级结果 ```powershell wsl -l -v ``` 输出示例: ``` NAME STATE VERSION * Ubuntu Running 2 <-- 此处显示2即成功 ``` --- ### ⚠️ 常见问题解决 1. **虚拟化未启用** - 重启时进入BIOS,开启 `Intel VT-x` 或 `AMD-V` 虚拟化支持 - 在Windows中检查:任务管理器 → 性能 → CPU → 查看"虚拟化"是否启用 2. **转换卡住** 尝试在Linux中执行: ```bash sudo apt update && sudo apt upgrade -y ``` 退出后重新执行转换命令 3. **版本仍显示1** 强制关闭WSL: ```powershell wsl --shutdown wsl --set-version <发行版名> 2 ``` --- ### 🔍 升级后优化建议 1. **文件系统性能** - 将项目文件放在Linux根目录(`\\wsl$\Ubuntu\home`) - 避免在`/mnt/c/`下操作Windows文件(跨系统性能损失50%+) 2. **内存限制调整** 在`%UserProfile%\.wslconfig`中添加: ```ini [wsl2] memory=4GB # 根据物理内存调整 processors=2 # 分配CPU核心数 ``` > 升级后磁盘IO性能提升3-6倍,完整系统调用兼容性支持Docker等工具[^1][^2] --- ### 📚 相关问题 1. WSL2与虚拟机(如VMware)在资源占用和性能上有何具体差异? 2. 如何在WSL2中配置GPU加速用于机器学习开发? 3. WSL2的`systemd`支持有哪些限制?如何启用完整系统服务管理? > 引用来源: > [^1]: WSL1升级WSL2操作步骤 > [^2]: 微软官方WSL2升级指南 > [^3]: 图形界面与PowerShell双操作路径说明
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值