0
点赞
收藏
分享

微信扫一扫

WSL2 Kali 整理

知年_7740 2023-12-20 阅读 31

参考:

https://zhuanlan.zhihu.com/p/593263088

https://blog.itdevwu.com/post/1974/

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

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
 }

举报

相关推荐

0 条评论