• VM16Pro的Win10虚拟机安装Linux子系统Kali


    一、启用Windows功能

    启用后需重启
    
    • 1

    在这里插入图片描述
    在这里插入图片描述

    二、配置WSL

    wsl --update    #管理员启动Powershell执行,完成后将下面注册表Start更改为2
    
    • 1

    在这里插入图片描述

    三、安装Kali

    在这里插入图片描述

    四、安装kali基本工具包

    sudo apt install kali-linux-default #大约1G
    sudo apt install kali-linux-large  #较全的工具包,体积7G以上
    
    • 1
    • 2

    在这里插入图片描述

    五、图形化

    apt install kali-win-kex
    #安装完运行
    cd ~ 
    kex --sl -s #无缝模式,需要安装 VcXsrv ,安装后一直默认下一步就可,最后在Linux终端输入startxfce4,Kali的工具栏将出现在Windows顶
    kex --esm -i -s #远程连接方式进入
    #https://www.kali.org/docs/wsl/win-kex-sl/#start-session
    #https://sourceforge.net/projects/vcxsrv/
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    在这里插入图片描述

    六、适用的报错

    WslRegisterDistribution failed with error: 0x80004005
    WslRegisterDistribution failed with error: 0x80370114
    
    • 1
    • 2

    这个错误,需要先下载运行VcXsrv后再执行kex --sl -s
    在这里插入图片描述

    七、其他问题参考

    1. 设置快捷启动:https://zhuanlan.zhihu.com/p/558821631
    2. 解决systemctl命令无法使用,报错System has not been booted with systemd as init system (PID 1). Can‘t operate
    vim /etc/wsl.conf  #Linux子系统Root身份输入图中内容
    wsl --shutdown   #windows系统输入
    wsl -d kali-linux #重新启动子系统
    ps -p 1 #子系统查找内容如下则解决 
    #  PID TTY          TIME CMD
    #   1   ?     00:00:00 systemd
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    在这里插入图片描述
    3. 设置中文

    # 创建一个文件夹用于存放字体
    sudo mkdir -p /usr/share/fonts/windows 
    # 将Windows系统中的字体导入到kali中
    sudo cp -r /mnt/c/Windows/Fonts/*.ttf /usr/share/fonts/windows/
    # 下载字体管理器
    sudo apt install -y fontconfig
    
    # 打开配置文件
    sudo vim /etc/profile
    # 在上述文件尾部添加下面命令,然后wsl --shutdown 关闭,最后重启子系统即可
    export LANG=zh_CN.UTF-8
    export LANGUAGE=zh_CN.UTF-8
    export LC_ALL=zh_CN.UTF-8
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13

    4、32位二进制报错

    /usr/bin/kex: 行 389: /mnt/c/WINDOWS/system32/cmdkey.exe: 无法执行二进制文件:可执行文件格式错误
     Unable to find Win-KeX server (SL) running on host: 172.22.16.1/usr/bin/kex: 行 357: /mnt/c/WINDOWS/system32/tasklist.exe: 无法执行二进制文件:可执行文件格式错误
    
    • 1
    • 2

    执行以下命令

    sudo sh -c 'echo :WSLInterop:M::MZ::/init:PF > /usr/lib/binfmt.d/WSLInterop.conf'
    sudo systemctl unmask systemd-binfmt.service
    sudo systemctl restart systemd-binfmt
    sudo systemctl mask systemd-binfmt.service
    
    • 1
    • 2
    • 3
    • 4

    5、无缝模式报权限不够需要Root

    sudo -u kali startxfce4  #此方式运行
    #执行过程的警告输出,可以参考: https://zhuanlan.zhihu.com/p/587868390
    
    • 1
    • 2
  • 相关阅读:
    (72)MIPI DSI LLP介绍(十二)
    每日一题42:最小化字符串长度
    15 医疗挂号系统_【预约挂号】
    华为机试真题 C++ 实现【全量和已占用字符集】
    SSM+SB面试题收集
    JavaScript查找最长的公共前缀
    AtCoder 327G 组合数学
    关于线程池的常见问题
    C++初阶 类和对象(下)
    陪伴程序员的一条龙、一骑士 36 岁了
  • 原文地址:https://blog.csdn.net/weixin_44839457/article/details/133941038