利用 WSL 在 Windows10 2004 上运行 CentOS


为什么

因为有一些传统的工具比如 curl 等等在 PowerShell 中的替代的参数不一样,不想学习新的参数,所以搞个这个替代一下。

不过 PowerShell 是确实强大。

环境的准备

  1. 准备使用的操作系统的 Docker 镜像
  2. 开启 WSL
    • 可以通过 PowerShell 执行
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux

安装安装工具

这里我们借助一个工具软件来安装需要的安装工具
禁止套娃

安装 Chocolatey

  • Chocolatey是一个 Windows 下的包管理工具,似乎是基于 PowerShell 的。
  • 官方提供了安装脚本 install.ps1
  • 但是 PowerShell 默认禁止执行脚本,可以在有管理员权限的 PowerShell 中使用以下命令绕过
Set-ExecutionPolicy Bypass -Scope Process -Force; iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))

然后利用 Chocolatey 安装 LxRunOffline

  • LxRun.exe 曾经是系统自带的,但不知道为什么从 1804 后被删除。
  • 执行以下命令
    由于 Chocolatey 刚安装,需要重启 PowerShell 来载入 PATH
choco install lxrunoffline

安装系统

LxRunOffline install -n {OSName} -d{InstallPath} -f ${DockerImageFile}

其中

OSName 是你希望这个系统在 wsl 中记录的名字,是用于管理的,虽然可以随意制定,最好还是有意义的名称

InstallPath 是希望系统被安装的目录,最好是空的以免发生文件名的冲突

DockerImageFile 是下载的 Docker 镜像

运行

设置默认启动的系统(如果安装了多个 WSL 系统)

 wslconfig.exe /setdefault ${OSName}

启动

wsl -d ${OSName}

默认以 root 身份登陆,感觉有点不安全,到时候再研究一下。