问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

Windows安装WSL教程

创作时间:
作者:
@小白创作中心

Windows安装WSL教程

引用
CSDN
1.
https://m.blog.csdn.net/qq_35789981/article/details/139989869

Windows Subsystem for Linux(WSL)是微软在Windows 10中引入的一项功能,允许用户直接在Windows系统上运行Linux环境,无需虚拟机或双启动。这对于需要在Windows环境下使用Linux工具和环境的开发者来说非常实用。本文将详细介绍WSL的安装步骤和基本配置,帮助大家在Windows上进行Linux开发和实践。

前提条件

Windows机器需要支持虚拟化,并且需要在BIOS中开启虚拟化技术,因为WSL2基于hyper-V。

查看是否开启虚拟化

按住Windows+R输入cmd打开命令行,输入:

systeminfo

可以看到如下字样,代表电脑已经支持虚拟化,可继续安装:

Hyper-V 要求:     
虚拟机监视器模式扩展: 是
固件中已启用虚拟化: 是
二级地址转换: 是
数据执行保护可用: 是

或者如下图所示:

启用Windows10子系统功能,再打开的powershell窗口中输入如下命令:

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

启用虚拟机平台功能,再打开的powershell窗口中输入如下命令:

dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

安装

对于Windows 10版本2004版本及更新版本或者Windows 11,可以直接一行命令符安装:

wsl --install

若出现无法解析服务器的名称或地址的问题,如下图:

可以通过一下方法解决:

方法一:使用科学上网

方法二:修改hosts文件

  1. 首先,在这个进入这个网站 https://site.ip138.com/raw.Githubusercontent.com/ 对 raw.githubusercontent.com 这个网址的解析IP进行查询。并获取一个能够在本地ping通的ip。

我本地使用了第一个:185.199.110.133 ,并测试ping 的结果。

  1. 用记事本打开hosts文件,文件地址在:C:\Windows\System32\drivers\etc,并在文件后面添加下面内容,并保存(如果这里没有保存hosts的权限,先将hosts文件拖到桌面,更改完成后再拖回去)。

将以下代码添加到hosts文件最后一行:

185.199.110.133 raw.githubusercontent.com
  1. 重新执行安装指令。

注意:可以通过以下命令完成Linux 分发版的安装:

wsl --install ubuntu22.04

或者通过下一节,在微软应用商店安装,推荐使用上述方法,系统启动速度快。

安装 Linux 分发版

打开Microsoft Store,选择你喜欢的Linux分发版并下载,

这里选择ubuntu 20.04,点击获取自动安装。

Linux设置

愉快的使用Linux

通过Windows Terminal下拉选项可以进入安装的Linux系统。

设置root密码

打开安装的Linux分发版,并在命令行输入:

sudo passwd root

接着输入想设置的root密码,完成设置。

设置默认root用户登入

进入C:\Users\xxxx\AppData\Local\Microsoft\WindowsApps\CanonicalGroupLimited.Ubuntu22.04LTS_79rhkp1fndgsc目录下,找到ubuntu2204.exe程序,

cmd到此目录下,执行以下命令:

ubuntu.exe config --default-user root

重启WSL子系统即可看到效果,默认登入的就是root账户了

Windows和WSL2互传文件

示例:将window系统下的D:software/mongodb-linux-x86_64-rhel70-4.4.13.tgz上传到WSL2(子系统)的/usr/local目录下

在WSL2(子系统)中执行如下命令,即可:

cp /mnt/d/software/nmongodb-linux-x86_64-rhel70-4.4.13.tgz /usr/local

WSL2的镜像网络模式

即WSL与Windows使用同一网络和IP。

  1. 在Windows用户目录下,新建.wslconfig的配置文件,写入如下信息(按需修改无关配置):
[wsl2]
memory=16G  # 配置虚拟机最大使用内存,按需,默认Windows主机内存的1/2
[experimental]
autoMemoryReclaim=gradual # 检测到空闲CPU使用率后自动释放缓存内存。设置gradual为缓慢释放,设置dropcache为立即释放缓存内存。
sparseVhd=true
networkingMode=mirrored # 如果值为mirrored则这将打开镜像网络模式。默认或无法识别的配置会设置为NAT。
dnsTunneling=true
firewall=true
autoProxy=true # 强制WSL使用Windows的HTTP代理信息
  1. 重启WSL,重要!!!,不是直接关掉terminal,而是应该执行:
wsl --shutdown

然后启动WSL。

  1. [可选]:如果在WSL中使用Docker,从本机访问不了Docker中启动的服务的话,给Docker添加下面配置( sudo vim /etc/docker/daemon.json),
{
  "iptables": false
}

然后重启Docker:

sudo service docker restart

WSL 的网络

Windows的网络

WSL 1 和 WSL 2

WSL 1 和 WSL 2 功能比较

将分发版本设置为 WSL 1 或 WSL 2

windows下以管理员身份打开PowerShell。

设置Ubuntu-20.04为WSL 2

wsl.exe --set-version Ubuntu-20.04 2

如果要设置为WSL 1,执行如下命令:

wsl.exe --set-version Ubuntu-20.04 1

可以打开 PowerShell 命令行并输入以下命令检查分配给每个已安装的 Linux 分发版的 WSL 版本:

wsl -l -v或者wsl --list --verbose

将 WSL 2 设置为默认版本

打开 PowerShell,然后在安装新的 Linux 发行版时运行以下命令,将 WSL 2 设置为默认版本:

wsl --set-default-version 2

卸载

可通过以下指令卸载:

wsl --unregister Legacy
© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号