认识并安装WSL(基于Windows的Linux子系统)

什么是WSL

WSL(Windows Subsystem for Linux),这是在windows平台运行的linux子系统。也就是说可是不用安装虚拟机的情况下获得相对完整的linux系统体验。

WSL相比于虚拟机(eg:VMware、Virtualbox)

优点

  • 轻量化,最大程度减少了电脑负担并且可以体验接近原生的Linux环境。
  • 可以实现Linux与Windows系统的文件互通。windows文件挂载在wsl的 /mnt 目录下。

缺点

  • IP地址不固定。
  • wsl和windows住在同一个房子里,如果windows系统损伤会直接影响wsl,但是虚拟机会有快照功能。
  • 不是百分百的Linux环境。

WSL版本介绍

  • WSL1:初代版本,WSL1使用翻译层将 linux 系统调用转化成 windows 系统调用,没有使用的 VM,不支持内核程序。更像是一个轻量化Linux模拟器而非虚拟环境。
  • WSL2:WSL2使用了一个轻量级的、无需维护的虚拟机,并在这个虚拟机中运行了一个完整的 linux 内核,可以运行比如Docker等程序。WSL 2 使用一个 VHD 虚拟磁盘文件作为 linux 发行版的根目录,其中使用 ext4文件系统格式,极大提升了IO性能。但是 WSL 2 使用了 Hyper-V,由于兼容性原因不能运行 WSL2和VMWare或VirtualBox(听说VMware&Virtualbox的新版本里解决了此问题,我没测试过。),WSL 1 不存在此问题。

个人建议安装WSL2,体验更接近虚拟机的Linux环境

安装WSL & 更新WSL2内核

声明:WSL在windows10个别较低版本以及Windows以下版本无法安装(大多数Windows10以及所有Windows11电脑都满足安装条件)

安装WSL

1.点击窗口按钮,搜索“启用或关闭Windows功能”并打开:

2.勾选“适用于Linux的Windows子系统”&“虚拟机平台”,点击确定,选择“暂不重启”。

3.点击窗口按钮,搜索“开发者设置”并进入,之后打开“开发人员模式”。

4.重新启动电脑。等待WSL组件的安装完成。

5.安装完成之后可以在文件资源管理器看到WSL子系统的文件目录。

更新WSL2内核

1.下载内核文件:

2.双击安装包根据提示进行安装,之后点击 Finsh 完成安装。

3.鼠标在窗口按钮处点击右键,点击Windows终端(管理员)

之后在打开的终端输入以下命令对WSL进行更新。

wsl --update

再之后输入以下命令将WSL2设为默认版本。

wsl --set-default-version 2

安装Linux发行版

1.打开Microsoft Store(微软商店),搜索Linux,结果中有几种Linux发行版: Ubuntu(22.04、20.04.4、18.04)、Debian、OpenSUSE、Oracle Linux、Kali Linux(黑客Linux系统,慎用!)

小科普

  • Linux发行版=Linux(Kernel)内核+(Free Software)自由软件+Tools(工具)+可完整安装程序
  • 所有的Linux发行版都使用同样的Linux内核(Linux内核网站https://www.kernel.org/),这就相当于同样是汽车,内部的构造、引擎都是基本相同的,但是车的外壳、外观……是不同的。

我个人推荐Debian或者Ubuntu,Debian最纯净,Ubuntu基于Debian并且安装包里工具更多较为省事。(Ubuntu目前安装22.04的最新版本可能会不稳定,推荐安装20.04.4)

2.选中自己喜欢的发行版本,获取、安装即可。(如果由于网络问题造成获取或者安装的失败,那就关闭微软商店重新进入,点击重试,多试几次会成功的)

打开WSL安装的Linux发行版

打开安装完成的Linux,会进入终端(就这个黑色命令行框框),进行初始化:Installing……

之后根据提示注册自己的用户名和密码,完成初始配置,开始使用Linux

对于Windows10用户(安装Windows Terminal)

这个黑色的命令行框框叫做终端,也是使用Linux的界面。

Windows10默认可能是cmd或者powershell,界面不太美观,建议安装Windows Terminal(Windows新款的终端,界面美观,功能强大,自定义程度高。)。直接去微软商店搜索并安装即可。

Windows11已经自带此程序。

安装完成!

结尾

机器人梦航天 致力于分享更多优质的知识和资源,主要关于机器人、计算机。

我希望可以让小白们明白学习的路线和方法,少走弯路。让专业的人能觉得我的分享是有那么一点点参考价值的。

原创内容创作不易,希望关注点赞支持。

认识并安装WSL的更多相关文章

  1. 不使用Store安装WSL

    Windows Store经常会因为各种原因打不开, 这时候我们可以尝试直接下载安装WSL     1. PowerShell里运行下载: PS C:\WINDOWS\system32> Inv ...

  2. Windows Store无法联网时安装WSL

    Windows Store无法联网时安装WSL 1 打开powershell 输入命令: Invoke-WebRequest -Uri https://aka.ms/wsl-ubuntu-1604 - ...

  3. 如何在 Windows 10 上安装 WSL 2

    翻译自 Joey Sneddon 2020年10月30日的文章<How to Install WSL 2 on Windows 10> [1] 如果您想在最新的 Windows 版本中尝试 ...

  4. Win10 手动安装 WSL 并修改默认登录用户为 root

    首先要在"程序和功能"里面开启这个服务 然后重启系统使其生效. 然后打开 PowerShell,输入: Invoke-WebRequest -Uri https://aka.ms/ ...

  5. 关于win10安装wsl子系统Ubuntu图形界面的错误解决

    解决了https://blog.csdn.net/weixin_30834783/article/details/102144314Xserver个人使用的是VcXsrv. 在WSL中配置环境变量DI ...

  6. Bash On Win10 (WSL) 安装 Odoo 开发环境

    前段时间微软发布了Bash On Win10,虽然目前还是Beta阶段,但是一想到再也不用折腾虚拟机上跑odoo了,就忍不住手痒,尝试在WSL上安装了一下odoo,结果比较惊喜,感觉可以抛弃Vitru ...

  7. WSL(Windows Subsystem for Linux)的安装与使用及 mongodb安装

    有关WSL的介绍这里就不做解释了.另外,本文仅适用于win10 build 16215以及之后的版本,之前的版本可参考官方链接. (可使用“winver”命令查看windows版本号) 安装:1.  ...

  8. 关于WSL(Windows上的Linux子系统)的简单介绍及安装

    WSL,Windows Subsystem for Linux,就是之前的Bash on [Ubuntu on] Windows(嗯,微软改名部KPI++),在wsl环境下我们可以运行一些Linux程 ...

  9. Windows Subsystem for Linux(WSL)安装记录

    什么是WSL Windows Subsystem for Linux(简称WSL)是一个为在Windows 10上能够原生运行Linux二进制可执行文件(ELF格式)的兼容层.它是由微软与Canoni ...

随机推荐

  1. 获取Java数据库中结果集的每个字段名和个数

    /** * 查询到多条数据, 封装到List<Map> */public List<Map<String, Object>> queryForMapList(Str ...

  2. C与C++的区别之函数调用堆栈

    函数调用栈 1.函数参数带入(入调用方函数的栈,从右向左入栈) int fun(int a); int fun(int a, int b); int fun(int a, int b, int c); ...

  3. 原理图Checklist

    类别 描述 检视规则 原理图需要进行检视,提交集体检视是需要完成自检,确保没有低级问题. 检视规则 原理图要和公司团队和可以邀请的专家一起进行检视. 检视规则 第一次原理图发出进行集体检视后所有的修改 ...

  4. Amaze UI 模版中心上线丨十几款高质量优秀模版免费提供!

    Amaze UI模版中心终于上线了,目前汇聚了包含企业门户.新闻资讯.管理后台等多个领域的模版,全都可以免费下载. Amaze UI模版中心后续还会增加更多的模版以及领域,请各位持续关注. 模版中心的 ...

  5. CSS揭秘之《多重边框》

    1.box-shadow还接受第四个参数(称作"扩张半径"), 通过指定正值或负值, 可以让投影面积加大或者减小2.如果我们想要一道实线边框其实也是可以通过box-shadow来模 ...

  6. 前端每日实战:116# 视频演示如何用 CSS 和原生 JS 开发一个监控网络连接状态的页面

    效果预览 按下右侧的"点击预览"按钮可以在当前页面预览,点击链接可以全屏预览. https://codepen.io/comehope/pen/oPjWvw 可交互视频 此视频是可 ...

  7. Android开发小经验

    1. TextView中的getTextSize返回值是以像素(px)为单位的, 而setTextSize()是以sp为单位的. 所以如果直接用返回的值来设置会出错,解决办法是 用setTextSiz ...

  8. 将对象push到数组中组成对象数组

    let items = { key:'', value:'' } for(let i = 0;i<len;i++){ items.value = _this.ills[i].sName; ite ...

  9. 前端框架小实验-在umi框架中以worker线程方式使用SQL.js的wasm

    总述:在Win7环境下配置umijs框架,在框架中用worker线程方式使用SQL.js的wasm,在浏览器端实现数据的增删改查以及数据库导出导入. 一.安装node.js 1.Win7系统只支持no ...

  10. Mybatis实现多级菜单查询

    写在前面 最近实现一个小需求,前端需要菜单的信息,需要向后端发起获取菜单的请求,菜单又是一个多级菜单,后端我用的mybatis进行数据库查询,实现的方法我这里想到有两种,欢迎大家补充. 1. 在Men ...