开启虚拟机功能
在 控制面板---程序和功能---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
如果提示:
请启用虚拟机平台 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,提示连接超时,基本是确定子系统网络不通了
解决无法联网问题
- 新建文件
/etc/wsl.conf
把以下内容写入文件
[network] generateResolvConf = false
打开
windows cmd
,输入以下内容,然后重新打开子系统wsl --shutdown
新建文件
/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只接收本机的数据包(wsl2和win10
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工具包
安装标准工具包
sudo apt install kali-linux-default
安装大工具包(大概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>"
}