poqdavid Asked: 2022-10-10 05:34:08 +0800 CST2022-10-10 05:34:08 +0800 CST 2022-10-10 05:34:08 +0800 CST WSL2 Kali 不会停止,它总是在启动时启动 772 在我注意到 WSL2 总是在我的 PC 上运行之后,我想知道发生了什么,在我检查后发现 Kali 正在运行,不管我做了什么,它并没有停止,我也尝试重新安装所有东西,但这也没有改变任何事物。 所以,我想知道是否有人有这个问题的解决方案,所以一旦终端窗口关闭,Kali 就会停止。 这是在运行wsl --shutdown命令之后。 kali-linux windows-subsystem-for-linux 2 个回答 Voted NotTheDr01ds 2022-10-10T10:46:43+08:002022-10-10T10:46:43+08:00 简短的回答:Windows 中的某些东西可能正试图访问\\wsl.localhost\kali-linux. 每当访问该路径时,分发就会启动,至少在 Windows 11 上是这样。 更多详情: 我最近自己也遇到过类似的情况,但我不确定你是否遇到了同样的事情。 就我而言,我有: 安装了多个发行版 其中之一是带有本地 Stable Diffusion 安装的专用 Debian 发行版 debugShell=true设置在.wslconfig. 这是 WSL 0.51.2及更高版本中的一项功能,每当 WSL2 VM 启动(或重新启动)时,它都会显示一个单独的调试 shell。 当我没有做任何与 WSL 相关的事情时,我注意到调试 shell(以及 WSL2 VM)正在启动,通常是在启动 Windows 后不久。然后我注意到当我通过浏览器 Vivaldi 启动时它正在发生。唯一启动的发行版是 Stable Diffusion 发行版。 如果我重命名发行版(通过注册表黑客),它将不再启动。如果我重新命名它,它将在启动 Vivaldi 时启动。 我终于找到了一个事实,即我使用 Vivaldi 将文件(稳定扩散)检查点直接下载到使用\\wsl.localhost\<distro>路径的分发中。当 Vivaldi 启动时,我相信它会快速扫描列表中的每个文件,看看它是否仍然存在。此操作导致分发开始。 在您的情况下,您提到 Kali 在关闭后立即重新启动,我假设这意味着某些文件在 Kali 中打开,并且在关闭时尝试重新打开它(分发停止)。 如果你有 Windows 11,你可以从 Microsoft Store 安装预览版,以获得 Kali 启动时间的“视觉指示”。使用以下内容创建或编辑%userprofile%\.wslconfig(这是您的Windows配置文件,而不是 WSL): [wsl2] debugShell=true 然后wsl --shutdown。下次 Kali 自己启动时,你会看到一个调试控制台窗口。你不需要对它做任何事情——它只是一个 Kali 启动的视觉指示。您可以在它出现时将其关闭。 我希望这可能会给你一些关于Kali何时开始的确切指示,并基于此,也许是导致它的原因。 Best Answer NotTheDr01ds 2022-10-12T07:17:11+08:002022-10-12T07:17:11+08:00 让我们采取不同的方法。这仍然基于我之前回答中的理论,但是尝试确定发生了什么的不同方式。 由于您已经安装(来自评论),您可能还拥有SysInternals Suiteautoruns.exe的其余部分。如果没有,请安装它,或者至少安装它。然后:Procmon 跑procmon.exe 过滤器->过滤器...(或Ctrl+ L,或图标) 创建一个路径过滤器,其中包含 \\wsl 将过滤器添加到列表中,然后确定对话框 通过图标、Ctrl+L或Edit -> Clear Display重置显示 寻找访问的东西\\wsl.localhost\kali-linux\...。 我最终发现,出于某种原因,Asus Armory Crate 正试图访问一些旧的(不再在我的系统上)发行版,包括 Kali。我将尝试卸载(也许重新安装)以查看是否可以消除此问题。但我真的不知道为什么 Armory Crate 会这样做。现在我想知道它是否甚至可能是您系统上的相同进程。
简短的回答:Windows 中的某些东西可能正试图访问
\\wsl.localhost\kali-linux
. 每当访问该路径时,分发就会启动,至少在 Windows 11 上是这样。更多详情:
我最近自己也遇到过类似的情况,但我不确定你是否遇到了同样的事情。
就我而言,我有:
debugShell=true
设置在.wslconfig
. 这是 WSL 0.51.2及更高版本中的一项功能,每当 WSL2 VM 启动(或重新启动)时,它都会显示一个单独的调试 shell。当我没有做任何与 WSL 相关的事情时,我注意到调试 shell(以及 WSL2 VM)正在启动,通常是在启动 Windows 后不久。然后我注意到当我通过浏览器 Vivaldi 启动时它正在发生。唯一启动的发行版是 Stable Diffusion 发行版。
如果我重命名发行版(通过注册表黑客),它将不再启动。如果我重新命名它,它将在启动 Vivaldi 时启动。
我终于找到了一个事实,即我使用 Vivaldi 将文件(稳定扩散)检查点直接下载到使用
\\wsl.localhost\<distro>
路径的分发中。当 Vivaldi 启动时,我相信它会快速扫描列表中的每个文件,看看它是否仍然存在。此操作导致分发开始。在您的情况下,您提到 Kali 在关闭后立即重新启动,我假设这意味着某些文件在 Kali 中打开,并且在关闭时尝试重新打开它(分发停止)。
如果你有 Windows 11,你可以从 Microsoft Store 安装预览版,以获得 Kali 启动时间的“视觉指示”。使用以下内容创建或编辑
%userprofile%\.wslconfig
(这是您的Windows配置文件,而不是 WSL):然后
wsl --shutdown
。下次 Kali 自己启动时,你会看到一个调试控制台窗口。你不需要对它做任何事情——它只是一个 Kali 启动的视觉指示。您可以在它出现时将其关闭。我希望这可能会给你一些关于Kali何时开始的确切指示,并基于此,也许是导致它的原因。
让我们采取不同的方法。这仍然基于我之前回答中的理论,但是尝试确定发生了什么的不同方式。
由于您已经安装(来自评论),您可能还拥有SysInternals Suite
autoruns.exe
的其余部分。如果没有,请安装它,或者至少安装它。然后:Procmon
procmon.exe
\\wsl
寻找访问的东西
\\wsl.localhost\kali-linux\...
。我最终发现,出于某种原因,Asus Armory Crate 正试图访问一些旧的(不再在我的系统上)发行版,包括 Kali。我将尝试卸载(也许重新安装)以查看是否可以消除此问题。但我真的不知道为什么 Armory Crate 会这样做。现在我想知道它是否甚至可能是您系统上的相同进程。