启用或关闭Windows功能
打开后,在弹框中选择 "适用于linux的windows子系统"

下载:LxRunOffline
【 LxRunOffline 】下载地址:https://github.com/DDoSolitary/LxRunOffline/releases
本地下载【 CentOS Docker】 下载地址:https://github.com/CentOS/sig-cloud-instance-images/raw/CentOS-7.8.2003-x86_64/docker/centos-7.8.2003-x86_64-docker.tar.xz
本地下载开始安装
安装 LxRunOffline
下载好 LxRunOffline 后,将器解压至自定义文件夹中,然后配置环境变量

验证LxRunOffline 是否安装成功



使用 LxRunOffline 安装 centos
下载好 CentOS Docker ,提前新建好 centos目录(如 E:\linux)
在终端执行如下命令(使用管理员权限打开终端)
LxRunOffline i -n <安装名称> -d <安装路径> -f <安装文件>
参数说明:
-n 是安装的系统名称,可自定义;
-d 是安装系统的目录;
-f 是之前下载的镜像路径;
LxRunOffline install -n CentOS -d E:\linux\centos -f H:\IOS镜像\centos-7.8.2003-x86_64-docker.tar.xz -s 安装完成后会在指定的路径生成系统,桌面会生成进入系统的图标
升级为 WSL2
输入命令并回车,列出已经安装的 WSL 的信息
wsl -l -v
将对应的 WSL 发行版设为 WSL2,命令格式:
wsl --set-version <Distro> 2
其中<Distro>要和上面查询到的信息一致,本例中为 centos,输入以下命令并回车:
wsl --set-version centos 2
输入以下命令并回车,设置默认使用的发行版:
wsl -d centos

安装完成后即可启动centos子系统(如无法打开重新打开CMD命令行) 启动命令:
- LxRunOffline run -n centos
- wsl -d centos
- bash
此时,再次使用命令 wsl -l -v 查看,可以看到 centos 的 VERSION 已经变为 2


设置默认系统
可以使用 LxRunOffline l 命令查看当前安装的子系统

设置SSH 登陆
先yum更新系统,
yum update
安装SSH服务
yum -y install openssh-server
yum -y install openssh-clients
启动sshd服务命令: /usr/sbin/sshd
报如下错误:
Could not load host key: /etc/ssh/ssh_host_rsa_key
Could not load host key: /etc/ssh/ssh_host_ecdsa_key
Could not load host key: /etc/ssh/ssh_host_ed25519_key
执行
ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key -N ""
ssh-keygen -t ecdsa -f /etc/ssh/ssh_host_ecdsa_key -N ""
ssh-keygen -t ed25519 -f /etc/ssh/ssh_host_ed25519_key -N ""
执行命令:
vim /etc/ssh/sshd_config
开启 PermitRootLogin yes
输入 :wq保存
设置用户密码 passwd root
启动SSH服务:/usr/sbin/sshd
配置开机自动启动
vi /etc/rc.local
添加/usr/sbin/sshd,保存退出
window访问子系统文件方法
通过 \\wsl$ 访问 Linux 文件时将使用 WSL 分发版的默认用户。 因此,任何访问 Linux 文件的 Windows 应用都具有与默认用户相同的权限。


关闭系统,CMD执行
wsl --shutdown
卸载子系统
wsl --unregister <对应的系统名>

wsl下linux子系统 centos不能运行 service systemctl问题
mv /usr/bin/systemctl /usr/bin/systemctl.old
curl https://github.com/gdraheim/docker-systemctl-replacement/blob/master/files/docker/systemctl.py > /usr/bin/systemctl
chmod +x /usr/bin/systemctl