在 Windows 10 上安装 CentOS 系统

技术 秋水逸冰 24558浏览 16评论

Windows 10 的 WSL,即 Windows Subsystem for Linux,可运行 GNU/Linux 环境, 包括大多数命令行工具、实用工具和应用程序且不会产生传统虚拟机或双启动设置开销。
Windows 10 的版本大于等于 1709 即可安装和使用 WSL。
本文将介绍如何在 Windows 10 上开启 WSL,并安装 CentOS 7 或 CentOS 8 系统。

在 Windows 10 上开启 WSL

以管理员身份运行 Powershell,并输入以下命令,稍等片刻,会提示是否立即重启计算机。输入 Y 回车重启系统。

$ Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux

安装 CentOS 系统

通常情况下,可以通过 Microsoft Store 安装一些 Linux 发行版,比如: Ubuntu、Debian、OpenSUSE 等,但是却没有 CentOS 系统。
此时需要下载一个可用于 WSL 的 CentOS 镜像。

CentOS 镜像的 Github 地址:https://github.com/mishamosher/CentOS-WSL
适用于 CentOS 7 的地址:CentOS 7.9.2009
适用于 CentOS 8 的地址:CentOS 8.4.2105
适用于 CentOS 8 Stream 的地址:CentOS 8 Stream

选择自己想要的镜像,这里以下载 CentOS 8.4.2105 为例。
下载回来的是 zip 文件。解压缩至任意不包含中文字符的目录下,比如 D:\centos8,进入其目录,右键单击 CentOS8.exe 文件,以管理员身份运行。

稍等片刻,安装完毕。如下图,此时可按任意键退出安装。

启动 CentOS 8.4.2105。
回到解压后的目录 D:\centos8,会看到多出了 2 个目录,如下图。

再次右击单击,并以管理员身份运行 CentOS8.exe,即以 root 用户成功登录系统了,如下图:

执行系统更新,如下图:

注意:如果发现不能更新系统,很有可能是没有设置 DNS 导致的域名无法解析。
执行如下命令设置 nameserver

$ cat > /etc/resolv.conf <<EOF
nameserver 8.8.8.8
nameserver 8.8.4.4
EOF

卸载 CentOS 系统

以管理员身份运行 Powershell,并输入以下命令(执行路径以实际安装路径为准):

$ D:\centos8\CentOS8.exe clean

其他可用命令

写在最后

请关注我的 Telegram 频道:https://t.me/qiushuiyibing
我会在此不定期发布一些杂七杂八的作品。
同时也欢迎加入交流群:https://t.me/qiushui2018

转载请注明:秋水逸冰 » 在 Windows 10 上安装 CentOS 系统

发表我的评论
取消评论

请输入正确答案后提交评论 *超出时限。 请再次填写验证码。

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

网友最新评论 (16)

  1. [root@DESKTOP-94IK83R opt]# systemctl start docker System has not been booted with systemd as init system (PID 1). Can't operate. Failed to connect to bus: Host is down 请问这样应该怎么解决
    dada3年前(2021-07-06)回复
    • 执行 kill -TERM 1 命令后,再试试看。
      秋水逸冰3年前(2021-07-08)回复
      • [root@DESKTOP-94IK83R ideaworkspace]# kill -TERM 1 [root@DESKTOP-94IK83R ideaworkspace]# systemctl start docker System has not been booted with systemd as init system (PID 1). Can't operate. Failed to connect to bus: Host is down [root@DESKTOP-94IK83R ideaworkspace]# 还是不行
        dada3年前(2021-07-12)回复
        • 忘了说了,这种在 Windows 上跑的 Linux 系统,是不能玩套娃的。 所以 Docker 是不能用的。
          秋水逸冰3年前(2021-07-18)回复
  2. WSL有办法换内核吗?
    lalalala3年前(2021-07-06)回复
    • 没有。
      秋水逸冰3年前(2021-07-08)回复
      • WSL安装CentOS8-stream后,dnf update出现如下错误: ...... Running transaction check Transaction check succeeded. Running transaction test Transaction test succeeded. Running transaction RPM: error: db5 error(-30969) from dbenv->open: BDB0091 DB_VERSION_MISMATCH: Database environment version mismatch RPM: error: cannot open Packages index using db5 - (-30969) RPM: error: cannot open Packages database in /var/lib/rpm The downloaded packages were saved in cache until the next successful transaction. You can remove cached packages by executing 'dnf clean packages'. Error: Could not run transaction.
        lalalala3年前(2021-07-21)回复
        • WSL 环境下的 Linux 发行版不可能像真正的发行版那样使用。有些包会无法安装,内核无法升级,等等。
          秋水逸冰3年前(2021-07-21)回复
          • 微软商店提供的Debian/Ubuntu/Kali等等都没遇到过这种问题,可能是Redhat系发行版没有针对WSL做优化的原因?
            lalalala3年前(2021-07-21)回复
          • 虽然仍然不知道具体原因,但可参考这个解决办法:https://github.com/WhitewaterFoundry/Fedora-Remix-for-WSL/issues/46
            lalalala2年前(2021-12-08)回复
      • WSL采用API转换的方式所以不支持容器也不能换内核;而WSL2改成采用虚拟化平台技术,已经支持Docker也可以更新内核了,相当于KVM/Xen。是时候更新教程了。
        lalalala2年前(2021-12-09)回复
  3. 这个和Cygwin哪个好呢,感觉都不是很隔离,也就是测试和临时用用,要是生产环境还是得虚拟机装原版靠谱.
    MiaoSKY3年前(2021-05-02)回复
  4. 你好,可以部署多个实例么
    isheeo3年前(2021-04-29)回复
    • 我没有测试过。 你可以使用不同的路径来试试看。
      秋水逸冰3年前(2021-04-29)回复
      • 可能需要改注册表里面的DistributionName,不然的话即使安装成功用wsl启动的时候还会遇到重名的问题。
        lalalala2年前(2021-12-09)回复
  5. CentOS大法好
    Bug103年前(2021-04-15)回复