WSL2 Kali 整理

1:安装

Windows 11 wsl2 安装全流程:https://blog.csdn.net/u011119817/article/details/130745551

2:常用命令

命令作用
-v查看 wsl2 版本,建议使用 wsl --update 更新一下(别开代理更新)。
-l -v查看已安装的 Linux 发行版,以及状态和版本。
-l -o查看可安装的 Linux 发行版,需要联网和魔法。
–install <Linux发行版名称>指定发行版本名称安装。
–unregister <Linux发行版名称>指定发行版本名称卸载。
-d <Linux发行版本名称>指定发行版本名称启动。
–set-default <Linux发行版本名称>指定发行版本名称缺省。【只使用 wsl 命令默认启动 缺省发行版 Linux】
–shutdown指定发行版本名称关闭。【默认情况下退出 wsl 后过个几秒钟自动关闭】
-u <Linux内部用户>指定 Linux 内部用户,默认 root 用户登录。
–export <Linux发行版本名称> <导出到指定路径>导出 Linux 发行版镜像到指定路径下。
–import <自定义Linux发行版本名称> <指定安装目录> <指定镜像文件> --version <指定版本>导入 Linux 发行版镜像。

3:镜像迁移

默认情况下 wsl2 安装的所有镜像都在 C 盘,可以先安装到 C 盘,后期在迁移到其它盘符中。

注意:迁移后可能会导致GUI无法显示,不在意可以迁移。搜索应用时,会出现 Kali Linux,迁移后不能使用该应用直接打开 Kali,否则会重新安装一个新的 Kali。

# 安装 kali-liunx,安装后默认在 C 盘。
wsl --install kali-linux

# 将 kali-linux 的镜像迁移到 E:\wsl2_linux 目录下。
wsl --export kali-linux "E:\wsl2_linux\kali.tar"

# 将 kali-linux 的镜像导入到 wsl2 中。
wsl --import Kali "E:\wsl2_linux" "E:\wsl2_linux\kali.tar" --version 2

# 将 kali-linux 卸载
wsl --unregister kali-linux

以上方法同样可用于 wsl 的快照,如果 linux 被玩坏了也可以这样干。

4:文件共享

4.1:Windows -> Linux

Windows 访问 Linux 的资源方式,直接打开任务管理器,左下角此电脑同级选项有一个Linux,这里可以直接访问到 Linux 的根目录资源。

4.2:Linux -> Windows

Linux 下的 /mnt 目录自动挂在了 Windows 的所有盘符。

5:镜像网络

5.1:注意

wsl 没有升级到 2.x 之前,只能通过 Hyper-v 管理器创建网卡,再通过用户目录下的 .wslconfig 文件绑定 wsl。

升级到 2.x 后,发布了镜像网络,镜像网络会根据宿主机的网卡个数,自动生成多张网卡,与宿主机网卡同步,Mac、IP都相同。

wsl 升级到 2.x 需要 Win 11 专业版的 23H2 版本,升级命令:wsl --update --pre-release

5.2:配置

配置镜像网络后,只能通过 127.0.0.1 访问,避免过度占用宿主机端口,其它 IP 需配置 hostAddressLoopback 参数。

编辑 %USERPROFILE% 路径下的 .wslconfig 文件 (没有就创建),添加以下配置:

# wsl 性能配置
[wsl2]
# 默认4GB内存
memory=8GB
# 默认2个处理器
processors=4
# 默认2GBswap
swap=2GB

# 镜像网络配置
[experimental]
# 开启自动回收内存,可在 gradual, dropcache, disabled 之间选择
autoMemoryReclaim=gradual 
# 开启镜像网络
networkingMode=mirrored 
# 开启 DNS Tunneling
dnsTunneling=true 
# 开启 Windows 防火墙
firewall=false 
# 开启自动同步代理
autoProxy=true 
# 开启自动释放 WSL2 虚拟硬盘空间
sparseVhd=true 
# 允许 127.0.0.1 以外的 IP 访问 wsl,默认只允许 127.0.0.1 访问 wsl
hostAddressLoopback=true

6:Linux 常见问题

6.1:Sysvinit

wsl 启动的 Linux 无法使用 systemd 来管理服务,只能使用 sysvinit 对应的 service 来管理服务,例如:service docker start

6.2:Docker

wsl 安装 Docker 后,启动时可能会有如下报错:

# 这个报错不用管,其实 Docker 已经启动了,没有什么太大影响。
mount: /sys/fs/cgroup/cpuset: wrong fs type, bad option, bad superblock on cgroup, missing codepage or helper program, or other error.
       dmesg(1) may have more information after failed mount system call.

启动 Docker 后,创建一个容器后,在宿主机中访问失败,需要在 /etc/docker/daemon.json 文件中添加以下配置并重启 Docker:

{
  "iptables": false
}

6.3:VMware

安装 Hyper-V 后,在使用 VMware16 过程中,虚拟机启用了 CPU 的 虚拟化 Intel VT-x/EPT 或 AMD-V/RVI(V) 选项,很可能出现以下报错:

ERROR:此平台不支持虚拟化的 Intel VT-x/EPT

这是因为 Hyper-V 与 VMware16 冲突了。

  1. 打开 PowerShell(管理员),执行:bcdedit /set hypervisorlaunchtype off 开启后禁止加载 Hyper-V,设置为 auto 可恢复。
  2. 重启主机。
  3. 重新打开 VMware16,启动虚拟机成功。

好了,结果是 wsl2 起不来了,开启 CPU 虚拟化的 WMware 虚拟机能起来。。。

VMware 中的虚拟机想要用 Docker 就必须开启 CPU 虚拟化,但又会与 wsl2 起冲突,难搞哦,二选一。。。

只要 VMware 不开启 CPU 虚拟化,不使用 Docker,两者就可以共存,否则就得牺牲掉 wsl2 或者牺牲掉 VMware 的 CPU虚拟化。

  • 10
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

忽如一夜春风来-

ni

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值