WSL2中Ubuntu升级至22.04.1后终端/VS Code/wsl.exe仍显示18.04的解决方法咨询
WSL2中Ubuntu升级至22.04.1后终端/VS Code/wsl.exe仍显示18.04的解决方法咨询
看起来你已经成功把Ubuntu从18.04升级到22.04.1了(从cat /etc/lsb-release的输出能确认),但WSL的发行版列表、终端和VS Code还停留在18.04的显示,其实这个问题的核心是WSL不会自动修改发行版的标识名称——哪怕系统内部已经完成升级,WSL还是会沿用原来的发行版名称来对外显示,解决起来很简单,跟着下面的步骤来:
第一步:修改WSL发行版名称并设置默认
- 先关闭所有WSL实例,避免操作冲突:在PowerShell里执行
wsl --shutdown - 重命名你的发行版,把原来的
Ubuntu-18.04改成对应新版本的名称:wsl --rename Ubuntu-18.04 Ubuntu-22.04 - 确认新的发行版是默认选项:
wsl --set-default Ubuntu-22.04
第二步:解决终端和VS Code的显示问题
- 终端(比如Windows Terminal):重启终端后,标签栏的名称就会更新为
Ubuntu-22.04了,因为它是读取WSL的发行版名称来显示的。 - VS Code:关闭当前的WSL连接,重新打开VS Code并连接到WSL环境,插件就会识别到新的发行版名称,不会再显示18.04了。
额外提醒
你之前反复运行do-release-upgrade其实没必要,现在系统已经是22.04.1了,无需再重复升级;之前遇到的apt-pkg模块缺失、谷歌云包密钥错误这些问题,你已经成功解决了,现在不用再处理这些啦。
备注:内容来源于stack exchange,提问作者coniferous




