在windows环境下安装子系统
子系统(wsl)
什么是子系统
适用于 Linux 的 Windows 子系统(Windows Subsystem for Linux)是 Windows 的一项功能,可用于在 Windows 计算机上运行 Linux 环境,而无需单独的虚拟机或双系统。 WSL 旨在为想要同时使用 Windows 和 Linux 的开发人员提供无缝高效的体验。
- 使用 WSL 安装和运行各种 Linux 分发版,例如 Ubuntu、Debian、Kali 等。 安装 Linux 分发版并从Microsoft 应用商店接收自动更新,导入 Microsoft 应用商店中不可用的 Linux 分发版。
- 将文件存储在独立的 Linux 文件系统中,特定于已安装的分发版。
- 运行命令行工具,例如 BASH。
- 运行常见的 BASH 命令行工具,例如
grep
,sed
,awk
或其他 ELF-64 二进制文件。
子系统和虚拟机的区别
子系统(Subsystem)和虚拟机(Virtual Machine, VM)都是在计算机上运行不同操作系统环境的方法,但它们在实现方式、资源消耗、性能、启动速度等方面有明显区别。以 Windows 子系统 Linux(WSL) 和传统虚拟机(如 VMware、VirtualBox)为例,下面是详细对比:
核心区别
比较项 | 子系统(如 WSL) | 虚拟机(如 VMware, VirtualBox) |
---|---|---|
实现原理 | 运行在宿主系统内的兼容层或子系统 | 完整模拟硬件,运行一个独立的操作系统 |
内核共享 | WSL1:系统调用转译;WSL2:轻量级虚拟机内核 | 完全独立的操作系统内核 |
资源占用 | 较少,占用宿主资源较低 | 较高,需要为其分配固定的CPU、内存、硬盘 |
性能 | WSL2接近原生性能 | 接近原生性能(但需要资源足够) |
启动速度 | 非常快,几秒内完成 | 相对较慢,需启动整个系统 |
文件系统访问 | 与Windows文件系统高度集成 | 文件系统隔离较强 |
图形界面支持 | 默认无,但WSLg支持GUI | 支持完整桌面环境 |
用途适配 | 适合开发、脚本、编程等轻量任务 | 适合运行完整的桌面系统或服务 |
举例说明
✅ Windows Subsystem for Linux(WSL)
- WSL1:将Linux系统调用翻译为Windows调用,不含真实Linux内核。优点是启动快、资源少,缺点是兼容性有限。
- WSL2:使用真正的Linux内核,运行在轻量虚拟机中,兼容性更强,性能更高,支持Docker等复杂功能。
✅ 虚拟机(VMware / VirtualBox)
- 安装完整Linux/Ubuntu镜像
- 启动时加载整个操作系统
- 资源隔离较强,但更重、配置复杂
根据自己情况选择
需求 | 推荐方案 |
---|---|
想快速使用 Linux 工具链 | ✅ WSL1/WSL2 |
需要运行 Docker、开发 Web 服务 | ✅ WSL2 |
需要完整桌面系统、图形界面 | ✅ 虚拟机 |
系统资源有限、快速启动命令行环境 | ✅ WSL1 |
研究内核、驱动或嵌入式开发 | ✅ 虚拟机 |
安装方法和配置
下面是 Windows Subsystem for Linux(WSL) 的详细安装和配置教程,适用于 Windows 10(版本 2004 及以上)和 Windows 11:
快速安装方法
打开 PowerShell(管理员权限) 或 CMD(管理员权限),执行以下命令:
1 | wsl --install |
该命令将会:
- 启用必要的功能(WSL 和虚拟机平台)
- 安装 WSL2 引擎
- 下载并安装默认 Linux 发行版(如 Ubuntu)
- 设置默认用户
📌 若系统未安装 Linux 发行版,系统会自动跳转到 Microsoft Store 下载。
自定义安装方法
启用 WSL 和虚拟机平台
打开 PowerShell(管理员),执行:
1 | dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart |
安装 Linux 发行版
可以从 Microsoft Store 安装你喜欢的发行版,如:
- Ubuntu
- Debian
- Kali Linux
配置命令
查看已安装的发行版:
1 | wsl --list --verbose |
设置默认发行版:
1 | wsl --set-default <发行版名称> |
设置某发行版为 WSL1 或 WSL2:
1 | wsl --set-version <发行版名称> 2 # 或 1 |
卸载某个发行版:
1 | wsl --unregister <发行版名称> |
windows和WSL之间的文件共享
访问 Windows 文件系统:
在 Linux 中可以通过 挂载/mnt/c/
访问 Windows 的 C:\
盘,例如:
1 | cd /mnt/c/Users/你的用户名 |
访问 Linux 文件系统(从 Windows):
打开文件资源管理器地址栏,输入:
1 | \\wsl$\Ubuntu\ |
即可访问 Linux 子系统的文件结构。
更改配置
编辑 .wslconfig
(配置 WSL2 虚拟机资源)路径:C:\Users\你的用户名\.wslconfig
示例内容:
1 | [wsl2] |
编辑完后,在CMD中执行
wsl --shutdown
使配置生效。
可以在WSL中输入命令free -h
查看内存分配大小以及交换内存,以及cat /proc/cpuinfo
查看相应的核数
利用vscode链接WSL
首先在vscode中安装插件Remote - SSH,安装完后后点击左下角的Remote - SSH图标,接着选择链接到WSL, Vscode会自动链接到wsl,无需输入IP和密码