在Win10中安装Ubuntu

为什么要使用WSL

  • 本地调试/测试服务器程序
    工作电脑是Win10系统,但目前大部分公司的服务器都是linux系统,某些要部署到服务器上的程序需要在本地进行测试时,因启动脚本都是采用linux shell编写的,而且通过git下载到本地的脚本文件会自动转为windows的换行模式,使用git的bash也不能正确的启动这些脚本,给调试带来不便。
  • 学习linux命令
    作为互联网人免不了要做一些服务器的部署或运维操作,一些常用的linux命令还是需要了解和掌握的。

在这些情况下,安装双系统的话双系统需要切换使用,不能同时使用,不能很好的满足要求。那么有没有办法在windows中同时使用linux系统呢,这就是WSL提供的功能。

WSL初探

WSL(Windows Subsystem for Linux),适用于 Linux 的 Windows 子系统,可让开发人员按原样运行 GNU/Linux 环境 - 包括大多数命令行工具、实用工具和应用程序 - 且不会产生传统虚拟机或双启动设置开销。
在WSL中可以:

  • 安装偏好的Linux分发版,Ubuntu/Red Hat/CentOS/Debian。
  • 运行常用的命令行工具(例如grep、sed、awk等)。
  • 运行Bash shell脚本和Linux命令行应用程序。
  • 使用Linux分发包管理器安装其他软件。
  • 使用类似于Unix的命令行shell调用Windows应用程序。
  • 在Windows上调用Linux应用程序。

简而言之,使用WSL相当于在Windows中内嵌了一个Linux系统,它与所属的Windows系统可以互相访问本地系统,可以使用Windows的网络访问互联网,继承Windows中配置的hosts等,除了Linux GUI操作以外的其他操作,都可以在wsl中使用。

WSL当前有两个版本,WSL 1和WSL 2,目前的最新版本是2,相对于版本1,WSL 2主要的区别是提高了文件系统的性能和系统调用的兼容性。推荐使用WSL 2。

WSL 2和1的区别和新增功能详情参考:比较 WSL 1 和 WSL 2 | Microsoft Docs

安装WSL

1. 启用WSL

需要先在Windows中启用“适用于Linux的Windows子系统”。
打开“控制面板”->“程序和功能”,在左侧栏选择“启用或关闭Windows功能”,在打开的对话框中找到“适用于Linux的Windows子系统”并打勾,点击【确定】关闭对话框,等待系统安装新功能完成,并按提示重启电脑。


启用适用于Linux的Windows子系统

也可以通过命令行来启用该功能:

  1. 按“Win+X”键,选择“Windows PowerShell(管理员)”。
  2. 在打开的Power Shell中运行以下命令:
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
2. 更新到WSL 2

上一步完成后,系统内已经安装好了WSL 1,如果不想使用WSL 2,可以直接跳到“3. 安装Linux分发版”。
WSL 2要求Win10 版本不能低于1909(18363.1049),如果系统版本低于此版本,请先升级Win10系统。

2.1 启用虚拟机功能

安装 WSL 2 之前,必须启用“虚拟机平台”可选功能。 计算机需要虚拟化功能才能使用此功能。
有两种方式可以启用虚拟机功能:

  1. 同步骤1“启用WSL”功能一样,通过“启用或关闭Windows功能”对话框,勾选“虚拟机平台”,确定后等待安装或重启。
  2. 以管理员身份打开Power Shell并运行以下命令:
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
2.2 更新WSL 2

自动方式:通过Windows更新,下载安装WSL更新。
手动方式:下载并安装 适用于 x64 计算机的 WSL2 Linux 内核更新包
安装完成后可能需要重启才能生效。

2.3 将WSL 2设置为默认版本

将WSL 2设置为WSL的默认版本,以便在安装或导入Linux分发版的时候使用WSL 2。
打开命令提示符或Power Shell,输入以下命令并运行:

wsl --set-default-version 2
3. 安装Linux分发版

打开“Microsoft Store”,在搜索框中输入“linux”,选择偏好的Linux分发版并下载安装。
目前商店内的Linux分发版还不太多,Ubuntu 20.04 LTS是一个不错的选择。


image.png

安装完成后可以通过wsl查看分发版是否可用:

wsl -l -v
列出已安装的分发版及状态

上图表明Ubuntu-20.04分发版已安装好,使用的是WSL 2,“*”号表示是默认的分发版,可以不用输入名称通过“wsl”命令直接启动。

4. 启动Linux

安装分发版后,在命令提示符或Power Shell中输入“wsl”命令可以直接启动默认的分发版,启动后即进入分发版的shell中,shell的当前工作目录为启动时的windows命令提示符或Power Shell的当前工作目录在Linux中的表示形式,如下图:

启动默认的Linux分发版

上图表示启动默认的Linux分发版(当前默认的分发版为Ubuntu-20.04),并且以root用户的身份登录,当前工作目录为启动时的E盘中的workspace目录。
Windows文件系统中的各个盘均挂载到Linux分发版的/mnt目录下,例如C盘挂在/mnt/c,D盘挂在/mnt/d,以此类推,可以方便的在wsl中在两个系统间传输文件。

小提示
  1. 有时候进程管理器中会发现一个“Vmmem”的进程占用比较多的内存,且不能通过进程管理器结束。这个进程是wsl的一个内存管理进程,通常关闭了wsl的窗口后会自动终止,如果没有终止,可以通过wsl --shutdown指令来结束该进程。

参考资料

  1. 适用于 Linux 的 Windows 子系统文档 | Microsoft Docs
  2. 适用于 x64 计算机的 WSL2 Linux 内核更新包
  3. 适用于 ARM64 计算机的 WSL2 Linux 内核更新包
  4. Windows Update 助手

你可能感兴趣的:(在Win10中安装Ubuntu)