惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
MyScale Blog
MyScale Blog
Jina AI
Jina AI
爱范儿
爱范儿
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
I
Intezer
The Cloudflare Blog
T
Threat Research - Cisco Blogs
G
Google Developers Blog
Stack Overflow Blog
Stack Overflow Blog
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
D
Docker
AI
AI
Scott Helme
Scott Helme
Attack and Defense Labs
Attack and Defense Labs
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
L
LangChain Blog
Recent Announcements
Recent Announcements
Security Latest
Security Latest
Hugging Face - Blog
Hugging Face - Blog
W
WeLiveSecurity
Last Week in AI
Last Week in AI
Security Archives - TechRepublic
Security Archives - TechRepublic
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
P
Proofpoint News Feed
S
Securelist
S
Security Affairs
Project Zero
Project Zero
博客园 - 叶小钗
Google DeepMind News
Google DeepMind News
T
Tor Project blog
A
About on SuperTechFans
V2EX - 技术
V2EX - 技术
宝玉的分享
宝玉的分享
T
Tenable Blog
博客园 - 聂微东
人人都是产品经理
人人都是产品经理
Simon Willison's Weblog
Simon Willison's Weblog
Forbes - Security
Forbes - Security
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
V
V2EX
AWS News Blog
AWS News Blog
The GitHub Blog
The GitHub Blog
酷 壳 – CoolShell
酷 壳 – CoolShell
P
Privacy & Cybersecurity Law Blog
阮一峰的网络日志
阮一峰的网络日志
I
InfoQ
C
CXSECURITY Database RSS Feed - CXSecurity.com
H
Hacker News: Front Page
美团技术团队

See you soon

试试将文章版本化管理吧 | See you soon 使用 Quadlet 将 Podman 中的 Postgres 当作 systemd 服务运行 | See you soon 大他者,那个无时无刻都在盯着你的东西 | See you soon Laws of Software Engineering,软件工程定律 | See you soon 浅记多因素身份认证 | See you soon Linux 内核中的度量单位 | See you soon 重置 GPG 智能密钥 | See you soon 向 NAS 引入 samba | See you soon 无法重复键入的 Fcitx5 | See you soon ZFS 降级事故 | See you soon 记被 XanMod Kernel 和 AppArmor 联合坑的一次踩坑 | See you soon agent 的 skill 与 toolcall | See you soon 记一次服务器被挂恶意挖矿二进制 | See you soon 活着的 Arc | See you soon 令 acme.sh 使用 Cloudflare 的 DNS API 签发与续签证书 | See you soon 于 Tokio 中卸载 CPU Bound 任务 | See you soon 如我所见,梦破碎的时候 | See you soon 74LS 家族手册 | See you soon JDK Projects 备忘录 | See you soon 关于历史 | See you soon 用 curl 下载 OnePlus 的 ROM | See you soon 实用命令切片 | See you soon 再见,Oh My Zsh。 | See you soon 你不应该复用 strings.Builder | See you soon 博客的明日 | See you soon 被 AppArmor 击杀的 Dockge | See you soon AI 时代的自我 | See you soon 支持删除的布隆过滤器 | See you soon 基于栈的虚拟机与基于寄存器的虚拟机 | See you soon RVA23 包含了什么 | See you soon Rust 的边界检查是否已经有很大的进步 | See you soon 使用 Rust 编写操作系统:Barebones | See you soon 使用 Rust 编写操作系统:引言 | See you soon 编译器笔记:rope | See you soon 编译器笔记:CST | See you soon Paradoxical 札记 | See you soon 简单的相似去重算法(基于向量) | See you soon 更加现代的 PaperMC Minecraft 插件设计指南 | See you soon 简单的 CFG 语法分析方法 | See you soon 简单地使用 Caddy 实现 CORS 配置 | See you soon 让 OpenCV 可以被静态链接 | See you soon 图片搜索笔笺 | See you soon 电路板设计笔记-保护 | See you soon 使用 Rust 实现 SnowflakeId | See you soon 农夫乐事 FaQ 启示 | See you soon 使用 Rust 实现拓展系统札记 | See you soon 遗传学定律的代码实现 | See you soon EN:The Journey of Rust and Procps | See you soon ZH:Rust 与 Procps 之旅 | See you soon 使用 debootstrap 与 schroot 构建一个纯净环境 | See you soon GPG添加新的用户信息 | See you soon GSoC2024 笔记:使用 Rust 重新实现 procps | See you soon JWT 小册 | See you soon 使用密钥登录 SSH | See you soon Guava:Cache | See you soon 编译器笔记:增量编译 | See you soon Gradle秘境:添加一个类似modCompileOnly的依赖块 | See you soon Minecraft:原始经济系统设计简述 | See you soon TinyRemapper笔记 | See you soon MicroOS:进阶 | See you soon MicroOS:起步 | See you soon Swapfile 指北 | See you soon GPG 物理密钥的安装与密钥的迁移 | See you soon 用GPG签名告诉大家这就是我的提交 | See you soon DFS:深度优先搜索 | See you soon 文章翻译:从init.vim到init.lua | See you soon 目录遍历攻击 | See you soon 如何挂载.img文件,以及如何使用QEMU模拟arm64环境 | See you soon 在树莓派上编译 OpenCV | See you soon
关于卸载BlueStacks后遇到的问题 | See you soon
Krysztal Huang · 2021-06-27 · via See you soon

BlueStacks 是一个超强的安卓模拟器,由于最近有需求所以安装了一个 BlueStacks。但是在遇到了一系列问题后我决定卸载,然而因此我又遇到了一系列问题…

为什么我要卸载 BlueStacks?

因为他不和 HyperV 兼容,虽然 BlueStacks5 兼容,但是他不能打开 Root,所以我把他卸载了。

虽然 BlueStacks4 有 HyperV 兼容版本,但是几乎随时都在崩溃,所以也抛弃了。

在我安装完毕 BlueStacks5 后我发现我的 Docker 服务启动失败,仔细一想应该是 HyperV 被 BlueStacks5 的引擎占用了所以没有在意,在卸载 BlueStacks5 后甚至以为重启一下就行,但是我错了,错的还非常严重

噩梦就此开始。

噩梦

首先我的 Docker 服务启动失败了,

DockerError

然后我的 WSL2 无法启动

WSL2Error

随后我检查了我的系统功能配置

SysConfig

检查了我的虚拟化配置

SysConfig2

他们都是正常的

重新打开关闭了他们,重启后依然遇到了这些问题,完全无法解决

非常绝望,在这个时候甚至想重装 Windows,但是综合考虑到代价又感觉似乎太重了,还是搁置等某一天能自动解决这个问题

直到我脑子一闪想到了在 Docker 不支持 WSL2 后端时候打开 HTTP API 的方法:通过 socket 工具把数据暴露出来

或许 Docker 现在用了 WSL2 后端也依赖 socket?而且 HyperV 内的 WSL2 和外界通信也需要使用 socket?

Windows 不是 UNIX-like 系统,早就去掉了 POSIX 子系统,所以 Windows 内多半有一个 socket 管理器,那么 Windows 内部的 socket 管理器是不是被 BlueStacks 改过?

醒梦

经过资料的查询,果然 Windows 内部为了支持 UNIX 的 Socket 和一系列其他网络协议做了 winsock,但是没有查找到相应的 BlueStack 会修改 winsock 的资料

然而我查到了 winsock 会导致 WSL2 无法工作的 issue

当然 WSL2 无法工作意味着 Docker 也无法工作

Winsock module breaks WSL2

经过推测,没办法得出结论,只能死马当活马医了

在这个 issue 里面我发现了这么一条

i cannot use WSL 2 and proxifier at the same time, netsh winsock reset will fix it temporarily.

同时在这里有一个跳转,跳转到 Docker 的项目,在这里它提到了一条很重要的信息

there was a bug with microsoft/WSL#4177

想必就是 WSL2 的问题了,我回去继续看解决方法。

但是 issue 中其他回复对我是无用的,所以我只找到了这一条大概是有效的命令

字面上看,重置 netsh 服务当中的 winsock。

事实证明它成功了,我的 WSL2 又活了过来,Docker 也正常工作了

总结

虽然搞的莫名其妙,噩梦的非常莫名其妙,修好系统也是莫名其妙,但是总归是修好了。

还好有一点 Docker 可能和 socket 相关的记忆,让我想到了 Docker 启动失败是否和 socket 有关,抓住了一点点线索完成了修复

另外现在好像也没有 HyperV 兼容的安卓模拟器,真难过