WSL2的安装与使用-Windows与Linux双系统的新选择_wsl2

WSL2的安装与使用-Windows与Linux双系统的新选择

既要使用Windows系统满足日常生活协作办公又要使用Linux系统满足开发工作双系统来回重启好麻烦双主机成本高远程服务器好多限制WSL也许是更好的解决方案可以摆脱以上困扰

1. WSL是什么

WSL全称Windows Subsystem for Linux适用于Linux的Windows子系统

WSL就是Windows系统下的一个Linux子系统可以像一个应用一样安装在Windows系统中为在Windows系统下进行开发的人员提供基于Linux系统的开发环境并且可以选择不同Linux发行版本拥有与原生Linux系统相同的大部分功能

微软对WSL描述为适用于 Linux 的 Windows 子系统可让开发人员按原样运行 GNU/Linux 环境 - 包括大多数命令行工具、实用工具和应用程序 - 且不会产生传统虚拟机或双启动设置开销

2. 为什么会有WSL

在通用计算机系统领域Windows拥有着无法撼动的地位但是Linux具有免费、开源、高安全性、高可用性等特点在服务器、嵌入式开发、软件开发等领域中Linux仍是主流的选择。虽然Linux系统拥有诸多优点但是大部分人日常生活的使用还是无法脱离Windows系统所以有不少人更多是日常生活用Windows开发工作用Linux

微软现任CEO纳德拉上任以来开始拥抱开源微软一度成为开源项目最大贡献者在收购GitHub之后又推出了一系列开源产品如VScode、TypeScript等

微软在2018年发布了WSL在2019发布了WSL2作为一个重要的升级大大增加了文件系统的性能增加了对全系统调用兼容性的支持增加了对使用基于 GUI 的 Linux 应用程序的支持。目前Windows Server 2022已支持WSL2 Linux发行版也代表WSL2现在已经覆盖了Windows Desktop和Windows Server

当然微软作为一个商业公司此举还是为了吸引更多的用户使用Windows

3. 为要选择WSL2作为开发环境

3.1 WSL与WSL2有什么区别


从上面的比较表中可以看出WSL2架构在几个方面优于WSL1并且WSL2拥有完整的Linux内核。对于跨OS文件系统的性能微软也给出了解决办法可通过将项目文件存储在与处理项目时运行的工具相同的操作系统上进行处理

3.2 Windows与Linux系统的抉择

日常生活办公需要Windows开发工作需要Linux对于两者都有需求的人来讲都不可避免的要来回切换不同的操作系统。虽然部分人可以在一些Linux发行版上满足日常生活办公的需求但是不可否认Windows拥有更加强大的生态和便捷性更重要的是大家都是合作办公需要交互。针对双系统的需求有几种不同的解决方案各有利弊

解决方案
双主机分别安装Windows与Linux独立运行、物理隔离成本高、不同系统数据传输不便
单主机双系统真实操作系统使用麻烦需要重启切换
搭建远程服务器真实操作系统成本高、可能受到性能、带宽的限制
Linux系统虚拟机使用与真实操作系统基本无差异占用资源、运行效率低
WSL2使用便捷、无缝切换、不会产生传统虚拟机或双启动设置开销系统功能可能不完整、无法支持某些软件

对于Windows与Linux系统都有需求的人来说WSL2是一个非常棒的解决方案既能满足我们在日常生活办公中使用Windows又能在开发工作中方便快捷的使用Linux

但是WSL2毕竟是Windows下的Linux子系统其运行稳定性的上限还是取决于其宿主Windows系统。若是追求高安全性与稳定性的专用服务器、工作站等还是直接安装Linux系统

WSL2是一款优秀的产品如果是只是进行日常开发工作跑跑DemoWSL2不失为一个好的解决方案。

4. WSL2的安装

4.1 安装条件

必须运行 Windows 10 版本 2004 及更高版本内部版本 19041 及更高版本或 Windows 11

Tips若要检查 Windows 版本及内部版本号选择 Windows 徽标键 + R然后键入“winver”选择“确定” 。

4.2 启用所需Windows功能

安装WSL2需要启用windows功能中的虚拟机平台适用于Linux的Windows子系统
可以直接使用Windows+R快捷键在打开的「运行」窗口中直接执行optionalfeatures打开「Windows 功能」或者在控制面板中打开「Windows 功能」启用需要的功能然后重新启动


4.3 设置默认WSL版本

可以通过PowerShell或者cmd使用下面的命令设置默认版本

     wsl --set-default-version <Version>

若要将默认版本设置为 WSL1 或 WSL2请将<Version>替换为数字 1 或 2表示对于安装新的 Linux 发行版你希望默认使用哪个版本的 WSL例如


4.4 安装Linux发行版

可以在Microsoft Store里面通过关键字搜素查找相关应用然后选择一个需要的Linux发行版安装


若Microsoft Store打开不顺畅可以利用下面的方式安装Linux发行版

  1. 可以通过下面的命令查看可安装的Linux发行版
     wsl --list --online


  1. 然后通过下面的命令安装指定的Linux发行版
    wsl --install -d <Distribution Name>

安装指定的 Linux 发行版请将 <Distribution Name> 替换为你首选的 Linux 发行版的名称例如 Ubuntu-20.04


4.5 打开Linux发行版

我们可以通过下面的命令查看已经安装的Linux发行版

     wsl -l


  • 可以在所有应用里面找到Ubuntu然后打开可以将其固定任务栏或开始屏幕以方便快捷启动



  • 也可以在Windows的终端中直接打开Ubuntu



初次打开Linux发行版时需要设置用户名和密码输入密码时屏幕上不会显示任何内容为盲目键入。

4.6 导出与导入Linux发行版

我们可以将已经安装好的Linux发行版导出然后安装到其他盘内以节省C盘空间同时在协同开发中也可将导出的Linux发行版共享给他人使用以实现开发环境的统一

  1. 以安装好的Ubuntu为例导出Ubuntu的tar文件到D盘中

     wsl --export Ubuntu-20.04 D:\Ubuntu-20.04.tar
    
  2. 注销当前已经安装的Linux发行版

     wsl --unregister Ubuntu-20.04
    
  3. 将导出的Linux发行版重新导入并安装到D盘

     wsl --import Ubuntu-20.04 D:\Ubuntu-20.04 D:\Ubuntu-20.04.tar --version 2
    
  4. 设置默认登录用户

     ubuntu2004 config --default-user <UserName>
    

    <UserName>替换为初次打开Linux发行版时设置的用户名

5. WSL2的使用

5.1 文件操作

Windows系统下在我的电脑中可以找到Linux子系统的文件夹可以直接进行访问并与Windows系统下的文件进行相互操作


5.2 Linux子系统的配置

WSL2安装完成之后相关的系统配置就与真实的操作系统相似了
以Ubuntu为例作为国内用户为了方便我们使用可以更新国内的镜像源
对于使用Python编程的用户可以安装Anaconda配置相关环境
具体操作就不在此赘述了

5.3 使用VScode连接到WSL2

  • VS Code 利用 Remote-WSL 扩展使你能够直接从 VS Code 使用 WSL2 作为实时开发环境


  • 通过使用 VS Code 中的快捷方式 CTRL+SHIFT+P 调出命令面板以访问更多 VS Code 远程选项。 如果随后键入 Remote-WSL将看到可用的 VS Code 远程选项列表使你可以在远程会话中重新打开文件夹指定要在哪个发行版中打开


  • 可以选择Remote-WSL:Open Folder in WSL打开WSL中的文件夹


  • 那么利用WSL2中Python环境就可以正常编译运行代码并且在VS Code中可以操作WSL的终端


  • 若要从Linux发行版打开项目可以打开发行版的命令行并输入code .


5.4 使用Pycharm连接到WSL2

在Pycharm项目中可以在设置中将Python Interpreter修改为WSL2中构建的python环境利用WSL2中Python环境就可以正常编译运行代码并且可以操作WSL的终端




6. 总结

WSL作为一个开发人员的新选择满足了Windows与Linux系统的高效使用相比双系统、虚拟机等方案WSL更加便捷、高效。随着微软的不断更新和支持就Ubuntu而言WSL的体验已经非常接近真实的Ubuntu系统。更多有关WSL的信息可以参考微软官方文档

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6
标签: windowslinux