如何在WSL中降级Ubuntu版本,或从WSL终端连接VirtualBox的Ubuntu20.04?
针对WSL与Ubuntu 20.04环境需求的解决方案
1. 在WSL中使用Ubuntu 20.04(无需降级现有22.04)
WSL支持同时安装多个Ubuntu版本,完全不用降级当前的22.04,直接新增20.04实例即可:
- 打开Windows终端(PowerShell或CMD),先查看可用的WSL发行版:
wsl --list --online - 安装Ubuntu 20.04:
wsl --install -d Ubuntu-20.04 - 安装完成后,直接启动该版本:
wsl -d Ubuntu-20.04 - 如果需要将20.04设为默认启动版本:
wsl --set-default Ubuntu-20.04
如果确实要卸载现有22.04,可执行wsl --unregister Ubuntu,但更推荐保留多版本共存,方便后续切换环境。
2. 从WSL终端连接VirtualBox中的Ubuntu 20.04
需要给VirtualBox里的Ubuntu配置SSH服务和端口转发,步骤如下:
- 在VirtualBox的Ubuntu 20.04虚拟机中安装SSH服务:
sudo apt update && sudo apt install openssh-server -y - 修改SSH配置允许密码登录(新手友好):
编辑/etc/ssh/sshd_config,找到PasswordAuthentication项,改为yes,保存后重启服务:sudo systemctl restart ssh - 打开VirtualBox的虚拟机设置,进入「网络」→「高级」→「端口转发」,添加一条规则:
- 主机端口:比如
2222(避免和WSL自身的22端口冲突) - 子系统端口:
22(SSH默认端口) - 主机IP和子系统IP留空即可
- 主机端口:比如
- 在WSL终端中,用虚拟机的用户名和转发的端口连接:
ssh 你的虚拟机用户名@localhost -p 2222
输入虚拟机用户密码后即可登录操作。
3. 其他可行方案
- Docker容器(轻量首选):不需要额外虚拟机或WSL实例,直接拉取Ubuntu 20.04镜像运行容器:
退出后下次启动用# 先确保WSL中已安装Docker docker pull ubuntu:20.04 # 启动交互式容器 docker run -it --name ubuntu2004 ubuntu:20.04 /bin/bashdocker start -i ubuntu2004即可,容器环境干净独立,非常适合测试脚本兼容性。 - WSL备份还原:如果之前给WSL的Ubuntu实例做过备份,可通过
wsl --export导出旧版本镜像,再用wsl --import导入为新实例,但前提是你有历史备份,新手不优先推荐这个方式。
内容的提问来源于stack exchange,提问作者Helionthebus
相关产品推荐
相关产品推荐

