1 WSL及优势
1.1 WSL简介
WSL(Windows Subsystem for Linux)是Windows操作系统中的一个功能,它允许用户在Windows环境下运行Linux应用程序。WSL提供了一个与Linux内核兼容的系统调用转发层,使得Linux二进制文件可以在Windows上直接运行,而不需要使用传统的虚拟机或容器的方式。
WSL有两个主要的版本:WSL1和WSL2。
- WSL1:WSL1是最早引入的版本,它通过将Linux系统调用转换为Windows系统调用来实现与Linux应用程序的兼容。WSL1提供了与Windows子系统的紧密集成,但在性能方面相对较低。WSL2:WSL2是WSL的下一代版本,它采用了虚拟化技术,并在Windows内核之上运行完整的Linux内核。这使得WSL2在性能方面比WSL1有了显著的提升,并提供了更好的兼容性和功能支持。
WSL的一些关键特点和优势包括:
- 原生兼容性: WSL允许在Windows上运行原生的Linux二进制文件,无需修改或重新编译。这使得开发者可以在Windows环境中轻松地访问和运行各种Linux工具、脚本和应用程序。
- 集成体验: WSL与Windows紧密集成,可以通过Windows Terminal或其他终端应用程序访问Linux环境。用户可以在同一窗口中同时运行Windows和Linux应用程序,无需切换操作系统或启动虚拟机。
- 轻量级虚拟化: WSL2利用了轻量级虚拟化技术,在Windows内核之上运行完整的Linux内核。这使得WSL2在性能方面表现更优,同时减少了资源占用和启动时间。
- 访问Windows文件系统: WSL可以直接访问Windows文件系统,使得在Linux环境中处理和操作Windows文件变得更加便捷。同时,WSL也支持与Windows应用程序之间的文件共享和互操作。
- 多个Linux发行版支持: WSL允许用户安装和运行多个不同的Linux发行版,如Ubuntu、Debian、SUSE等。这使得用户可以选择自己喜欢的Linux环境,并根据需要进行切换和管理。
WSL为开发者和用户提供了在Windows操作系统下同时享受Windows和Linux优势的灵活性和便利性。它成为了一个强大的开发工具,使得在Windows平台上进行跨平台开发和运行Linux应用程序变得更加容易。
1.2 WSL2的优势
与虚拟机相比,优势主要有:
WSL2(Windows Subsystem for Linux 2)与传统的虚拟机相比,具有以下一些优势:
- 性能更高:WSL2采用了虚拟化技术,但与传统虚拟机相比,它使用了轻量级的虚拟化解决方案,因此在性能方面表现更优。WSL2直接在Windows内核之上运行Linux内核,减少了性能损失,使得Linux应用程序在Windows下运行更加快速和高效。
- 无需独立启动虚拟机: WSL2不需要像传统虚拟机一样独立启动一个完整的虚拟机实例。它通过在Windows主机上执行一个轻量级的虚拟机代理来提供Linux环境。这意味着你可以快速启动、停止和切换不同的Linux发行版,而无需等待虚拟机的启动和关闭过程。
- 无需分配额外资源: 传统虚拟机需要为每个虚拟机分配独立的资源,包括内存、处理器和硬盘空间。而WSL2与Windows共享主机的资源,无需额外的资源分配,因此可以更高效地利用计算机的性能和资源。
- 无需虚拟机管理: WSL2与Windows集成紧密,通过Windows Terminal或其他支持的终端应用程序即可访问Linux环境,无需单独管理虚拟机。这简化了环境的设置和维护,并提供了更好的集成体验。
- 更好的文件系统性能: WSL2使用了特殊的文件系统桥接技术,使得在Windows文件系统和Linux文件系统之间的文件操作更加高效。这意味着在WSL2中访问和操作文件的速度更快,并且不会受到传统虚拟机中文件共享的性能限制。
注意:虚拟机仍然在某些特定情况下具有优势,例如需要完全隔离的环境、对硬件资源有特殊要求的场景等。但对于大多数开发者和普通用户来说,WSL2提供了更好的性能和更好的集成体验,使得在Windows上运行Linux应用程序更加便捷和高效。
2 WSL2 系统设置与安装
2.1 WSL2 设置(针对win11方案)
通过快捷键 ctrl+shift+esc 来查看CPU性能,图形下方有"虚拟化"的字样,看虚拟化是否生效?
控制面板->程序->启用或关闭 windows 功能 ->开启 Windows 虚拟化、 Linux 子系统(WSL2)、Hyper-V(中文有可能是虚拟化之类的字样)。参考下图,如下所示:
启用虚拟机平台 Windows 功能并确保在 BIOS 中启用虚拟化。打开Power Shell,以管理员权限输入命令:
bash
$bcdedit /set hypervisorlaunchtype auto
下载路径为:windows wsi WSL2内核,之后在Power Shell中打开,执行:
bash
$wsl --update
2.2 镜像导入
2.2.1 官方镜像导入
对于wsl,可以直接进入到微软商店,下载ubuntu对应的版本,在界面上点击直接安装即可。如下所示:
2.2.2 自定义镜像包导入
很多时候我们构建了一套环境,较为复杂,安装的软件较多,那么更适合自己打包并导出一套镜像,以后在其他电脑上导入后就可以直接使用了。对于自定义镜像,直接引入自定义的镜像包。打开Power Shell并输入命令:
bash
$mkdir install
$wsl --import Ubuntu-20.04 [Ubuntu自定义镜像包安装路径] [自定义镜像安装包 下载路径 比如D:\ubuntu_2004.tar] --version 2
$wsl --import Ubuntu-20.04 .\install\ ubuntu_2004.tar
2.3 镜像导出
一般导出操作为:
bash
$wsl --export <发行版> <文件名>
$wsl --export Ubuntu-20.04 ubuntu_wsl2.tar
2.4 镜像启动
接下来加载镜像并启动,则执行命令:
bash
$wsl -d Ubuntu-20.04
当然,如果只有一个镜像则可以直接执行wsl,会直接进入到镜像中。默认是root用户名,进入后 切换用户,执行:
bash
$su <用户名>
$su ags
注意:此时安装路径需全英文且不能有空格,否则会启动失败。
2.5 卸载系统
如果要卸载系统并删除,则执行:
bash
$wsl --unregister Ubuntu-20.04