1.什么是wsl
wsl指的是windows的linux子系统,最初是wsl1.0,靠windows内核来模拟linux内核,并不运行真正的linux内核,所以有时会有兼容性的问题。
而wsl2.0是基于windows自带的虚拟机功能hyper-v的,它会把设备上的每个系统都变成运行在hyper-v上的虚拟机(包括本身的windows系统),也就可以真正实现linux内核
2.安装wsl2.0前的两个准备
2.1开启cpu虚拟化
大部分计算机都默认开启了cpu虚拟化,如果不确定,可以打开任务管理器-性能-cpu查看
2.2安装虚拟机、linux子系统功能
(1)在开始栏输入功能,打开控制面板的启用或关闭windows功能页面
(2)勾选下图所示的2项功能
点击确定后会提示重启,重启即可
3.安装、卸载
3.1更新与查看
开始栏输入cmd,以管理员身份运行
输入命令wsl --update以更新WSL的内核。然后输入命令wsl --list --online查看wsl所支持的linux系统:
3.2安装linux系统
3.2.1安装
比如说,现在要安装oraclelinux7.9,则输入命令wsl --install oraclelinux_7_9 --web-download
等待几分钟,会提示输入用户名和密码,输入即可。
之后cmd就会直接进入linux的指令界面。
3.2.2开启与关闭
(1)powershell
在桌面上右击-在终端中打开,使用powershell打开linux系统。关掉linux页面就代表关闭了linux系统
(2)cmd窗口
通过命令:wsl -d 系统名 即可登录linux子系统,通过命令:exit 退出
3.2.3查看
使用命令wsl --list -v可以看到设备上安装的所有linux
3.3卸载linux系统
使用命令:wsl --unregister 系统名
4.导入、导出
4.1导出(压缩)系统
使用命令wsl wsl --export oraclelinux_7_9 oraclelinux_7_9.tar,可以把我的oraclelinux7.9导出成压缩文件
导出路径就是执行命令的路径。
4.2导入系统
使用命令wsl --import 系统名(自己取一个即可) 导入后的路径 压缩包的路径
如上图所示,我将压缩好的oraclelinux7.9导入到D盘下的linux文件夹下,并重命名为orl7_9bk。如果删掉原系统,这个操作就相当于把系统从C盘挪到了D盘。
在D盘的linux文件夹下,可以看到一个hyper-v的镜像文件:
5.windows、linux文件共享
在linux中,windows系统的盘是直接以挂载盘的方式共享的,但这种方式的IO性能不是很好,最好还是把文件拷贝到linux中使用
而在windows中,也可以直接在文件管理处打开linux的文件
*而且,在windows中可以使用linux命令,在linux中可以打开windows程序
*linux中还可以以windows窗口的形式打开带UI功能的程序
6.网络配置
6.1wsl的配置文件
(1)wsl.conf:是存在于各个系统内的配置文件,只对子系统生效
(2).wslconfig:位于windows系统中,对所有子系统生效
修改配置文件后,要使用命令:wsl --shutdown重启wsl(这会关闭所有子系统),然后至少等8s,配置才能生效。
6.2ip共享
默认情况下,子系统的ip是使用的NAT功能,不能直接上互联网
可以在.wslconfig中进行设置,使得子系统与windows共享一个ip
在windows系统的C盘-users目录-用户名目录下,新建一个.wslconfig文件
然后以记事本功能打开该文件。在其中敲入:
[wsl2]
networkingMode=mirrored
然后保存退出。
使用wsl --shutdown重启wsl并等待8s后,即可看到linux已经与windows共享ip