(base) PS C:\Users\admin> wsl --list --verbose NAME STATE VERSION * Ubuntu Stopped 1 (base) PS C:\Users\admin> wsl --update 正在检查更新... 指定的服务未安装。我想升级到wsl2,但是显示指定的服务未安装,可是我已经安装了wsl2的内核,怎么办?
你遇到的问题表明,虽然你已经安装了 WSL 2 内核,但系统可能没有正确配置 WSL 2 相关的服务。为了升级到 WSL 2,并解决 "指定的服务未安装" 错误,建议按照以下步骤进行操作:
1. 确保已启用 WSL 2 功能
确保 WSL 2 相关功能已经启用并安装,特别是 Virtual Machine Platform
和 Hyper-V
功能。
通过 PowerShell 启用功能:
- 打开 PowerShell(以管理员身份运行)。
- 执行以下命令,启用所需的功能:
powershell
复制代码
dism.exe /online /enable-feature /featurename:Microsoft-Hyper-V-All /all /norestart dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
- 重启计算机。
2. 安装 WSL 2 内核更新包(如果还没安装)
如果你已经安装了 WSL 2 内核包,但仍然出现问题,可以尝试重新安装或更新 WSL 2 内核。
-
访问 WSL 2 内核更新页面,下载并安装最新的 WSL 2 内核更新。
-
安装完成后,重新启动计算机。
3. 检查 WSL 版本
确认 WSL 版本是否已经设置为 2。你可以使用以下命令来设置默认版本为 WSL 2:
powershell
复制代码
wsl --set-default-version 2
4. 切换已安装的发行版到 WSL 2
如果你的 Ubuntu 当前使用的是 WSL 1,可以通过以下命令将其切换到 WSL 2:
powershell
复制代码
wsl --set-version Ubuntu 2
如果这时仍然出现问题,可能是因为系统没有正确安装和配置虚拟化功能,或者 WSL 2 服务未正确运行。
5. 检查和启用 Hyper-V
WSL 2 依赖 Hyper-V 来创建虚拟机。如果 Hyper-V 功能没有启用,可能会导致问题。
- 打开 控制面板 → 程序 → 启用或关闭 Windows 功能。
- 确保 Hyper-V 以及 虚拟机平台(Virtual Machine Platform)已启用。
- 勾选相关选项后,点击 确定,然后重启计算机。
6. 重新启动 WSL 服务
你可以尝试重新启动 WSL 服务,或者完全重启 WSL 系统。
powershell
复制代码
wsl --shutdown
然后重新启动 WSL:
powershell
复制代码
wsl
7. 更新 Windows 系统
WSL 2 需要 Windows 10 1903 或更高版本,并且版本号必须为 Build 18362 或更高。确认你的 Windows 系统版本是否符合要求。
- 打开 设置 → 更新和安全 → Windows 更新。
- 点击 检查更新,确保系统是最新版本。
8. 重启计算机
完成以上步骤后,重启计算机,以确保所有更改生效。
9. 查看 WSL 状态
你可以使用以下命令再次检查 WSL 状态,确保 WSL 2 已经正确启用:
powershell
复制代码
wsl --list --verbose