张子阳的博客

首页 读书 技术 店铺 关于
张子阳的博客 首页 读书 技术 关于

Windows11下安装WSL2和CentOS

2025-07-12 张子阳 分类: 其他

WSL2(Windows Subsystem for Linux 2)是微软开发的第二代Linux子系统,允许在Windows系统中无缝运行原生Linux环境,无需虚拟机或双系统。其最大的好处之一是文件系统是共享的,例如:可以在Linux环境下通过 /mnt/c 来访问C盘。这样我们可以在WSL2中运行一个centos,然后在其上运行gemini CLI或者Claude Code,进行自行编码,而我们的开发环境依然是Windows。这样可以减少很多gemini cli在Powershell环境下,脚本命令报错比较多的情况。这篇文章将介绍如何在 Windows11 上安装WSL2,以及如何在 WSL2 中安装 centos。

在豆包、元宝这样工具已经成为日常辅助工具的情况下,本来写这样的文章已经价值不大,直接问元宝就可以了。但因为还有一些意外的情况没有记录,除此以外,也是自己的一份记录和总结,所以我们以流水账的形式,快速地过一遍。

确保Hyper-V已经开启

安装 WSL2

# 启用WSL和虚拟机平台 dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

安装完后,通过下面的命令,可以查看可以安装的Linux发行版:

PS C:\Users\Administrator> wsl --list --online 以下是可安装的有效分发的列表。 使用“wsl.exe --install ”安装。 NAME FRIENDLY NAME AlmaLinux-8 AlmaLinux OS 8 AlmaLinux-9 AlmaLinux OS 9 AlmaLinux-Kitten-10 AlmaLinux OS Kitten 10 AlmaLinux-10 AlmaLinux OS 10 Debian Debian GNU/Linux FedoraLinux-42 Fedora Linux 42 SUSE-Linux-Enterprise-15-SP6 SUSE Linux Enterprise 15 SP6 SUSE-Linux-Enterprise-15-SP7 SUSE Linux Enterprise 15 SP7 Ubuntu Ubuntu Ubuntu-24.04 Ubuntu 24.04 LTS archlinux Arch Linux kali-linux Kali Linux Rolling openSUSE-Tumbleweed openSUSE Tumbleweed openSUSE-Leap-15.6 openSUSE Leap 15.6 Ubuntu-18.04 Ubuntu 18.04 LTS Ubuntu-20.04 Ubuntu 20.04 LTS Ubuntu-22.04 Ubuntu 22.04 LTS OracleLinux_7_9 Oracle Linux 7.9 OracleLinux_8_10 Oracle Linux 8.10 OracleLinux_9_5 Oracle Linux 9.5

安装 CentOS

在上面的列表中,并没有我所熟悉的CentOS。通过这个地址,可以下载 CentOS 7.9进行安装:

https://github.com/mishamosher/CentOS-WSL/releases/tag/7.9-2211

下载成功后,双击 CentOS7.exe 进行安装。验证安装:

PS C:\Users\Administrator> wsl --list --verbose NAME STATE VERSION * CentOS7 Stopped 2

启动并进入 CentOS

直接输入命令:wsl就可以启动 WSL,进入CentOS了。如果你和我一样,曾经在PowerShell的配置文件中配置过代理(http_proxy和/https_proxy),那么会出现这样的警告:

PS C:\Users\Administrator> wsl wsl: 检测到 localhost 代理配置,但未镜像到 WSL。NAT 模式下的 WSL 不支持 localhost 代理。 [root@Jimmy Administrator]#

解决的办法,修改 C:\Users\Administrator(更改为你的用户名) 下的 .wslconfig 配置文件,添加下面的配置:

[wsl2] autoProxy=false

在CentOS下配置代理

重启wls,然后再次执行 wsl 进入 centos,此时不再有上面的错误提示了:

PS C:\Users\Administrator> wsl --shutdown PS C:\Users\Administrator> wsl [root@Jimmy Administrator]#

当前的CentOS相当于全新的系统,什么软件都没有装,我们通常通过yum来进行软件安装。首先可以更新yum的源,让它从国内的镜像站安装软件:

[root@Jimmy ~]# mkdir -p /etc/yum.repos.d/backup [root@Jimmy ~]# mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/backup/ [root@Jimmy ~]# curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo [root@Jimmy ~]# curl -o /etc/yum.repos.d/epel.repo https://mirrors.aliyun.com/repo/epel-7.repo [root@Jimmy ~]# yum makecache

此时,如果执行curl www.google.com,会发现网络不通! 因为那个报错是因为代理的问题,而我们将代理关了。此时,需要在centos下重新配置代理。假设我们宿主机的IP是192.168.1.15,代理端口号7890,那么可以这样配置:

vim ~/.bashrc

添加本地代理:

export http_proxy="http://192.168.1.15:7890" export https_proxy="http://192.168.1.15:7890"

执行下面的命令,使其立即生效,然后再次访问 www.google.com,正常可以看到返回网页内容,说明配置成功了。

[root@Jimmy ~]# source ~/.bashrc [root@Jimmy ~]# curl https://www.google.com

安装 AlmaLinux

因为CentOS 7已经比较老的,无法支持最新版的NodeJS,那么就可以安装比较新的Linux系统,例如AlmaLinux 9。其安装方法如下:

# 卸载旧的CentOS7 PS C:\Users\Administrator> wsl --unregister CentOS7 正在注销。 操作成功完成。

接下来就可以安装AlmaLinux 9了。

PS C:\Users\Administrator> wsl --install AlmaLinux-9 正在下载: AlmaLinux OS 9 正在安装: AlmaLinux OS 9 已成功安装分发。可以通过 “wsl.exe -d AlmaLinux-9” 启动它 正在启动 AlmaLinux-9... Please create a default UNIX user account. The username does not need to match your Windows username. For more information visit: https://aka.ms/wslusers Enter new UNIX username: zhangzy Changing password for user zhangzy. New password: Retype new password: passwd: all authentication tokens updated successfully.

在CentOS下面做的:配置代理、更换yum/dnf 源镜像,在AlmaLinux下面一样需要做一遍,这里就不演示了。

感谢阅读,希望这篇文章能给你带来帮助!