搭建WSL2环境
WSL2(Windows Subsystem for Linux 2)是 Windows 提供的一种轻量级 Linux 运行环境,具备完整的 Linux 内核,并支持更好的文件系统性能和兼容性。它允许用户在 Windows 系统中运行 Linux 命令行工具和应用程序,而无需安装虚拟机或双系统。
1. 安装WSL2
1.1 启用WSL和虚拟机平台
WSL2在win10下默认没有打开,需要搜索打开”控制面板”然后依次点击“程序”、“启用或关闭Window功能”,最后勾选“Windows虚拟机监控程序平台”和“适用于Linux的Windows子系统”,然后重启系统。

若未勾选“Windows虚拟机监控程序平台”,Powershell运行“wsl --set-default-version 2”,报“请启用虚拟机平台Windows功能并确保在BIOS中启用虚拟化”。
如果使用的是Windows 11,还需要勾选:
Windows Hypervisor Platform(有些系统可能没有)
Hyper-V(如果Windows版本支持)
1.2 将WSL默认版本设置为WSL2
wsl --set-default-version 2
其中,Windows 11默认已安装WSL2,不需要执行该命令。
Windows 10需要执行此命令,否则默认使用WSL1。
1.3 重启生效
以上操作及命令执行完后,重启电脑,确保所有更改生效。
2 安装Ubuntu
2.1 默认安装
wsl --install
系统会自动下载并安装所需的组件,并且默认安装Ubuntu发行版。下载很慢,花了一整夜。
安装完成后,首次启动时会提示创建一个Linux用户名和密码。
正在下载: Ubuntu
正在安装: Ubuntu
已成功安装分发。可以通过 “wsl.exe -d Ubuntu” 启动它
正在启动 Ubuntu...
^[Provisioning the new WSL instance Ubuntu
This might take a while...
Create a default Unix user account: username
2.1 手动安装
可安装至指定盘符,而不是C盘。
https://blog.csdn.net/Natsuago/article/details/145594631
TBC...
3. WSL2基本使用
3.1 系统安装与注销
wsl -l -v命令查看已安装发行版及其对应的 WSL 版本,具体效果如下:

若是希望安装其他发行版,可以执行wsl --list --online查看可用的发行版:

接着可执行wsl --install -d <上面显示的发行版名称> 安装指定发行版,但是注意这一步包括前面一步都需要使用 “网络代理” 才能顺利执行,否则会发现无法与服务器建立连接。
对应的指令wsl --unregister <已经安装过的发行版名称>可将已经安装的系统给注销清除掉,注销前要考虑是否还需要,或者已经备份过,一旦注销无法撤回!!!
3.2 系统启动方式
使用指令wsl --set-default <发行版名称>将该版本设置为默认启动系统 ,在PowerShell窗口执行wsl指令即可打开该系统。
或者使用指令 wsl -d <发行版名称> 来指定已经安装的Linux版本进入该系统。
3.3 系统导出导入
执行 wsl --export <发行版名称> <保存路径.tar> 可导出现有系统到目标目录进行备份,tar文件可根据自己喜好更改。
执行 wsl --import <新发行版名称> <安装目录> <tar文件路径> --version 2 可将导出的 tar文件重新导入到 Windows 中并使用(非常方便的是,可以将一个机器的系统导出后,又导入到另外的机器重新执行系统)。
WSL 导出/导入后不会保留默认用户设置。若希望启动时自动登录原用户,需创建 /etc/wsl.conf 文件(进行如下配置):
[user]
default="原用户名"
在直接安装发行版时,不能直接安装多个相同的Linux版本,所以在有需要多个相同Linux版本同时存在的需求时,可以通过上面系统导出导入的方式实现。
4. WSL2相关配置
4.1 换源
实际也可以不用,因为在国内的下载速度其实不慢。
# 备份原始源列表
sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
# 替换为清华源(以 Ubuntu 22.04 Jammy 为例)
sudo sed -i 's|http://[a-z0-9\.]*\.archive\.ubuntu\.com|https://mirrors.tuna.tsinghua.edu.cn|g' /etc/apt/sources.list
sudo sed -i 's|http://security\.ubuntu\.com|https://mirrors.tuna.tsinghua.edu.cn|g' /etc/apt/sources.list
# 更新软件包列表
sudo apt update
4.2 wsl.conf文件配置
以下是此前在AI帮助下得到的最终/etc/wsl.conf文件配置(在使用中基本上是没有什么问题,可根据需要选择性配置,其中第一条和最后一条在系统创建时是已经自带了),具体操作为执行sudo chmod 666 /etc/wsl.conf增加写权限,然后使用vim /etc/wsl.conf进入文件内部将配置好的内容粘贴进去即可。
[boot]
# 启用 systemd 支持,即使用 systemctl 命令管理服务(如 docker, nginx, sshd)
systemd = true
[interop]
# 启用 Windows 与 Linux 的互操作性
enabled = true
# 将 Windows 的环境变量 PATH 附加到 Linux 的 PATH 中,开启后,可以在 WSL 终端里直接输入 'notepad.exe' 或 'code' 来启动 Windows 程序
appendWindowsPath = true
[automount]
# 启用自动挂载 Windows 驱动器(如 C:\, D:\)。
enabled = true
# 设置 Windows 驱动器在 Linux 中的挂载根目录,默认为 /mnt/(即 /mnt/c)
root = /mnt/
# 关键设置:文件权限映射。
# metadata: 允许在 Win 磁盘上存储 Linux 权限(chmod/chown 才会生效)
# uid/gid: 指定挂载文件的默认所有者为 ID 1000 的用户
# umask/fmask: 设置默认权限掩码,确保新建文件夹权限为 755,文件权限为 644
options = "metadata,uid=1000,gid=1000,umask=0022,fmask=11"
# 不自动挂载 /etc/fstab 中的内容,完全交给 WSL 管理
mountFsTab = false
[network]
# 自动生成 /etc/hosts 文件
generateHosts = true
# 自动生成 /etc/resolv.conf(DNS 配置),如果需要手动设置 DNS(比如解决梯子冲突),可以将此项改为 false。
generateResolvConf = true
[user]
# 设置进入 WSL 时的默认登录用户名
default = <linux-username>
4.3 VSCode配置
为了让VSCode在WSL环境下运行操作,需要安装:WSL、Remote-SSH(非必须)等插件:

之后就可以直接在 PowerShell 执行 wsl 进入到Linux系统,切换到目标项目路径后,执行 code . 指令后 ,VS Code 就能自动打开并且可轻松编码(类似于 VS Code 远程连接 Linux 服务器进行操作)。
5. 总结
至此,按照上述流程配置完成后,一套可在 Windows 环境下长期使用的 WSL2 开发环境已经搭建完成。相比于仅完成 WSL2 的基础安装,合理利用发行版的导入、导出与迁移机制,并结合 VS Code 的无缝协同,不仅极大降低了环境重建成本,也使项目开发过程更加稳定方便。在此基础之上,WSL2 不再只是一个临时的 Linux 终端,而是一个可以持续演进的开发平台,同时也为后续深入学习和实践 Linux 生态提供了良好的基础。

浙公网安备 33010602011771号