如果我在十几年前跟你说「Microsoft Love Linux」,你肯定认为我鬼打墙了。但当我们看到 Windows Subsystem for Linux(WSL)时,就印证了这句话的真实性。WSL 2 可以在 Windows 11 中安装和运行完整 Linux Kernel 的 Linux 环境,如果你还在使用 Windows 10,也可以使用 WSL 2,并在两者之间实现相对紧密的集成。
WSL 的第一版没有内核,并且性能远不如现在的 WSL 2。尽管 WSL 本质上仍然是一台虚拟机,但它与 Windows Host 主机之间存在紧密联系。
对于开发人员来说,WSL 意味着无需使用传统虚拟机,就可以实现 Windows 和 Linux 之间的无缝访问。当然,也不必是开发人员,对于所有用户来说,无论是「新手上路款」还是「老鸟归巢款」的 Linux 用户,WSL 都是一个易于安装且灵活强大的可靠工具。
Microsoft 在入门体验方面做了很多工作,在 Windows 11 中安装和使用 WSL 2 更容易上手了。下面系统极客就为大家详细介绍。
为什么使用 WSL
将一个操作系统(OS)安装到另一个操作系统内似乎比较矛盾。这样做有何意义?为什么将 Linux 安装到 Windows 中呢?
WSL 免费且简单易用
Windows Terminal 标签页中的 WSL
最直接的原因是 Linux 免费。Windows Subsystem for Linux(WSL)易于安装和卸载、简单、快捷,如果您对 Linux 感兴趣,就值得一试。
WSL 无需安装虚拟机
如果不想安装 Hyper-V、VirtualBox 或 VMWare 等虚拟机,WSL 就是最佳选项。它占用的空间和资源(CPU 和 RAM)也更少。
Windows 11 中的 Hyper-V
WSL 支持多种 Linux 发行版
目前 Microsoft Store 中为 WSL 提供了十来款 Linux 发行版,其中就包括:Ubuntu Desktop/Server、Debian、Kali、SUSE Linux Enterprise Server、OpenSUSE 和 Oracle Linux 的不同版本和变体。
Linux 发行版
你还可以使用以下 PowerShell 或「命令提示符」命令查看所有可用的发行版:
wsl --list --online
查看可用 WSL 发行版
WSL 有利于职业发展
我们可以在工作和学习方面通过 WSL 使用各种 Linux 发行版,如:Ubuntu、Debian GNU/Linux、Kali 和 Alpine WSL。Linux 在服务器方面占有很大的市场份额,越来越多的组织也正在将 Linux 用于桌面。
工作效率
学生可以将其用于教学过程,而不是去计算机实验室; 安全研究人员可以使用 Kali 发行版及其包含的工具;Web 开发人员、程序员和人工智能研究人员可以使用 Debian 或 Alpine WSL作为他们的开发环境。
WSL 适用于开源应用程序
大多数开源软件(OSS)首先是为 Linux 环境开发的。 因此,OSS 正在成为多个行业的标准,例如:游戏开发、图形设计和物联网(IoT)嵌入式系统。
考虑一下开源软件吧,它们通常是免费的。希望使用 Photoshop?可以考虑使用 GIMP;想学习 CAD 但买不起 AutoCAD?试试 OpenSCAD;想让视频编辑更上一层楼,但 Adobe Premiere 却遥不可及?Linux 有 Openshot。
在 Windows 11 中使用 Linux 应用程序
更令人印象深刻的是,通过 WSL,你可以像 Windows 应用程序一样,在窗口中运行这些 Linux GUI 应用程序。而不需要在 Hyper-V、VirtualBox 中设置单独的虚拟机,也不需要第二台物理电脑或双系统。
你可以同时在 Windows 中使用 Visual Studio,通过 WSL 在 Linux 上用 GIMP 做照片编辑,而不会干扰你的工作流程。
通过 Windows Terminal 同时运行多个 Linux 发行版
如果你是 Windows Terminal 「多标签」功能的用户,可以在单独的标签中同时运行多个不同的 Linux 发行版。
Windows Terminal 标签页中的 Linux 发行版
使用 WSL 1 还是 WSL 2
WSL 有两个版本:WSL 1 和 WSL 2。默认为版本 WSL 2,这对大多数用户来说没有什么问题。但是,如果你不确定系统是否可以处理完整的 Linux 内核安装,或者不使用 Docker 之类的功能,那么 WSL 1 就够用了。
版本切换也很容易:在 PowerShell 中执行如下命令即可:
切换为 WSL 2:
wsl --set-default-version 2
切换为 WSL 1:
wsl --set-default-version 1
切换 WSL 版本
WSL 1 和 WSL 2 功能比较
功能 | WSL 1 | WSL 2 |
---|---|---|
Windows 和 Linux 之间的集成 | ✅ | ✅ |
启动时间短 | ✅ | ✅ |
与传统虚拟机相比,占用的资源量少 | ✅ | ✅ |
可以与当前版本的 VMware 和 VirtualBox 一起运行 | ✅ | ✅ |
托管 VM | ❌ | ✅ |
完整的 Linux 内核 | ❌ | ✅ |
完全的系统调用兼容性 | ❌ | ✅ |
跨 OS 文件系统的性能 | ✅ | ❌ |
Windows 11 运行 WSL 2 所需条件
- WSL 2 确实利用了 Hyper-V 架构,但并不需要使用 Windows 11 专业版或者安装 Hyper-V 组件,WSL 功能支持所有 Windows 11 SKU。
- WSL 2 支持 x64 和 ARM 处理器。如果你在基于 ARM 的设备上使用它,需要使用具有 ARM 版本的 Linux,比如 Ubuntu。
- 如果你的虚拟机软件支持嵌套虚拟化并启用了该功能,WSL 2 也可以在 Windows 内部的虚拟机中运行。
Windows 11 安装 WSL 2
方法 1:使用 PowerShell 安装 WSL
我们可以使用 PowerShell 安装 WSL:
1 在「开始」菜单中搜索powershell——以管理员身份打开「Windows PowerShell」
2 执行以下命令:
Enable-WindowsOptionalFeature -Online -FeatureName $("Microsoft-Windows-Subsystem-Linux","VirtualMachinePlatform")
3 键入 Y 完成安装并重新启动计算机。
使用 PowerShell 安装 WSL 2
4 完成以上步骤后,打开 Microsoft Store 获取要使用的 Linux 发行版:
- Ubuntu 18.04 LTS
- Ubuntu 20.04 LTS
- Ubuntu 22.04 LTS
- openSUSE Leap 15.1
- SUSE Linux Enterprise Server 12 SP5
- SUSE Linux Enterprise Server 15 SP1
- Kali Linux
- Debian GNU/Linux
- Fedora Remix for WSL
- Pengwin
- Pengwin Enterprise
- Alpine WSL
- Raft(Free Trial)
方法 2:使用「命令提示符」安装 WSL
我们也可以使用「命令提示符」安装 WSL:
1 在「开始」菜单中搜索cmd——以管理员身份打开「命令提示符」
2 执行以下命令:
wsl --install
使用「命令提示符」安装 WSL 2
以上命令默认会安装 WSL 2 组件和具有完整 Linux 内核的 Ubuntu 发行版。安装需要几分钟,然后提示您重新启动 Windows。
3 当 Windows 11 重新启动并且登录时,会打开一个 bash shell 窗口,然后继续安装 Ubuntu。 它将要求你输入新的 UNIX 用户名和新密码。 输入这些后,安装完成。
ubuntu 输入新的 UNIX 用户名和新密码
这将安装 Ubuntu 的 bash shell,它不是图形用户界面(GUI)。要启用它,还有其他步骤和先决条件。 但是,现在已经可以在 Windows 11 PC 上使用 Linux bash shell 命令了。
方法 3:通过「控制面板」安装 WSL
我们也可以使用「控制面板」通过图形界面的方式来安装 WSL:
1 使用Windows + R快捷键打开「运行」—— 执行control打开「控制面板」—「程序」—「程序和功能」—点击「启用或关闭 Windows 功能」
2 勾选「适用于 Linux 的 Windows 子系统」以及「虚拟机平台」后点击「确定」
「控制面板」图形界面方式安装 WSL 2
3 功能启用后会要求立即重新启动 Windows 11 系统
4 完成以上步骤后,打开 Microsoft Store 获取要使用的 Linux 发行版:
- Ubuntu 18.04 LTS
- Ubuntu 20.04 LTS
- Ubuntu 22.04 LTS
- openSUSE Leap 15.1
- SUSE Linux Enterprise Server 12 SP5
- SUSE Linux Enterprise Server 15 SP1
- Kali Linux
- Debian GNU/Linux
- Fedora Remix for WSL
- Pengwin
- Pengwin Enterprise
- Alpine WSL
- Raft(Free Trial)
来获取要使用的 Linux 发行版。
如何从 Windows 11 访问 Linux 文件系统
与在虚拟机中使用 Linux 不同,从 Linux 访问 Windows 文件很容易,反之亦然。
打开「文件资源管理器」在左边的导航窗格中选择「Linux」。在 Windows 和 Linux 之间移动文件时,确保使用的是副本,而不是原始件。(一些文件类型存在兼容性问题,有时文件会损坏。)
从 Windows 11 访问 WSL Linux 文件系统
如何从 Linux 访问 Windows 11 文件系统
在 Linux bash shell 中,使用命令cd /mnt/c/移动到根目录。 然后使用ls命令列出目录和文件。 可以看到它们都是 Windows 目录和文件。
从 WSL Linux 访问 Windows 11 文件系统
启用 WSL 后,你的 Windows 11 计算机上就拥有了一个完整的 Linux 环境,或者可能是多个 WSL Linux 环境。 无论你想在 Linux 中做什么,现在都可以直接操作。