Windows wsl ubuntu系统安装
安装Linux子系统
1. 在系统中开启子系统功能
# 开启 启用或关闭Windows功能,适用于Linux的Winodws子系统
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
# 开启 启用或关闭Windows功能,虚拟机平台
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
经过目前测试,正常使用wsl,该选项会自动打开。
安装完毕后可能需要重启。
2. 将 WSL2 设置为默认版本
# 更新 wsl
wsl --update
## 将 wsl 版本设置为 wsl2
wsl --set-default-version 2
注意
由于 WSL2 基于 Hyper-V 虚拟技术,所以需要提前在 BIOS 中开启虚拟化支持
3. 安装Linux
# 列出可安装的 Linux 版本
wsl --list --online
# 安装
wsl --install ubuntu-24.04 --web-download
wsl --set-default ubuntu-24.04
# 查看
wsl --list -v
# 卸载旧版
wsl --unregister ubuntu-24.04
其他安装方法
当然,也可以打开Microsoft Store,安装最新的Ubuntu 22.04的发行版本
4. 更新Ubuntu系统
更换软件源请查看:清华大学开源软件镜像站
sudo apt update
sudo apt upgrade
sudo apt full-upgrade
5. 配置SSH(可选)
# 重新生成Key,不然启动不了服务,这是一个bug
sudo ssh-keygen -A
# 允许用户名+密码方式登录
sudo vim /etc/ssh/sshd_config
PasswordAuthentication yes
# 启动服务
sudo service ssh start
6. 配置xrdp(可选)
# 安装基础依赖软件
sudo apt install network-manager secureboot-db openvpn -y
# 可以通过 tasksel 桌面管理程序 进行安装 ubuntu-desktop
sudo apt install tasksel -y
sudo tasksel
# 安装gnome
sudo apt install ubuntu-desktop -y
# sudo apt install xubuntu-desktop -y
# 安装3389远程桌面服务
sudo apt install xrdp -y
# 安装一些优化配置
sudo apt install gnome-software gnome-tweaks gnome-tweak-tool gnome-shell-extensions -y
sudo apt install gnome -y
# 汉化
sudo apt install language-pack-zh-hans -y
sudo dpkg-reconfigure locales
# 选中zh_CN.UTF8,然后按空格和回车,新界面选中'Zh_CN.UTF-8',然后按回车。
# 重启
# 在Windows终端运行 wsl --shutdown 和 wsl
systemctl restart xrdp
微软官方参考资料
在Windows启动远程桌面 连接到:172.17.123.134:3389
安装Hyper-V和管理器(可选)
这个可以通过图像化界面方便的管理虚拟网络等
# 方法一:
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All
# 方法二:
DISM /Online /Enable-Feature /All /FeatureName:Microsoft-Hyper-V
方法三:
在Windows打开或关闭Windows功能
界面,选择Hyper-V
管理Linux发行版
# 查看当前发行版
wsl --list -v
# 打开Linux命令行
wsl
# 注销删除Linux发行版
wsl --unregister ubuntu-22.04
文件共享
WSl2为Windows原生支持的子系统,无需设置即可直接共享目录
- 在Windows中直接访问Ubuntu文件
- 打开Windows资源管理器,侧边栏点击
Linux
直接访问
- 打开Windows资源管理器,侧边栏点击
- 在Ubuntu直接访问Windows文件
- 默认会把Windows磁盘挂在到
/mnt
中,直接访问/mnt
- 默认会把Windows磁盘挂在到
WSL网络
WSL2 默认使用了一个本机NAT网络,这样就很不方便将WSL中的服务提供局域网访问,我们需要将默认的NAT网络改为桥接网络。
默认情况下,WSL的监听端口会自动绑定到本机的127.0.0.1这个IP地址的端口上,可以直接访问本机地址的端口来访问服务
1. 桥接到本地网卡
# 先打开Linux再关闭,主要为了自动创建WSL网卡
wsl
exit
# 获取所有网卡信息,找到需要桥接网卡的Name,比如Wifi的网卡
Get-NetAdapter
# 将WSL网卡桥接到本地网卡
Set-VMSwitch WSL -NetAdapterName WLAN
注意
需要先启用Hyper-V功能,才可使用以上命令
警告
在配置桥接网络到WIfI网卡时,可能导致本地主机网速极慢,可能是bug,这也能解释在 Hyper-V 管理器中配置 WSL 网卡为外部网络则会直接报错。
如果出现这个问题可以在控制面板中的网络连接界面,右键网卡关闭桥接。
2. 修改Linux的ip地址等信息
如果Linux通过dhcp获取到了ip就不用配置该项了
sudo ip addr del $(ip addr show eth0 | grep 'inet\b' | awk '{print $2}' | head -n 1) dev eth0
sudo ip addr add 192.168.1.222/24 broadcast 192.168.1.255 dev eth0
sudo ip route add 0.0.0.0/0 via 192.168.1.1 dev eth0
vim /etc/resolve.conf
nameserver 192.168.1.1
WSL连不上网解决办法
# 初始化重置网络
wsl --shutdown
netsh winsock reset
netsh int ip reset all
netsh winhttp reset proxy
ipconfig /flushdns
# 重启电脑
Pycharm中配置WSL
配置远程部署
- 打开Pycharm
工具
——部署
——配置
——+
——SFTP
——输入WSL
创建新服务器- 在
连接
——SSH 配置
中配置远程主机地址和用户 - 在
映射
——部署路径
中,配置远程主机部署目录
提示
- 配置成功后,可以使用
工具
——启动SSH会话
来快速打开远程控制台。 - 其实WSL的/mnt目录本身就与主机同步,如果文件需要实时同步本身就实现了,无需配置。
配置远程python解释器
- 打开Pycharm
文件
——设置
——项目
——Python解释器
- 点击工具按钮后添加 —— 侧边栏选
WSL
—— Python路径写:/usr/bin/python3
WSl服务开机启动
- 运行
taskschd.msc
打开任务计划管理器 - 创建基本任务,填入名称和描述,比如:开机启动WSL SSH
- 触发器选择为
计算机启动时
- 启动程序脚本输入
wsl -d Ubuntu-22.04 -u root /etc/init.d/ssh start
- 完成后请注意把该任务设置为
不管用户是否登录都要运行
其他命令示例:
wsl -d Ubuntu-22.04 -u root redis-server /etc/redis/redis.conf