认识并安装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. js 关于setTimeout和Promise执行顺序问题

    js 关于setTimeout和Promise执行顺序问题 异步 -- Promise和setTimeout 执行顺序   Promise 和 setTimeout 到底谁先执行 定时器的介绍 Jav ...

  2. google fonts 国内使用解决方案

    由于众所周知的原因,国内使用google font库有很大的问题. 解决方案1:使用国内镜像如360网站卫士常用前端公共库CDN服务 优点:使用方便 缺点:目标用户包含国外的开发者,不清楚国外用户的加 ...

  3. putty 远程登录ubuntu的方法

    首先,要确定linux的ssh服务已经开启了: 首先要确定开启了ssh-server: 安装:sudo apt-get install openssh-server             安装:su ...

  4. VasSonic Android源码解析

    VasSonic是腾讯推出的为了提高H5页面首屏加载速度而推出的高性能Hybrid框架,目前广泛应用在QQ商城等Hybrid界面中,以提高用户体验. https://github.com/Tencen ...

  5. C# 语法糖测试--未完待续

    /// <summary> /// string扩展方法,可以用字符串变量加.的形式直接调用,this是关键 /// </summary> public static clas ...

  6. LC-349

    Given two integer arrays nums1 and nums2, return an array of their intersection. Each element in the ...

  7. zabbix3.2 监控MongoDB

    本文参考连接: https://www.jianshu.com/p/a6b36d5b74ba 一.实验环境: MongoDB/zabbix-agent:172.16.88.44 zabbix-serv ...

  8. python向上取整以50为界

    import math def getNum(limit_num,num): if num%limit_num==0: print(num) else: num=math.ceil(num/limit ...

  9. 序列化器中钩子函数源码分析、many关键字源码分析

    局部钩子和全局钩子源码分析(2星) # 入口是 ser.is_valid(),是BaseSerializer的方法 # 最核心的代码 self._validated_data = self.run_v ...

  10. KTL 一个支持C++14编辑公式的K线技术工具平台 - 第五版,支持sqlite3,全新sqlite3zz语法超简单使用sqlite3; 添加方差等统计函数。

    K,K线,Candle蜡烛图. T,技术分析,工具平台 L,公式Language语言使用c++14,Lite小巧简易. 项目仓库:https://github.com/bbqz007/KTL 国内仓库 ...