微软商店安装 CentOS 子系统居然收费,差评;本文通过 LxRunOfflineWSL-Distribution-Switcher(报错)安装 CentOS 子系统

开启 WSL

方式一:使用管理员权限打开 Powershell 执行

  1. Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux

方式二:控制面板->程序->启用或关闭 Windows 功能->找到适用于 Linux 的 Windows 子系统勾选,确定后需要重启电脑生效
image.png

获取 CentOS

安装 LxRunOffline

下载二进制文件

  • 最新版本: https://github.com/DDoSolitary/LxRunOffline/releases
  • 开发版本:https://ddosolitary-builds.sourceforge.io/LxRunOffline/

    Chocolatey 、 Scoop

    1. choco install lxrunoffline
    2. scoop bucket add extrasscoop install lxrunoffline

    注册右键菜单

    右键单击菜单功能要求正确注册 shell 扩展 DLL,使用 Chocolatey 安装此项目,则会自动完成此操作;如果直接下载了二进制文件,则需要手动运行以注册 DLL 文件
    1. regsvr32 LxRunOfflineShellExt.dll

    下载系统镜像

    如:rootfs_centos_7.tar.xz

    方式一

    见 WSL-Distribution-Switcher 获取镜像

    方式二

    直接点击链接下载

    CentOS 7

    创建 D:\WSL 文件夹作为安装使用目录,可任意更换
    将 LxRunOffline.exe 和 rootfs_centos_centos7.tar.xz 复制到 D:\WSL 下

    如果想随处使用 LxRunOffline.exe,请加入系统环境变量,则不需要拷贝 LxRunOffline.exe

安装镜像

进入 D:\WSL 文件夹,右键“在 Windwos Terminal 中打开”
image.png
输入一下相应的命令创建子系统分发版,分发版名称不要有空格

  1. .\LxRunOffline.exe install -n CentOS -d "D:\WSL\CentOS 7" -f D:\WSL\rootfs_centos_7.tar.xz
  2. .\LxRunOffline.exe install -n CentOS -d "D:\WSL\CentOS 7" -f D:\WSL\centos-7-docker.tar.xz

image.png

查看镜像

  1. .\LxRunOffline.exe list
  2. CentOS 7

运行镜像

  1. .\LxRunOffline.exe run -n CentOS

卸载镜像

  1. .\LxRunOffline.exe uninstall -n CentOS

残留文件需要手动删除

快捷方式

一般命令行创建失败,则使用管理员模式打开命令提示符

  1. Lxrunoffline s -n CentOS7 -f 'C:\Users\Administrator\Desktop\CentOS7.lnk'

也可以直接 Widnwos Terminal 中找到对应的名字,然后点击启动
image.png

故障

不存在具有提供的名称的分布

[已退出进程,代码为 4294967295 (0xffffffff)]

排除分支版名称带空格的问题,就关闭“适用于 Linux 的 Windows 子系统”再重新打开,然后重启电脑。
关闭“适用于 Linux 的 Windows 子系统”

  1. dism.exe /online /disable-feature /featurename:Microsoft-Windows-Subsystem-Linux /norestart
  2. dism.exe /online /disable-feature /featurename:VirtualMachinePlatform /norestart

重新开启“适用于 Linux 的 Windows 子系统”

  1. dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
  2. dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

然后重启 Windows 系统