检查方法:
建多个虚拟机看情况如何,尽量建几个不同系统的虚拟机,都黑屏可判断是VM的问题。
单单这个虚拟机黑屏,或者单单这个系统的虚拟机黑屏,VM对这个系统的兼容没做好。
多个虚拟机都出现不同程度的卡顿、黑屏,主机也卡,CPU、内存、磁盘占用居高不下。那么很有可能是主机配置过低,导致虚拟机可用的硬件资源太少,不足以支持虚拟机正常运行,才导致虚拟机的黑屏(启动太慢或者一直启动中)。
如果是安装虚拟机的时候黑屏,检查是否准确配置虚拟光驱的系统ISO文件路径(没设置的话,VM会全盘查找ISO文件,找不到就无法正常进入安装界面——不过一般一段时间内找不到VM会提示你找不到的)。
首先在电脑左下角的开始菜单中输入cmd,找到命令提示符,鼠标右键点击命令提示符,d出菜单之后选择以管理员身份运行,在命令提示符窗口中输入netshwinsockreset,然后重启计算机即可解决。作为一个刚接触springBoot和Angular的小白,决定使用Linux系统,一条指令就能安装各种环境,配置起来感觉比win10方便的多,实在是非常适合用来搞开发,然而在下只是一名家境贫寒的学生党,么有多余的钱买一台新的电脑,手上只有一台华硕的飞行堡垒5代fx80,众所周知,飞行堡垒装Linux系统是非常不稳的,身边很多的同学,包括一个学长,他的电脑是上代飞堡,Unbuntu用的好好的,突然显卡驱动就没了,导致笔记本不能外接显示器,也有同学根本就装不上显卡驱动。。。所以经过一番思想斗争,就决定还是使用vmware,整一个linux虚拟机。一开始虚拟机是能正常使用的,然而突然有一天打开电脑,打开虚拟机,再也无法进入系统,一遍又一遍重启也还是黑屏。
如图
解决问题
等了很久也没有反应,但是挂起时能够看到显示,当时以为虚拟机坏了,还以为要重装系统和环境了,后来比较幸运的找到了解决办法,需要我们在Windows下的cmd窗口中输入 :
netsh winsock reset
然后重启计算机即可
但是这是为什么呢?这条指令又是什么意思呢?
什么是 netsh winsock reset
一下内容摘自百度百科,附上链接
https://baike.baidu.com/item/netsh%20winsock%20reset
netsh winsock reset命令,作用是重置 Winsock 目录。如果一台机器上的Winsock协议配置有问题的话将会导致网络连接等问题,就需要用netsh winsock reset命令来重置Winsock目录借以恢复网络。这个命令可以重新初始化网络环境, 以解决由于软件冲突、病毒原因造成的参数错误问题。 netsh是一个能够通过命令行 *** 作几乎所有网络相关设置的接口,比如设置IP,DNS,网卡,无线网络等,Winsock是系统内部目录,Winsock是Windows网络编程接口,winsock工作在应用层,它提供与底层传输协议无关的高层数据传输编程接口,reset是对Winsock的重置 *** 作。当执行完winsock的命令重启计算机后,需要重新配置IP。
为什么要netsh winsock reset
网上有一种说法,是因为启动了wegame之后,wegame修改了一些网络的相关参数,导致和vm的配置冲突。下面是知乎网友的解释:
虚拟机和主机之间的通信,基本上是以 socket 的方式进行通信的(这里的 socket 泛指一切 socket,包括本地的、网络的等等)
某个程序通过 LSP 给系统的 TCP/IP stack 注入了自己的 DLL,如果程序退出时,没有把这个 DLL 收回来,或者回收失败、没有彻底回收等,那么这个 DLL 残留的东西影响了整个 TCP/IP stack,而且是永久性的。
每个 socket 收发的数据包是要经过 TCP/IP stack 的,这个 DLL 可能会对这些 socket 的数据包做了些什么 *** 作(比如修改数据、直接丢弃等等),然后所以你的虚拟机就黑屏了……
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)