>> >> >> Reference << << << <<<<<<Ref>>>>>>
WSL instructions for use
Modified: 2026-02-26 | Author:ljf12825

WSL全称是Windows Subsystem for Linux

WSL可以在Windows里面“原生”运行Linux

工作原理

它不是一个虚拟机,也不是一个Cygwin。它是一个更底层、更集成、更高效的解决方案。Linux内核与Windows内核通过一种轻量级的虚拟化技术协同工作,使得Linux系统调用能够被翻译并直接在Windows上执行,从而实现了近乎原生的性能

WSL 两大版本

特性WSL1WSL2
架构翻译层。将Linux系统调用翻译为Windows内核的系统调用轻量级实用工具。运行在由Hyper-V技术管理的轻量级虚拟机中,包含完整的Linux内核
文件系统性能在跨操作系统的文件操作中表现较好(例如在Linux中访问C:\下的文件)在Linux文件系统内部操作中表现极快(例如在Linux home目录下进行git clone, npm install)。跨OS文件操作较慢
系统调用兼容性有限。并非所有Linux系统调用都被支持,某些应用可能无法运行完全兼容。因为运行在真正的Linux内核上,可以运行绝大多数未修改的Linux应用,如Docker
与Windows的集成无缝。可以直接在Windows的C:\路径下访问Linux文件通过 \\wsl$\网络路径访问。Linux文件系统作为一个独立的网络位置挂载
启动时间瞬时极快(虚拟机从休眠状态恢复,通常在几秒内)
运行位置与Windows共享同一个内核和文件系统运行在轻量级虚拟机中,拥有自己的内核和完整的文件系统

WSL的局限性和注意事项

  1. GUI应用:虽然微软已经支持在WSL2中运行Linux GUI应用(需要安装相应的驱动和组件,且系统为Windows10或11的较新版本),但性能和兼容性仍在不断完善中。对于复杂的3D图形应用,可能不如原生Linux或虚拟机流畅
  2. 硬件访问:直接访问硬件(如GPU进行计算、USB设备)在WSL2中曾经是难题。现在,GPU计算(CUDA, OpenCL)和USB设备直通已经得到官方或社区解决方案的支持,但配置过程可能比原生系统复杂一些
  3. 文件系统性能的取舍:如果工作流需要频繁地在Windows和Linux文件系统之间移动文件,性能可能是一个需要权衡的因素。最佳实践是:将项目文件放在Linux的home/下,并实用VS Code的Remote-WSL打开它
  4. 系统资源占用:虽然比传统虚拟机轻量,但WSL2仍然会占用一部分内存。默认情况下,WSL2最多可使用主机总内存的50%或8GB(取较小值)。可以在Windows用户目录下创建一个.wslconfig文件来限制WSL2的内存和CPU使用

安装

Windows10/11里直接在PowerShell输入

wsl --install

这个命令会自动

重启后,开始菜单中会出现安装的Linux发行版。点击打开,它会继续初始化,并提示创建一个新的用户名和密码(Linux用户名和sudo密码)

使用

基本命令管理

打开

打开方式有三种

文件系统

WSL有两个文件系统

Linux 文件系统(WSL内部)

/
├── bin
├── etc
├── home
├── usr
├── var
└── mnt

这部分属于Linux原生文件系统(ext4)

在WSL2里,它实际存储在一个虚拟磁盘文件里ext4.vhdx,位置大概在C:\Users\Yourusername\AppData\Local\Packages\

Windows文件系统(被挂载进来)

在Linux里,/mnt/c代表Windows的C盘,例如/mnt/c/Users就是Windows用户目录

文件系统桥接原理

WSL2的结构是

Windows
   ├── ext4.vhdx(Linux虚拟磁盘)
   └── drvfs(挂载Windows文件系统)
Linux -> Windows

通过/mnt/c访问Windows文件

Windows -> Linux

通过\\wsl$\Ubuntu\访问Linux文件

explorer.exe .这个命令可以在WSL里打开Windows资源管理器,打开当前目录

性能差异

存放在/home中的文件访问速度快,存放在/mnt/c中的文件访问速度慢
因为

权限模型

Linux有rwxr-xr-x权限体系,Windows有ACL权限模型
当访问/mnt/c