kali子系统安装教程(包含避坑指南,新手必看!)

2023-05-16

#版权声明:图中含有知乎@王维同学字样的,是我在知乎的号,不是盗的文章!这篇文章比知乎更详细!!

1.开启安装Linux子系统需要的扩展

Win+Q搜索功能


勾选需要的扩展,Hyper-V、Windows 虚拟机监控平台、适用于Linux的Windows子系统、虚拟机平台
反正这些有关于虚拟机的全部勾选就对了

microsoft store有ubuntu子系统,有kali子系统。默认只能装载C盘(好像是)

安装WSL2要额外运行一个东西:

WSL1升级为WSL2

本文适用于已经安装WSL1的系统。

升级有代价!!!!启动会变慢!!!!!下文默认wsl1,wsl2方法我会字体变蓝。

0. 查看当前WSL版本号

打开PowerShell,执行命令

wsl -l -v

可以看到WSL版本号。如果WSL版本号是1,则需要进行一些操作,才能升级到WSL2。

1. 检查运行WSL2的系统要求

WSL2对系统版本有一定要求,键盘选择Win + R,输入winver,点击回车,便可查看当前系统的详细版本。对照下图,看一下是否满足要求,如果不满足要求,则需要对系统进行升级。

2. 启用虚拟机功能

WSL2需要使用虚拟机,因此需要在系统中启动虚拟机功能。

打开PowerShell,执行命令 :

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

重新启动系统。

启动系统后,最好在检查一下虚拟机是否以启动。通过以下方式进行检查,

打开 控制面版,查看方式可选择大图标,在点击程序与功能—>启用或关闭Windows功能,检查下图中红框圈出内容是否均以打对勾;若没有,则需要打对勾并点击确定。

如果没有Hyper-V这一项,请查看文章win10家庭中文版安装Hyper-V

另外,在检查一下任务管理器中-性能-CPU中的虚拟化是否已开启,如果未开启,请参考文章在BIOS中打开虚拟机

3. 下载 Linux 内核更新包

  1. 根据系统进行选择:
x64: https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi
arm64: https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_arm64.ms

2. 运行上一步下载的更新包。

4. 设置分发版版本

打开PowerShell,执行命令 :

wsl --set-version 分发版名称 版本号

例如,将Ubuntu18.04 设置为WSL2的命令为 wsl --set-version Ubuntu-18.04 2

该步骤会花一些时间,如果安装成功,会出现转移成功

如果出现Please enable the Virtual Machine Platform Windows feature and ensure virtualization is enabled in the BIOS,则说明BIOS中虚拟机未打开,请参考另一篇文章在BIOS中打开虚拟机

说明

WSL2 是基于虚拟机的,所以可以在后台运行各种任务,比如 Docker 等等,但是带来的相应问题就是会占用一部分内存,使用 wsl --shutdown 可以再不使用的时候停止它,以节约资源。

下面我以kali作例子:

装好过后开始菜单会有kali字样的快捷方式,先重启一下(这不重要),运行过后有一个cmd在模拟终端。操作完全和终端一样,字体有点美丽大家凑合着看奥。

简单科普一下常用命令:(本段原创)

sudo:在所有命令之前加上sudo(空格)就可以以root执行.

apt-get:Advanced Package Tool,又名apt-get,是一款适用于Unix和Linux系统的应用程序管理器。命令大概就像这样:(不用执行,看看就好)

sudo apt-get install openvas #一款开源漏洞寻找工具
sudo apt-get update
sudo apt-get upgrade

“终端”打开过后先注册用户,不能和windows用户名相同,不能是root输入密码是看不到的,你就看着键盘输,输错了没关系系统会自己重新让你输入。注册过后——

先换源。非常建议在Windows里面换源,kali子系统默认连记事本都没有,装来搞去能烦死你,尤其是kali官方源那个比**网盘还*的速度能憋死你。(新手避坑!)

kali换源方法如下:(Windows在后面)

首先更新apt :sudo apt-get update

然后安装vim:sudo apt-get install vim

接着更换源:sudo vim /etc/apt/sources.list, :wq!

#中科大
deb  Index of /kali/ kali-rolling main non-free contrib
deb-src  Index of /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  Index of /kali/ | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror kali-rolling main contrib non-free
deb-src  Index of /kali/ | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror kali-rolling main contrib non-free
#浙大
deb  Index of /kali/ kali-rolling main contrib non-free
deb-src  Index of /kali/ kali-rolling main contrib non-free
#东软大学
deb  开源镜像站 | 大连东软信息学院 kali-rolling/main non-free contrib
deb-src  开源镜像站 | 大连东软信息学院 kali-rolling/main non-free contrib
#官方源
deb  Index of /kali kali-rolling main non-free contrib
deb-src  Index of /kali kali-rolling main non-free contrib
转载自msdn,原文链接

Windows下给WSL子系统(Kali)换源,使用binwalk,outguess等工具_小哈里的博客-CSDN博客_windows子系统换源​blog.csdn.net/qq_33957603/article/details/119717481正在上传…重新上传取消https://link.zhihu.com/?target=https%3A//blog.csdn.net/qq_33957603/article/details/119717481

Windows:WSL1打开类似下面这个路径

C:\Users\你的名字\AppData\Local\Packages\KaliLinux.54290C8133FEE_ey8k8hqnwqnmg\LocalState\rootfs\etc\apt

里面的那个list文件,我用的notepad2打开的,记事本应该是也可以的,打开换源。粘贴一组deb进去替换掉原来的(不要换官方的!换中科大的!!这里因为CSDN会识别出一些链接直接变成Index之类的,不要用这个,这样会报错,如果嫌麻烦直接百度,百度上一大堆)新手避坑!

wsl2:资源管理器左边划到最底下有个linux:

 

 

 

这里有两个sources.list我不理解,如果是普遍现象的话,两个都改就好了 

接下来也很重要,给root换密码。

sudo passwd root

也看不到密码,闭着眼睛输就行。

然后就是

sudo apt-get update

sudo apt-get dist-upgrade

想知道这些命令是什么,参阅

update和upgrade分别是更新什么呀?

首先说明一下update和upgrade分别是更新的是什么:

    update是下载源里面的metadata的. 包括这个源有什么包, 每个包什么版本之类的.
    upgrade是根据update命令下载的metadata决定要更新什么包(同时获取每个包的位置).

ps:安装软件之前, 可以不upgrade, 但是要update. 因为旧的信息指向了旧版本的包, 但是源的服务器更新了之后旧的包可能被新的替代了, 于是你会遇到404...

作者:James Swineson
链接:https://www.zhihu.com/question/21732981/answer/19143492
来源:知乎
————————————————
版权声明:本文为CSDN博主「桁桁8道」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/wangyezi19930928/article/details/54928201

默认的kali是没有图形界面的,下面安装图形界面:先sudo su,然后——

apt-get install kali-desktop-xfce

apt-get install xorg xfce4 xrdp

第二个小白坑点来了!因为这是精简全新的kali(你见过哪个电脑系统200m)安装最后会报错:

E: Sub-process /usr/bin/dpkg returned an error code (1)

解决方法:还是先要执行上面那个安装命令,出现报错后按照下面的解决方法:


将info文件夹更名

sudo mv /var/lib/dpkg/info /var/lib/dpkg/info.bk

新建一个新的info文件夹

sudo mkdir /var/lib/dpkg/info

安装修复

sudo apt-get update
sudo apt-get install -f 

执行完上一步操作后,在info文件夹下生成一些文件,现将这些文件全部移到info.bk文件夹下

sudo mv /var/lib/dpkg/info/* /var/lib/dpkg/info.bk

把自己新建的info文件夹删掉

sudo rm -rf /var/lib/dpkg/info

恢复原有info文件夹,修改名字

sudo mv /var/lib/dpkg/info.bk /var/lib/dpkg/info

到这里已经成功安装了,但我还遇到了相关文件的缺失,例如

/etc/apache2/mods-available/dav_svn.conf

但是现在至少能够正常安装了,直接索性卸载重装

sudo apt-get --purge remove libapache2-mod-svn 
sudo apt-get --purge remove libapache2-svn 
sudo apt-get autoremove

再install一边,恢复正常
————————————————
版权声明:本文为CSDN博主「Mr.Stick」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/stickmangod/article/details/85316142

修复完成再执行一遍

apt-get install kali-desktop-xfce

apt-get install xorg xfce4 xrdp

这里科普一下xrdp,xfce,xorg是什么:(不需要操作,后面会教)

安装指令,xfce4中途有需要选择项目,需要注意:
sudo apt update -y && sudo apt upgrade -y && sudo apt install xorg -y && sudo apt install xfce4 -y && sudo apt install xrdp -y
获取最新的资源项目

sudo apt update -y && sudo apt upgrade -y
#安装xorg(包括显卡驱动、图形环境库等等一系列软件包)

sudo apt install xorg
#安装xfce4(运行在类Unix操作系统上,提供轻量级桌面环境)

sudo apt install xfce4
#安装xrdp(一种开源的远程桌面协议(RDP)服务器)

sudo apt install xrdp
#配置xrdp(配置端口), 默认端口号为3389,此处配置假设为9999

sudo sed -i 's/port=3389/port=9999/g' /etc/xrdp/xrdp.ini
#向.xsession中写入xfce4-session

sudo echo xfce4-session >~/.xsession
#重启xrdp服务

sudo service xrdp restart       
#停止xrdp服务:

sudo service xrdp stop
————————————————
版权声明:本文为CSDN博主「LiuBeiRong」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/zyklbr/article/details/114321808

下面偶们会用远程控制的方法来连接到子系统的图形界面:后面有新的kex,实现kali官网的

 

win+r打开mstsc。(先不输入)

在”终端“(不是cmd)输入:

sed -i 's/port=3389/port=3390/g' /etc/xrdp/xrdp.ini

设置远程连接端口。3390可以自己改,不要改到自己正在用的端口上了。

echo xfce4-session >~/.xsession

service xrdp restart

#重启xrdp服务,以后每次重启windows都要在终端输入这个service xrdp restart才可以开启虚拟桌面!

之后在远程连接那里编辑凭据,输入你最开始注册的用户和密码。

最后在cmd(windows宿主机里的)输入ipconfig查看本机ip,如下图,记住ipv4地址。在远程控制窗口输入类似我输入的东西“ip:端口”即可

刚进去的时候是黑屏,稍等一下……(取决于宿主机性能,第一次会等很久)

就非常奈斯的开机了,可以使用。

有以下要注意的,kali内部不能关机,除非你直接关Windows或者如果要关闭单独的kali,在本机的powershell中输入wsl --shutdown。此外要想使用WSL,建议首先了解WSL基础指令,只放链接WSL 的基本命令https://learn.microsoft.com/zh-cn/windows/wsl/basic-commands?source=recommendations

kali调不了显示器大小和缩放,凑合着用吧(

 kali全屏过后退出来必须先缩小远程窗口。

 任务管理器看得到kali进程

kex:输入下列指令

sudo apt install -y kali-win-kex

完了就输入kex,输入个密码。会报错,不慌……

然后windows安装xming(懒得放安装了),安装好了运行,按照如下配置

 

 这个时候子系统输入startxfce4!!

漂——亮!

我的开始菜单会乱跑,有人解决了吗,求经验(

附上一点WSL教程

基本 WSL 命令

通过 WSL 安装的 Linux 发行版最好使用 PowerShell 或 Windows 命令提示符 (CMD) 进行管理。 有关使用 WSL 时需要熟悉的基本命令的列表,请参阅 WSL 命令参考指南。

此外,许多命令在 Windows 和 Linux 之间都具有互操作性。 下面有几个示例:

  • 从 Windows 命令行运行 Linux 工具:打开 PowerShell,通过输入以下内容使用 Linux ls -la 命令显示 C:\temp> 的目录内容:wsl ls -la

  • 混合 Linux 和 Windows 命令:在此示例中,使用 Linux 命令 ls -la 列出目录中的文件,然后使用 PowerShell 命令 findstr 筛选包含“git”的单词的结果:wsl ls -la | findstr "git"。 这还可以通过混合使用 Windows dir 命令和 Linux grep 命令来实现:dir | wsl grep git

  • 直接从 WSL 命令行运行 Windows 工具:<tool-name>.exe。例如,若要打开 .bashrc 文件(启动 Linux 命令行时运行的 shell 脚本),请输入:notepad.exe .bashrc

  • 使用 Linux Grep 工具运行 Windows ipconfig.exe 工具:ipconfig.exe | grep IPv4 | cut -d: -f2。此示例演示了 Windows 文件系统上的 ipconfig 工具,该工具用于显示当前 TCP/IP 网络配置值,然后通过 Linux 工具 grep 被筛选为仅 IPv4 结果。

  • 设置 WSL 开发环境 | Microsoft Learn

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

kali子系统安装教程(包含避坑指南,新手必看!) 的相关文章

  • Oracle面试题附带答案

    1 你要对操纵Oracle数据库中的数据 下列哪个选项表示Oracle中select语句的功能 xff0c 并且不需要使用子查询 xff08 C xff09 A xff0e 可以用select语句改变Oracle中的数据 B xff0e 可
  • C结构体中数据的内存对齐问题

    转自 xff1a http www cnblogs com qwcbeyond archive 2012 05 08 2490897 html 32位机一般默认4字节对齐 xff08 32位机机器字长4字节 xff09 xff0c 64位机
  • 解决codeblocks无法调试的问题

    错误提示 xff1a ERROR You need to specify a debugger program in the debuggers 39 s settings For MinGW compilers it 39 s 39 gd
  • 求出现在字符串1而没有出现在字符串2中的字符

    编写一个函数 xff0c 它的功能是将未在字符串s中出现 xff0c 而在字符串t中出现的字符 xff0c 型参一个新的字符串放在u中 xff0c u中的字符按原字符的顺序排列 xff0c 但要去掉重复字符 至少会想到去考察t xff0c
  • 什么情况下需要建立索引? 索引的作用?为什么能够提高查询速度?(索引的原理) 索引有什么副作用吗?

    https www cnblogs com Berryxiong p 6249427 html 为什么能够提高查询速度 xff1f 索引就是通过事先排好序 xff0c 从而在查找时可以应用二分查找等高效率的算法 一般的顺序查找 xff0c
  • 100w测试数据,为什么加了索引查询反而变慢了?

    建表 xff1a create table tb test fval varchar 50 插入测试数据 xff1a DELIMITER CREATE DEFINER 61 96 root 96 64 96 localhost 96 PRO
  • linux环境下使用gdb调试c和c++ 学习笔记

    第二十三课 xff1a GDB简介 哔哩哔哩 bilibili gdb调试 xff1a 1 gcc a c b c c c o app g g 编译器会保留函数名和变量名 2 启动gdb gdb 可执行程序的名字 xff08 gdb app
  • ubuntu下eth0网卡信息不见了

    ubuntu终端下命令ifconfig的问题解决 问题一 ifconfig之后只显示lo 没有看到eth0 问题二 ifconfig之后显示eth0 xff0c 但是没有显示静态IP地址 xff0c 即无inet 地址 广播 掩码 问题三
  • 计算机指令

    指令系统的设计原则包括 xff1a 完备性 xff1a 该有的都要有 有效性 xff1a 简洁 加速常用操作 没有歧义 规整性 xff1a 对称 均匀 一致 xff08 简单源于规整 xff09 兼容性 xff1a 之前 之后的都能用 下面
  • shell基础学习笔记1

    shell是什么 xff1f shell是一个命令解释器 xff0c 他为用户提供了一个向linux内核发送请求以便运行程序的界面系统级程序 xff0c 用户可以用shell来启动 挂起 停止甚至编写一些程序 其实就是输入命令的那个交互界面
  • linux达人养成学习笔记1

    2 4 分区之分区设备文件名与挂载 1 swap分区 xff0c 没有挂载点 xff0c 是文件系统类型 xff08 交换分区 xff0c 电脑内存 lt 4G xff0c 可分为内存2倍 xff1b gt 4G分同等大小 xff09 2
  • shell编程之变量学习小结

    在Bash中 xff0c 变量的默认类型都是字符串型 变量的分类 1 用户自定义变量 xff1a 变量可以自定义 xff0c 但是对系统生效的环境变量名和变量作用是固定的 2 环境变量 xff1a 这种变量中主要保存的是和系统操作环境相关的
  • 程序员的自我修养

    1 Provide Options Don 39 t make lame Excuses 提供各种选择 xff0c 不要找蹩脚的借口 2 Don 39 t live with Broken Windows 不要容忍破窗户 3 Be a ca
  • 二阶三阶四阶魔方旋转公式

  • 什么是回调函数?

    为了弄明白这种函数的奥妙 xff0c 首先提出三个问题 xff1a 1 回调函数是什么东西 xff1f 2 回调函数怎么开发 xff0c 怎么使用 xff1f 3 回调函数的作用 xff0c 应该在什么情况下使用 xff1f 带着问题来学习
  • Toastmasters会议小结

    第四战队第二次会议记录 舰队分享 P1 Ice Breaker Speech 分享人 xff1a 邱爱珍 爱珍结合自己的P1演讲经验 xff0c 从以下五个方面给出相应的意见 Book time to start 尽早在系统中预约自己的第一
  • 如何做好自己的时间管理

    认识时间障碍掌握时间管理的原则掌握各种有效管理隔个人时间的工具 没有目标谈什么时间管理 xff1f xff1f xff1f 今天需要完成的事情 这个周需要完成的事情 这个月需要完成的事情 时间管理的错误观念 时间管理只是常识 xff0c 只
  • 参考别人的面试总结:linux C/C++服务器后台开发面试题总结

    参考别人的面试总结 xff1a linux C C 43 43 服务器后台开发面试题总结 参考博客 xff1a http www cnblogs com nancymake p 6516933 html 基础语言知识方面 xff1a 1 使
  • 常用Git命令

    查看文件当前状态 xff1a git status 查看文件提交信息 xff1a git log 将未被追踪的文件 xff08 工作区 xff09 提交至暂存区 xff1a git add 文件名 所有修改的文件提交至暂存区 xff1a g
  • 直接插入排序算法实现学习

    include lt iostream gt using namespace std void show int a int n for int i 61 0 i lt n i 43 43 cout lt lt a i lt lt 34 t

随机推荐