windows10安装wsl Ubuntu
1 安装
在microsoft store安装,安装后使用wsl命令查看是否有实例。
wsl2安装了之后,即使没有安装任何发行版,linux内核也已经存在了,这个内核是windows提供的,专门用于windows的linux内核版本。
PS C:\Users\xxx> wsl -l -v NAME STATE VERSION Ubuntu-22.04 Running 2 PS C:\Users\xxx>
2 修改位置
导出分发版为tar文件
PS C:\Users\xxx> wsl --export Ubuntu-22.04 E:\software\ubuntu_backup\Ubuntu-22.04.tar PS C:\Users\xxx> wsl --unregister Ubuntu-22.04 正在注销... PS C:\Users\xxx>
导入
PS C:\Users\xxx> wsl --import Ubuntu-22.04 D:\wsl\ubuntu22.04 E:\software\ubuntu_backup\Ubuntu-22.04.tar PS C:\Users\xxx> wsl -l -v NAME STATE VERSION Ubuntu-22.04 Stopped 2 PS C:\Users\xxx>
启动
PS C:\Users\xxx> wsl -d Ubuntu-22.04 root@BCNSZOA19874B:/mnt/c/Users/xxx#
3 升级
wsl版本的ubuntu没有装systemctl和service命令,因此这两个命令用不了。
官方文档https://learn.microsoft.com/en-us/windows/wsl/systemd中说了Ensure that your WSL version is 0.67.6 or newer.因此,升级吧。
wsl --update
升级后查看版本
PS C:\Users\xxx> wsl --version WSL 版本: 2.1.5.0 内核版本: 5.15.146.1-2 WSLg 版本: 1.0.60 MSRDC 版本: 1.2.5105 Direct3D 版本: 1.611.1-81528511 DXCore 版本: 10.0.25131.1002-220531-1700.rs-onecore-base2-hyp Windows 版本: 10.0.19045.4291 PS C:\Users\xxx>
现在可以使用systemctl命令了
4 网络配置
修改固定ip
编辑网络配置文件/etc/netplan/xxx.yaml
network:
version: 2
renderer: networkd
ethernets:
eth0:
dhcp4: no
addresses: [172.24.254.245/20]
启用该网络配置
szj@BCNSZOA19874B:~$ sudo netplan apply
5 官方文档
官网文档:https://learn.microsoft.com/en-us/windows/wsl/
- wsl的目的是为有需要linux和windows环境的开发者提供一个linux平台。
- WSL2使用虚拟化技术在轻量级VM内部运行Linux内核。Linux发行版在WSL2托管的虚拟机中作为独立的容器运行。
- 通过WSL2运行的Linux发行版将共享相同的网络名称空间、设备树(除了/dev/pts)、CPU/Kernel/Memory/Swap和/init二进制文件程序,但有自己的PID名称空间、Mount名称空间、User名称空间、Cgroup名称空间和init进程。
- wsl2确实使用了虚拟机,这和wsl1不同,它在Windows操作系统上通过一个轻量级的虚拟机运行一个完整的Linux内核,不同于WSL1直接在Windows内核上运行Linux二进制文件的做法
- WSL2中的Linux内核是由微软根据kernel.org上的源代码从最新的稳定分支构建的。该内核专门针对WSL2进行了调整,针对大小和性能进行了优化。
- WSL2使用完全的linux内核系统调用。WSL1使用了由WSL团队构建的转换层,而WSL2则包含了自己的Linux内核,具有完全的系统调用兼容性。