分享到:

太长不看版:

管理员权限CMD运行以下五条命令,无需重启:
netsh winsock reset
net stop VMAuthdService
net start VMAuthdService
net stop VMwareHostd
net start VMwareHostd


直接复制自知乎的原理版:

题主是不是因为吃鸡用了某游加速器?

或者晚上空虚寂寞时用了某些方法疏通管道?

管理员运行netsh winsock reset帮你解决一切烦恼。

好吧,说正经的,虚拟机和主机之间的通信,基本上是以 socket 的方式进行通信的(这里的 socket 泛指一切 socket,包括本地的、网络的等等)

某个程序通过 LSP 给系统的 TCP/IP stack 注入了自己的 DLL,如果程序退出时,没有把这个 DLL 收回来,或者回收失败、没有彻底回收等,那么这个 DLL 残留的东西影响了整个 TCP/IP stack,而且是永久性的。

每个 socket 收发的数据包是要经过 TCP/IP stack 的,这个 DLL 可能会对这些 socket 的数据包做了些什么操作(比如修改数据、直接丢弃等等),然后所以你的虚拟机就黑屏了……

netsh winsock reset这条命令会重置,所以那些被注入的 DLL 就被清理掉了,所以一切都是最初的模样了……

作者:知乎用户
链接:https://www.zhihu.com/question/66422773/answer/257812909
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。