适用于 Linux 的 Windows 子系统(WSL)的安装

参考资料:
https://docs.microsoft.com/zh-cn/windows/wsl/install-win10
https://docs.microsoft.com/zh-cn/windows/wsl/user-support
https://juejin.cn/post/6844903845097635854#heading-9


1. 什么是WSL

Windows Subsystem for Linux(简称WSL)是一个为在Windows 10上能够原生运行Linux二进制可执行文件(ELF格式)的兼容层。它是由微软与Canonical公司合作开发,目标是使纯正的Ubuntu 14.04 "Trusty Tahr"映像能下载和解压到用户的本地计算机,并且映像内的工具和实用工具能在此子系统上原生运行。

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

可以实现:

  • 在 Microsoft Store 中选择你偏好的 GNU/Linux 发行版。
  • 运行常用的命令行软件工具(例如 grep、sed、awk)或其他 ELF-64 二进制文件。
  • 运行 Bash shell 脚本和 GNU/Linux 命令行应用程序,包括:工具:vim、emacs、tmux;语言:NodeJS、Javascript、Python、Ruby、C/ C++、C# 与 F#、Rust、Go 等;服务:SSHD、MySQL、Apache、lighttpd、MongoDB、PostgreSQL。
  • 使用自己的 GNU/Linux 发行版管理器安装其他软件。
  • 使用类似于 Unix 的命令行 shell 调用 Windows 应用程序。
  • 在 Windows 上调用 GNU/Linux 应用程序。

1.1 Windows Subsystem for Linux(WSL) 与虚拟机的区别

相对于虚拟机,Windows Subsystem for Linux 有以下优点:

  1. 性能更好。
    由于实现更加底层,所以性能要比虚拟机好很多。
  2. 与 Windows 共享的文件系统。
    子系统是可以直接访问硬盘中的所有文件的,甚至可以执行 .exe 文件。
  3. 跨平台执行
    子系统一个很强大的功能是可以跨平台执行,在 Linux 中执行 Windows 程序,在 Windows 中执行 Linux 程序。
    如:在 Windows 命令行中,可以直接使用 bash:命令行中输入bash -c "sudo apt-get update"
    在这里插入图片描述
    在这里插入图片描述
    再如:在Linux子系统内执行Windows程序,只需在命令中加上 .exe 后缀,就可以直接执行:ipconfig.exe
    在这里插入图片描述

2. 什么是WSL2

WSL 2 是适用于 Linux 的 Windows 子系统体系结构的一个新版本,它支持适用于 Linux 的 Windows 子系统在 Windows 上运行 ELF64 Linux 二进制文件。 它的主要目标是提高文件系统性能,以及添加完全的系统调用兼容性。

这一新的体系结构改变了这些 Linux 二进制文件与Windows 和计算机硬件进行交互的方式,但仍然提供与 WSL 1(当前广泛可用的版本)中相同的用户体验。

单个 Linux 发行版可以在 WSL 1 或 WSL 2 体系结构中运行。 每个发行版可随时升级或降级,并且你可以并行运行 WSL 1 和 WSL 2 发行版。 WSL 2 使用全新的体系结构,该体系结构受益于运行真正的 Linux 内核。

3. 安装WSL2

3.1 启用适用于 Linux 的 Windows 子系统

3.1.1 方法一

需要先启用“适用于 Linux 的 Windows 子系统”可选功能,然后才能在 Windows 上安装 Linux发行版。

以管理员身份打开 PowerShell 并运行:

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

3.1.2 方法二

打开控制面板,点击程序
在这里插入图片描述
再点击启用或关闭Windows功能。
在这里插入图片描述
将适用于Linux的Windows子系统打上勾。
在这里插入图片描述

3.1.3 重启(可选项)

建议现在转到第四节,更新到 WSL 2。

  • 但如果只想安装 WSL 1,现在可以重新启动计算机,然后继续执行第八节:安装所选的 Linux 发行版
  • 若要更新到 WSL 2,请先不要重新启动计算机,然后继续执行第四节。

4. 检查运行 WSL 2 的要求

若要更新到 WSL 2,需要运行 Windows 10。

  • 对于 x64 系统:版本 1903 或更高版本,采用 内部版本 18362 或更高版本。
  • 对于 ARM64 系统:版本 2004 或更高版本,采用 内部版本 19041 或更高版本。
  • 低于 18362 的版本不支持 WSL 2。 使用 Windows Update 助手更新 Windows 版本。

若要检查 Windows 版本及内部版本号,选择 Windows 徽标键 + R,然后键入“winver”,选择“确定”。 (或者在 Windows 命令提示符下输入 ver 命令)。

若要更新,在“设置”菜单中更新到最新 Windows 版本。
在这里插入图片描述

5. 启动虚拟机功能

安装 WSL 2 之前,必须启用“虚拟机平台”可选功能。

以管理员身份打开 PowerShell 并运行:

dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

重新启动 计算机,以完成 WSL 安装并更新到 WSL 2。

6. 下载 Linux 内核更新包

下载地址:适用于 x64 计算机的 WSL2 Linux 内核更新包
如果下载不下来,也可已通过此地址下载:https://pan.baidu.com/s/18TRirPxWaVvCcXFB4epLLQ
提取码:2222

备注:
如果使用的是 ARM64 计算机,请下载 ARM64 包。 如果不确定自己计算机的类型,请打开命令提示符或 PowerShell,并输入:systeminfo | find "System Type"

运行下载的更新包进行安装。 (双击以运行 - 系统将提示你提供提升的权限,选择“是”以批准此安装。)

安装完成后,请继续执行下一步。

7. 将 WSL 2 设置为默认版本

打开 PowerShell,然后在安装新的 Linux 发行版时运行以下命令,将 WSL 2 设置为默认版本:

wsl --set-default-version 2

8. 安装所选的 Linux 发行版

打开 Microsoft Store,并选择你偏好的 Linux 发行版。
在这里插入图片描述
这里以安装Ubuntu为例,点击Ubuntu,再点击获取。
在这里插入图片描述
首次启动新安装的 Linux 发行版时,将打开一个控制台窗口,系统会要求你等待一分钟或两分钟,以便文件解压缩并存储到电脑上。 未来的所有启动时间应不到一秒。
在这里插入图片描述

然后,需要为新的 Linux 发行版创建用户帐户和密码。

9. 为新的 Linux 发行版创建用户帐户和密码

启用 WSL 并从 Microsoft Store 中安装 Linux 发行版后,在打开新安装的 Linux 发行版时将会要求你完成的第一步是创建帐户,包括用户名和密码。

注意:

  • 此用户名和密码特定于安装的每个单独的 Linux 发行版与 Windows 用户名无关
  • 创建用户名和密码后,该帐户将是发行版的默认用户,并将在启动时自动登录。
  • 此帐户将被视为 Linux 管理员,能够运行 sudo (Super User Do) 管理命令。
  • 在适用于 Linux 的 Windows 子系统(WSL)上运行的每个 Linux 发行版都有其自身的 Linux 用户帐户和密码。 每当添加分发版、重新安装或重置时,都必须配置一个 Linux 用户帐户。
    在这里插入图片描述

9.1 更新和升级包

大多数发行版随附了一个空的的包目录或最简单的包目录。 我们强烈建议定期更新包目录并使用发行版的首选包管理器升级已安装的包。 对于 Debian/Ubuntu,请使用 apt:

sudo apt update && sudo apt upgrade

在这里插入图片描述

Windows 不会自动更新或升级 Linux 发行版。 大多数 Linux 用户往往倾向于自行控制此任务。

9.1.1 配置镜像源

如果下载速度太慢,可以配置一下镜像源

vim /etc/apt/sources.list

然后在文档的最前面添加一下内容。

# 阿里源
deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse

在这里插入图片描述

保存退出后,更新源。

apt-get update
apt-get upgrade

在这里插入图片描述

9.2 重置Linux密码

若要更改密码,请打开 Linux 分发版(例如 Ubuntu)并输入以下命令:
passwd

系统会要求你输入当前密码,然后要求输入新密码,之后再确认新密码。

9.3 忘记密码

  1. 打开 PowerShell,并使用以下命令进入默认 WSL 分发版的根目录:wsl -u root
    如果需要在非默认分发版中更新忘记的密码,请使用命令:wsl -d Debian -u root,并将 Debian 替换为目标分发版的名称。
  2. 在 PowerShell 内的根级别打开 WSL 发行版后,可使用此命令更新密码:passwd <WSLUsername>,其中<WSLUsername>是 DISTRO 中帐户的用户名,而你忘记了它的密码。
  3. 系统将提示你输入新的 UNIX 密码,然后确认该密码。 在被告知密码已成功更新后,请使用以下命令在 PowerShell 内关闭 WSL:exit

至此,就已成功安装并设置了与 Windows 操作系统完全集成的 Linux 发行版!

10. 安装Windows 终端((Windows Terminal))(可选)

Windows 终端可启用多个选项卡(在多个 Linux 命令行、Windows 命令提示符、PowerShell 和 Azure CLI 等之间快速切换)、创建键绑定(用于打开或关闭选项卡、复制粘贴等的快捷方式键)、使用搜索功能,以及使用自定义主题(配色方案、字体样式和大小、背景图像/模糊/透明度)。更多详细信息,请点击: 什么是Windows终端

10.1 安装

可以从 Microsoft Store 安装 Windows 终端。
如果无法访问 Microsoft Store,GitHub 发布页上发布有内部版本。 如果从 GitHub 安装,终端将不会自动更新为新版本。
在这里插入图片描述

10.2 首次运行

可以通过开始菜单打开Windows Terminal。
在这里插入图片描述
也可以在命令行窗口中输入wt打开Windows Terminal。
在这里插入图片描述
安装后打开终端时,它会在打开的选项卡中通过 PowerShell 作为默认配置文件启动。
在这里插入图片描述

10.3 动态配置文件

如果已安装 WSL 发行版或多个版本的 PowerShell,终端将自动为你创建配置文件。 详细了解动态配置文件页上的动态配置文件。

10.4 打开新选项卡

可以按 ctrl+shift+t或选择 +(加号)按钮,打开默认配置文件的新选项卡。 若要打开其他配置文件,请选择 + 按钮旁的 ˅(箭头)打开下拉菜单。 然后可以从中选择要打开的配置文件。
在这里插入图片描述

10.5 打开新窗格

可以使用窗格并行运行多个 shell。 若要打开窗格,可以使用alt+shift+d。 此键绑定将打开焦点配置文件的重复窗格。 详细了解窗格页上的窗格。

10.6 配置

若要自定义 Windows 终端的设置,请在下拉菜单中选择“设置”。 这会在默认文本编辑器中打开 settings.json 文件。 (默认文本编辑器在 Windows 设置 中定义。)
终端支持自定义影响整个应用程序的全局属性、影响每个配置文件的设置的配置文件属性以及允许你使用键盘与终端交互的键绑定。

10.7 命令行参数

可以使用命令行参数在特定配置中启动终端。 这些参数允许通过自定义配置文件设置打开具有特定选项卡和窗格的终端。 详细了解命令行参数页上的命令行参数。

11. Linux与WIN的文件系统切换

11.1 从WIN进入Linux文件系统

11.1.1 直接打开Ubuntu

在这里插入图片描述
在这里插入图片描述

11.1.2 在命令行窗口(命令提示符)中打开WSL

打开命令行窗口后,输入wsl,即可启动。
在这里插入图片描述
或者在命令行窗口中输入bash.exe
在这里插入图片描述

11.1.3 利用Windows终端(Windows Terminal)打开wsl

首先Windows Terminal。
在这里插入图片描述
可以通过点击+号邮编的下三角号,进入WSL。
在这里插入图片描述
在这里插入图片描述

也可以在powershell中直接输入wsl打开WSL。
在这里插入图片描述

11.2 从Linux进入WIN文件系统

从子系统中是可以直接访问 Windows 路径中的文件的,Windows 中的磁盘挂载在了 /mnt 目录下。

输入cd /mnt即可进入。
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/mahoon411/article/details/112493353