什么是wsl

wsl,Windows Subsystem for Linux,是微软在win10以后推出的专为windows的linux环境。作用很简单,可以在windows中获得linux运行环境,完全直连计算机硬件,无需虚拟机虚拟硬件,而且不会影响windows运行。

为什么使用wsl

wsl跟其他虚拟机不一样的是深度嵌入windows,安装后无缝进入,无需单独的虚拟机,无需双引导。而且wsl还有其他虚拟机没有的特性——镜像网络。 启用镜像网络后,WSL2 和 Windows 主机将使用完全相同的网络,并且可以通过 localhost 访问本机系统上的服务,两者使用的是同一个局域网ip。 wsl和windows之间可以直接访问相互的文件而不需要任何额外配置。 image.png image.png

wsl安装,卸载

wsl安装非常简单,win11后只需要一行命令

# 在cmd工具或者powershell中输入
wsl --install

当然这个没有选择发行版,默认安装的是Ubuntu 22,我已经安装了Ubuntu,所以这次装一个kali image.png 用命令可以查看支持的发行版

wsl --list --online
wsl -l -o

image.png

#列出已经安装的Linux发行版
wsl --list -v

image.png

#进入指定的Linux发行版
wsl -d Ubuntu

image.png

#卸载指定的发行版
wsl --unregister kali-linux

image.png

wsl设置镜像网络

wsl默认并不是镜像网络模式,开启镜像网络很简单,在Windows中的C:\Users<your_username>目录下创建一个.wslconfig文件,然后在文件中写入如下内容

[experimental]
autoMemoryReclaim=gradual  
networkingMode=mirrored
dnsTunneling=true
firewall=true
autoProxy=true

然后需要重启wsl

wsl —shutdown

再重新启动wsl就可以了 如果在WSL中使用Docker,从本机访问不了Docker中启动的服务的话,给Docker添加下面配置( sudo vim /etc/docker/daemon.json),然后重启Docker:sudo service docker restart

{
  "iptables": false
}

wsl和windows之间传输文件

  1. windows到linux

直接在“网络”中多了一个linux,可以通过“网络”来访问 image.png image.png

  1. linux到windows

进入wsl后,进入/mnt文件夹,会发现系统的所有盘都已经自动挂载到/mnt下,可以直接操作windows文件 image.png