25.Windows安装Linux子系统及VS开发配置指南

1.前言

前面二十多章的内容,我们都是在介绍Windows平台上的开发方法,从本章开始,我们便要开始介绍一种新的系统使用:Linux

但在这之前,我们还得先理解一下什么是操作系统。

电脑系统,说白了其实就是一个大型的软件,这个软件的主要功能就是来管理我们的硬件。

比如你买的硬盘,网卡,内存等等等等,都是依靠系统帮我们统筹的,如果没有系统,我们想要操作这些东西,很难很难。

而我们编写的软件,其实就是运行在系统上的,比如我们最常看到的exe程序,这就是windows系统的可执行文件,它也只能在windwos上运行。

你将它放到linux系统,mac系统,安卓系统等等,正常情况下是运行不起来的。

所以首先,我们要理清楚一些事实:

  • 系统是帮助我们管理电脑硬件设施的

这句话很重要,这意味着我们所看到的图形界面其实对于管理电脑硬件来说是没必要的,而且图形界面还需要大量的设备和cpugpu算力来支持,反而影响了电脑的性能。

事实上,电脑最初的模样就是我们前面看到的控制台,管理硬件设施全部靠输入命令来实现,不存在什么鼠标、也没有什么图形界面。

  • 不同系统之间的软件是不能互用的

这句话也很重要,因为很多时候你都会看到跨平台这句话,这是一个巨大的优势。

比如前面我们使用的Qt库便是跨平台,这就意味着,只要你代码中没有用平台特定的API,而全部使用Qt提供的库文件,你几乎不用更改任何代码,就能编译任意版本的程序。

理解了以上的两个事实,我们就可以开始下一步操作了

2.安装Linux系统

2.1 两种安装方式

一般来说,我们都会在一台电脑上只安装一个系统,比如目前我的电脑就安装的windows系统。

如果为了学习,将window系统卸载了,安装linux系统,那也有点大可不必。

所以就有了两种方法:

  • 安装虚拟机

虚拟机也是一个软件,但它可以在软件内模拟电脑的硬件环境,然后你就可以在其中安装你想要安装的任意系统,这样你就能在使用Windows系统的同时,正常学习Linux系统。

  • 安装子系统

这是windows推出的一个子系统,可以让两个系统共存操作同一套真实的电脑硬件,不过子系统的功能会比真实的linux系统功能少一些。

上面两种方法还有一个最显著的区别就是,一般前者安装Linux系统都会带有界面,就和Windows系统差不多,可以使用鼠标点击操作等等。

而后者就不存在界面,完全通过命令行进行操作。

对于学习Linux系统来说,使用命令行来操作系统是必不可少的技能,一旦你习惯了之后,甚至有一种用鼠标点击是一件浪费时间的事情,明明一行命令就解决了,却还要鼠标点好多下到处找!

而且用命令的另一大优势就是,你可以将各种常用的命令写成脚本,下次使用的时候直接运行这个脚本就能自动执行,非常方便!

这么说你可能也体会不深,所以接下来就让我们开始实践学习Linux系统。

2.2 子系统安装Linux系统

为了尽快熟悉Linux系统的使用,我就选择用第二种方案了,不仅安装更加简单,而且纯命令控制也更容易让大家早点习惯linux系统。

如果需要在虚拟机安装linux系统的,可以参考本站的另外一篇文章:VMware安装

为了能够正常使用子系统,我们首先要安装Windows组件,用管理员权限打开一个终端,执行下面两条命令即可快速安装:

dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

一般安装完之后,可能还需要重启电脑才能生效。

然后我们就可以找到windows自带的商店:

image-20231230193629130

然后搜索Ubuntu,随便下载一个即可,各个版本差别不大:

image-20231231082312867

可能你会想明明是要下Linux系统,为啥这里下的Ubuntu

因为Linux系统是一个统称,专业来说,它只是一个内核,而Ubuntu就是依靠该内核发展而来的一种发行版。

发行版有很多,而Ubuntu就是其中非常流行的一个。

下载完成后,点击打开,就会弹出控制台进行安装,安装好了之后,来到下面这个界面:

image-20231231082554316

输入完用户名后,就是输入密码,要牢记这个密码。

注意,输入密码时,这里是不会有任何反应的,你输入完成后,直接按Enter键即可。

然后再重复一下你刚才的密码,我们就完成安装了。

2.3 安装错误的解决办法

如果你在安装时出现错误提示,出现错误代码0x800701bc,那么很可能是你电脑上的wsl版本太老。