WIN10 安装子系统 CentOS7

WSL 2(Windows Subsystem for Linux 2)是 Windows 系统上用于运行 Linux 内核和 Linux 发行版的功能,是 WSL 的升级版本。

安装步骤

  1. 启用 WSL 功能:以管理员身份打开 PowerShell,运行以下命令:
    dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
    
  2. 启用虚拟机平台:在 PowerShell 中继续运行以下命令,然后重启计算机:
    dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
    
  3. 设置 WSL 2 为默认版本:重启后,在 PowerShell 中运行:
    wsl --set-default-version 2
    

    当你在使用 WSL 2 时遇到 “WSL 2 需要更新其内核组件。有关信息,请访问 https://aka.ms/wsl2kernel” 提示,这意味着你的 WSL 2 内核版本过旧,需要进行更新。

    打开浏览器,访问 https://aka.ms/wsl2kernel,该链接会自动下载适用于 x64 计算机的 WSL 2 Linux 内核更新包。

  4. 检查 WSL 版本:在 PowerShell 中运行以下命令,查看 WSL 的版本信息:

    wsl --list --verbose
    # 或者
    wsl --status
    
  5. 安装 Linux 发行版:从github 上下载适用于 wsl 的 CentOS 系统,https://github.com/mishamosher/CentOS-WSL/releases/tag/7.9-2211(CentOS7),也可以根据需要下载 CentOS 8。
    1. 下载安装包到安装子系统的分区,可以在任意分区任意目录。将压缩包解压,执行 CentOS.exe后,会自动生成 ext4.vhdx,此为子系统的虚拟系统空间。

    2. PowerShell 执行 wsl -l -v,检查系统是否安装成功。

      image-20250210201002095

    3. 执行 wsl -d CentOS7 启动指定的子系统(可以同时安装多个子系统)

  6. 卸载安装的系统:如果安装系统有问题,可以尝试卸载重装。

    wsl --unregister Ubuntu
    

解决 systemctl 无法正常使用问题

可以通过升级 wsl 到最新,启用 systemd 服务解决。

步骤如下

  1. 升级 wsl 到最新(最新 wsl 支持 wsl --version 查看版本的命令,如果不支持此命令,说明版本不够新)
    # 手动更新 wsl,选择下方的两个命令中的一个执行。
    # 默认从 windows store 更新,可能会卡在 0% 无法更新。
    wsl --update
    # 也可以从 github 下载 wsl 更新
    wsl --update --web-download
    
  2. 进入 linux 系统,开启 systemd。

    /etc/wsl.conf,将以下内容保存的文件。重新退出进入子系统,此时 systemctl 可以正常使用

    [boot]
    systemd=true
    
最后修改日期: 24 2 月, 2025

作者

留言

撰写回覆或留言