让我们了解一下适用于 Linux 的 Windows 子系统是什么以及我们如何实现它。 如果您想在 Windows 机器上使用 Linux,但又不想沉迷于设置虚拟机或双启动模式的复杂过程,Windows Linux 子系统 (WSL) 是您的完美解决方案。
目录
- 什么是适用于 Linux 的 Windows 子系统 (WSL)?
- 在 Windows 上安装 WSL 的步骤
- 从 Windows 10 卸载 WSL 的步骤
- 如何将 Linux 发行版从 WSL 1 切换到 WSL 2?
- 适用于 Linux 的 Windows 子系统的主要功能
- 适用于 Linux 的 Windows 子系统的限制
- 结论
什么是适用于 Linux 的 Windows 子系统 (WSL)?
WSL 是 Windows 10 的一项功能,可创建轻量级 Linux 环境。 我们可以在使用传统的 Windows 桌面和应用程序的同时,直接在 Windows 系统上轻松使用 Linux 的大多数命令行工具、实用程序和应用程序。
使用 Windows 10 的 WSL 功能,我们可以避免为使用 Linux 设置虚拟机或双启动模式的复杂而乏味的任务。 使用 WSL 而不是在虚拟机中使用 Linux 的最大优势在于,与完整的虚拟机相比,它需要的 CPU、内存和存储等资源非常少。
它已被开发为所有喜欢 Windows 生产力工具但也喜欢使用 Bash 和其他常见 Linux 工具的开发人员的主要工具。 对于从事一些开源项目或部署到 Linux 服务器环境的 Web 开发人员来说,它变得很方便。
在 Windows 上安装 WSL 的步骤
在开始 WSL 的安装过程之前,请记住两件事:
- WSL 仅适用于 Windows 10 用户。
- WSL 支持 x64 和 ARM64 CPU。
以下是在 Windows 机器上安装 WSL 的六个步骤:
第1步: 从开始菜单中找到 Windows PowerShell 并右键单击它以管理员身份运行。
第2步: 在 PowerShell 窗口中运行以下命令以启用 Windows 的 WSL 功能。 笔记: 运行以下命令后,您的系统将自动重启。
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux
第 3 步: 下载并安装您选择的任何 Linux 发行版 微软商店 系统重新启动后。
或者您也可以使用 PowerShell(以管理员身份运行)执行此步骤,只需在 PowerShell 窗口中运行以下命令:
- 移动到c盘并创建一个新文件夹用作下载文件夹以下载
.appx
Linux 发行版的文件。
PS C:WINDOWSsystem32> cd PS C:> mkdir <folder_name>
- 移动到新创建的文件夹并下载
.appx
要安装的 Linux 发行版的文件。
PS C:> cd <folder_name> PS C:folder_name> Invoke-WebRequest -Uri https://aka.ms/wsl-Ubuntu-1804 -OutFile Ubuntu.appx -UseBasicParsing
笔记: 上面的命令将下载 Ubuntu 版本 18.04,但您必须更改 Linux 发行版的名称和版本来代替 Ubuntu-1804
对于其他 Linux 发行版和版本。
- 使用以下命令安装 Linux 发行版
PS C:folder_name> Add-AppxPackage .Ubuntu.appx
第4步: 从以下位置下载并安装 Linux 内核更新包以使用最新版本的 WSL (WSL 2) 这里.
第 5 步: 在开始菜单中搜索您在系统上安装的 Linux 发行版并启动它,您可能会被要求等待一两分钟,以便文件解压缩并存储在您的系统上。 但在未来,所有的发射都应该不到一秒钟的时间。
第 6 步: 为您的 Linux 发行版创建用户名和密码。 它特定于您在系统上安装的每个 Linux 发行版,与您的 Windows 用户名无关。 此帐户将成为 Linux 发行版的默认用户,并在启动时自动登录。 此帐户将被视为 Linux 管理员,具有运行权限 sudo
(超级用户执行)命令。
笔记: 在 WSL 上运行的每个 Linux 发行版都有自己的用户名和密码。 每次添加 Linux 发行版、重新安装或重置时,都必须配置 Linux 用户帐户。
从 Windows 10 卸载 WSL 的步骤
如果您感觉不再需要 WSL,您可以随时恢复在系统上安装 WSL 过程中所做的更改。 以下是完全卸载 WSL 所需的步骤:
第1步: 首先从您的系统中卸载 Linux 发行版。
您可以通过两种方式做到这一点:
1. 只需在开始菜单中搜索安装在系统上的 Linux 发行版,然后右键单击其图标,您将获得一个“卸载”选项,只需单击它即可。
2. 以管理员身份打开 Windows PowerShell 应用程序并执行以下步骤:
- 找出系统上安装的 Linux 发行版的完整名称,运行以下命令:
PS C:WINDOWSsystem32> Get-AppxPackage *partial_distro_name*
笔记: 将 partial_distro_name 替换为您系统上安装的 Linux 发行版的名称。 为了 example ‘Ubuntu’。
- 运行以下命令卸载 Linux 发行版:
PS C:WINDOWSsystem32> Get-AppxPackag <full_distro_name> | Remove-AppxPackage
笔记: 将 full_distro_name 替换为上述命令输出中显示的 Linux 发行版的全名。 为了 example ‘CanonicalGroupLimited.Ubuntu18.04onWindows’。
第2步: 运行以下命令禁用 Windows 的 WSL 功能: 笔记: 运行以下命令后,您的系统将自动重启。
PS C:WINDOWSsystem32> Disable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux
第 3 步: 卸载安装过程第4步下载并安装的Linux内核更新包。 请按照以下步骤操作:
- 去 开始菜单中的应用和功能
- 查找“用于 Linux 更新的 Windows 子系统”
- 点击“卸载”
如何将 Linux 发行版从 WSL 1 切换到 WSL 2?
WSL 从 WSL 1 到 WSL 2 的转换增加了以下功能:
- WSL 2 使用最新最好的虚拟化技术在轻量级实用程序虚拟机 (VM) 中运行 Linux 内核。 但是,它不提供传统的 VM 体验。
- WSL 2 支持完整的系统调用功能。
- WSL 2 提高了文件系统的性能。
如果您已按照上述步骤安装 WSL,则默认情况下分配给 Linux 发行版的 WSL 版本将是 WSL 2。或者您可以在系统上安装新的 Linux 发行版时手动将 WSL 2 设置为默认 WSL 版本通过 PowerShell 使用以下命令:
PS C:Userssanju> wsl --set-default-version 2
通过输入以下命令,可以通过 PowerShell 命令行轻松检查分配给系统上安装的每个 Linux 发行版的 WSL 版本:
PS C:Userssanju> wsl --list --verbose
您还可以通过 PowerShell 命令行输入以下命令,将每个 Linux 发行版配置为由任一版本的 WSL 支持:
PS C:Userssanju> wsl --set-version <distribution_name> <version_number>
笔记: 将 distribution_name 替换为 Linux 发行版的实际名称,并将 version_number 替换为数字“1”或“2”。
适用于 Linux 的 Windows 子系统的主要功能
WSL 提供以下主要功能:
- 在 Windows 上使用 Linux 命令行工具
- 选择您选择的任何 Linux 发行版(如 Ubuntu、Kali、Debian、Alpine、OpenSUSE 等)以在 Bash shell 中运行。
- 使用我们在本地 Windows 机器上安装的 Linux Bash shell 中的所有文件和文件夹
/mnt
文件夹。 为了 exampleC 可以访问为/mnt/c
在 Linux Bash shell 中。 - 访问基于 Linux/Unix 终端的文本编辑器,例如 Nano、Vim、Emacs 等。
- 使用 GNU/Linux 分发包管理器安装和使用其他基于 Linux/Unix 终端的软件。
- 使用 Linux/Unix 命令行界面调用 Windows 应用程序/工具
[tool-name].exe
像notepad.exe
Linux 终端上的命令将打开记事本应用程序。 - 在 Windows PowerShell 和命令提示符中运行和使用 Linux/Unix 终端只需打开 Windows PowerShell 或命令提示符并运行命令
wsl.exe
或者bash.exe
. - 使用 Linux 命令行服务,如 MySQL、PostgreSQL、 ApacheSSHD 等。
- 它允许我们在 Bash shell 中运行 Python 和 Node.js 控制台,只需键入命令
python3
运行 Python 控制台和node
运行 Node.js 控制台。
适用于 Linux 的 Windows 子系统的限制
以下是 WSL 的一些主要限制:
- 这是 Windows 的一项功能,仅适用于 64 位版本的 Windows 10。
- 仅支持以下处理器:
- x64
- ARM64 CPU。
- 不支持使用 Windows 应用程序和工具访问或更改存储在 Linux 发行版文件系统中的文件/目录。
- 不支持基于 Linux 的 GUI 桌面或 KDE、Gnome 等应用程序。
结论
Linux 的 Windows 子系统的最新发展增强了喜爱 Windows 操作系统及其生产力工具的开发人员的体验。 但是 WSL 仍然缺少很多真正的 Linux 操作系统提供的功能。 这就是为什么 Linux 仍然是开发人员的首要选择。
我希望本教程能帮助您在 Windows 10 机器上安装适用于 Linux 的 Windows 子系统,并帮助您开始 WSL 之旅。