Windows10使用WSL及遇到的问题解决

本文详细介绍了如何在Windows10专业版22H2上安装和使用WSL,包括安装步骤、WSL的几种使用方法、相关指令,以及遇到的如systemctl限制、hostname/hosts文件修改问题和卡死问题的解决办法。
摘要由CSDN通过智能技术生成

一、相关说明

  • 版本 Windows 10 专业版
  • 版本号 22H2

本文所使用教程主要来源于微软官方文档:WSL文档

WSL即适用于Linux的Windows子系统,它能让开发人员直接在Windows上按原样运行GNU/Linux环境,且不会产生传统虚拟机或双启动设置开销。

二、安装WSL

1. 前提条件

  • Windows 10 版本2004及更高版本或Windows11
  • 更早版本见手动安装

2. 安装WSL

管理员模式命令行或PowerShell运行下面命令

wsl --install

可能会出现无法安装的问题,主要看网络。可以使用手动安装

三、WSL使用

1. 如何使用WSL

(1)使用Windows终端(推荐)

使用Windows终端
使用windows终端

(2)访问Windows菜单

通过访问Windows开始菜单中键入的发行版名称直接打开Linux发行版
访问Windows菜单

(3)在命令行或Powershell直接键入Linux发行版名称使用

(4)使用wsl命令使用默认Linux发行版

WSL

(5)通过wsl使用linux系统命令

wsl [coomand]

默认Linux发行版

2. 相关指令

(1)设置linu发行版的wsl版本

wsl --set-version <distro name> 2

distro name就是我们发行版的名称

(2)列出已安装的发行版

wsl -l -v

(3)将WSL中Linux镜像导出

wsl --export Ubuntu D:\Ubuntu.tar

(4)将导出的镜像导入

wsl --import Ubuntu D:\Ubuntu D:\Ubuntu.tar --version 2

(5)卸载镜像

wsl --unregister Ubuntu

四、遇到的问题及解决方案

1. 不能使用systemctl

(1)可以尝试使用service进行服务的start、status、stop、restart等操作

(2)修改WSL配置项

linux子系统中输入如下命令

# 首先,在/etc/wsl.conf中添加配置项systemd=true,如果已配置则忽略该命令
echo -e "[boot]\nsystemd=true" | sudo tee -a /etc/wsl.conf
# 然后,判断是否启动systemd
ps --no-headers -o comm 1

如果返回init,说明没成功,可以尝试管理员模式打开powershell里更新wsl

# 使用--web-download是从github上下载安装包,否则默认使用ms store
wsl --update --web-download

2. 修改hostname和hosts文件重启后失效

进入/etc目录,编辑wsl.conf,如果没有就创建

vim /etc/wsl.conf

输入以下参数:

[network]
hostname=YourHostName
generateHosts=false
配置说明
hostname设置当前WSL主机名称
generateHosts是否自动生成hosts文件

配置好之后需要重启指定的WSL主机

wsl -t YourWSLName
wsl -d YourWSLName

3. 使用wsl出现卡死

(1)重启LxssManager

#停止LxssManager服务
net stop LxssManager
#启动LxssManager服务
net start LxssManager
# 如果停止不了查找进程ID,手动杀死
tasklist /svc /fi "imagename eq svchost.exe" | findstr Lxss

(2) 使用PowerShell进行wsl操作

使用原始的Windows命令行会出现卡死的情况,改用PowerShell之后就没有出现过这种情况,建议使用Windows终端并设置默认打开终端为PowerShell使用。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值