开启虚拟机功能

控制面板---程序和功能---Windows功能 窗口中勾选 适用于Linux的Windows子系统 功能,点击确定,并按照提示重启电脑。

或以管理员身份在命令行键入

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

由于版本问题,好多人的的子系统还停留在 WSL,而不是WSL2,由于后者实质上是一个虚拟机。所以要启动虚拟化:

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

若之前没有用过 WSL,则需要安装 Windows 10 的 WSL 功能:

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

设置子系统的默认版本为WSL2

从这里下载并安装 WSL2 Linux 内核:https://aka.ms/wsl2kernel

使用管理员权限打开PowerShell,输入以下命令:

wsl --set-default-version 2

安装kali

Windows 应用商店 搜索 Kali 。安装,运行Kali并完成初始化设置。

升级原有系统到WSL2

如果原本就安装有WSL,可以直接升级到WSL2,使用管理员权限打开PowerShell,输入以下命令:

wsl --set-version kali-linux 2

❝ PS:由于WSL2是使用HyperV虚拟机的,所以开启之后会和VMwareVirtualBox冲突,可以通过升级VMwarevbox到支持HyperV的版本解决。❞

如果提示:

请启用虚拟机平台 Windows 功能并确保在 BIOS 中启用虚拟化。

则需要在windows功能中重新勾选hyper-v


重启,在管理员powershell中执行

bcdedit /set hypervisorlaunchtype auto

随后重新输入命令,若不行,重启计算机。

换国内源

sudo nano /etc/apt/sources.list

由于学校总是污染部分学校的DNS,所以我用阿里源。以下是镜像源列表,可以自行配置

##官方源
deb http://http.kali.org/kali kali-rolling main non-free contrib
deb-src http://http.kali.org/kali kali-rolling main non-free contrib
##中科大源
deb http://mirrors.ustc.edu.cn/kali kali-rolling main non-free contrib
deb-src http://mirrors.ustc.edu.cn/kali kali-rolling main non-free contrib
##阿里云源
deb http://mirrors.aliyun.com/kali kali-rolling main non-free contrib
deb-src http://mirrors.aliyun.com/kali kali-rolling main non-free contrib
##清华大学源
deb http://mirrors.tuna.tsinghua.edu.cn/kali kali-rolling main contrib non-free
deb-src https://mirrors.tuna.tsinghua.edu.cn/kali kali-rolling main contrib non-free
##浙大源
deb http://mirrors.zju.edu.cn/kali kali-rolling main contrib non-free
deb-src http://mirrors.zju.edu.cn/kali kali-rolling main contrib non-free

更新软件包

sudo apt update && sudo apt upgrade

但是却返回错误,先判断网络是否通畅。

ping 8.8.8.8

返回ping: socket: Operation not permitted

sudo chmod u+s /usr/bin/ping  #解决ping无法使用

再次ping,提示连接超时,基本是确定子系统网络不通了

解决无法联网问题

  1. 新建文件/etc/wsl.conf
  2. 把以下内容写入文件

    [network]
    generateResolvConf = false
  3. 打开windows cmd,输入以下内容,然后重新打开子系统

    wsl --shutdown
  4. 新建文件/etc/resolv.conf,如果存在则替换。将以下内容写入文件(8.8.8.8为DNS地址,可以自行修改)

    nameserver 8.8.8.8

再次执行sudo apt update && sudo apt upgrade,可以看到成功了。

迁移至D盘(可选)

子系统默认是安装在C盘的,但我C盘余量所剩无几,于是将其迁移至D盘,可以通过如下开源项目实现。

https://github.com/DDoSolitary/LxRunOffline

下载最新的包。解压,进入目录,shift+右键点击再此打开powershell,输入

.\LxRunOffline.exe move -n kali-linux -d D:\kali

完成,有了足够的空间可以愉快的玩耍了。

安装Win-Kex工具包(图形桌面支持)

Win-Kex工具包是Kali提供的在Windows上运行的图形化工具包,可以一键式傻瓜化在WSL中跑图形界面。

Kali命令行中输入命令安装:

sudo apt install -y kali-win-kex

安装完成后就可以启动图像界面了,命令如下:

cd ~
kex

第一次启动会让你输入一个新密码,这个密码是作为kex的密码保存起来。注意要先切换当前目录到home目录再启动kex,不然会获取不到key

然后,报如下的错误,

TigerVNC Viewer
unable to connect to socket: Connection refused it (10061)

解决kex无法启动问题

  • 方法1 不让VNC只接收本机的数据包(wsl2win10 ip是两个网段)

    [-localhost [yes|no]] if enabled, VNC will only accept connections from localhost.
    vncserver -localhost no
    kex -s
  • 方法2

    sudo su
    rm /tmp/.X11-unix
    kex
  • 方法3

    kex stop
    kex

具体是哪一个成功的我也不知道,我都试了一遍,还是不行。然后重启了电脑莫名其妙就好了。

安装Kali Linux工具包

  1. 安装标准工具包

    sudo apt install kali-linux-default
  2. 安装大工具包(大概7,8G)

    sudo apt install kali-linux-large

配置Windows Terminal快捷方式

每次都用命令行打开太麻烦了,可以在Windows Terminal中配置快捷方式,下次就可以通过这个下拉菜单打开Kex的图形界面了。

打开Windows Terminal的配置文件,加入以下配置项,注:<kali user>为自己设置的用户名

{
    "commandline": "wsl.exe -d kali-Linux kex wtstart",
    "guid": "{4e316cda-5706-4514-ae73-e87f659640c7}",
    "hidden": false,
    "name": "kali-linux(kex)",
    "startingDirectory": "//wsl$/kali-linux/home/<kali user>"
}

参考

最后修改:2021 年 10 月 09 日 07 : 05 PM
赏口饭吃,行行好吧,客官!