建议使用Chrome浏览器访问!
技术支持
互动社区
学习培训
深信服官网
合作伙伴

桌面云aDesk

关注
深信服桌面云aDesk方案,是基于超融合架构的新型桌面模式,通过深度整合服务器虚拟化、桌面虚拟化及存储虚拟化,只需桌面云一体机和云终端两种设备,即可实现云平台的快速交付,为用户提供操作体验及软硬件兼容性媲美PC、更安全、更高效的云桌面。
故障案例库
典型场景排查思路

【aDesk】双机调试排查虚拟机黑屏问题

更新时间:2023-01-05
  • 阅读权限:游客
  • 下载
  • 分享
  • 收藏
所属模块 虚拟机内部 | 虚拟机黑屏、蓝屏
适用版本 通用
本节讲解使用双机调整(也称为串口调试)来定位虚拟机黑屏问题,如下图所示,虚拟机开机黑屏;


1、黑屏的虚拟机作为被调试虚拟机,找一台正常的虚拟机作为调试虚拟机,在虚拟机上添加串口,将两个虚拟机互连起来,如下图所示;

2、黑屏虚拟机和调试虚拟机都需要关机,且需要确保虚拟机的运行位置固定在同一台主机;

3、将黑屏的虚拟机的调试模式开启(注意是黑屏虚拟机开启调试模式),这里分两种情况需要使用不同的方式开启调试模式;
情况一:虚拟机开机黑屏几分钟后正常使用,客户需要查开机黑屏的原因,那我们可以使用下图所示的方式开启调试模式,调试模式设置后需要点击应用,否则会导致开启失败;

情况二:虚拟机开机一直黑屏,无法进去虚拟机,这个时候我们无法手动开启调试模式,因此需要开机按F8进入调试模式。开启调试模式前,需要在虚拟机关机状态下调整BIOS启动时间,设置30秒左右即可,如下图所示;
设置好之后我们需要给虚拟机开机,按F8选择进入调试模式,如下图所示;

4、黑屏虚拟机(被调试虚拟机)开启调试模式后,正常的虚拟机(调试虚拟机)需要安装好windbg之后,如下所示选择通过串口的波特率115200连接到黑屏虚拟机进行调试(也可以使用快捷键Ctrl+K)连接;
注意:安装windbg的方式参考http://200.200.0.233/forum.php?mod=viewthread&tid=7455

5、连接后会看到如下图所示的提示,一直在连接但是就是连接不上,这个是正常的。因为我们还需要后台开启跟踪虚拟机的调试信息后才可以正常的调试;

使用strace -p 进程ID ,开启跟踪虚拟机的调试信息,命令的作用如下,可以自己进行参考学习(链接:https://www.cnblogs.com/ggjucheng/archive/2012/01/08/2316692.html);

后台开启跟踪的方式:
a、登录我们的VMP后台使用ps  aux | grep  8560288906750(VMID)就可以看到这个虚拟机对应的进程号;
b、使用strace -p 2418(进程ID)即可开启跟踪,具体步骤如下图所示,需要找带有start的进程。



c、调试和被调试的两个虚拟机都需要开启跟踪,因此需要打开两个后台窗口执行相同的命令去跟踪,且不能中断连接,后台需要一直执行这个命令;

注意:两台虚拟机都需要是开机状态,否则将会导致开启跟踪失败,虚拟机可以在开机后,再后台执行调试命令

6、看到如下图所示这个提示,就表示正常接管了,可以进行调试了;

7、加载正常之后需要确认虚拟机开机黑屏是卡在哪里了,如下图所示,看到虚拟机开机卡在smss.exe这个模块,这个时候可以尝试使用g这个命令,让他继续运行,若是会继续加载则说明不是这个模块导致,但是使用g之后还是卡主不动,这个时候就需要怀疑这个模块有问题导致的虚拟机启动卡主了;
注意:我们所有的命令都在这个输入框中输入;








实例一:
1、虚拟机黑屏,进入调试模式后,执行g命令后,看卡在这个bddlsvc.exe模块,等了两三分钟也不继续加载了,说明这个模块损坏或者被攻击了,这个时候我们可以使用PE或者其他方式进入虚拟机将这个模块重命名(在这个程序后面加.bak即可),一般模块的路径也都会有输出,如下图所示;

2、重命名之后,重新开机观察之前开机加载到RVLservice.exe后会加载这个bddlsvc.exe模块导致卡死,重命名之后不会再加载了,之后测试虚拟机开机正常;


3、处理这类问题不能说开机正常就算解决了,需要告知客户这个是什么原因导致,不然一般客户都认为是我们的问题导致的,若是模块是我们的,则找专家进一步排查,若是模块是第三方的一般是损坏了或者中毒了,可以通过百度或者bing等网站查找类似的案例。
这个问题就是在网上找到类似的案例,这个进程bddlsvc.exe(百度的某个服务,但是客户没有安装百度的东西,因此可能安装什么软件自带的或者病毒植入的)会消耗系统的CPU和内存,导致虚拟机卡慢或者异常,一般是因为中毒或者攻击导致,建议客户清理这个进程或者杀毒之后彻底解决;
翻墙去bing网站上查到的结果:https://www.processchecker.com/file/bddlsvc.exe.html

实例二:
1、进入调试模式后,先执行!dml_proc看加载了什么进程,之后再执行g命令;

2、执行命令后发现一直卡住且看到虚拟机卡死在这个poqexec.exe模块,使用g命令也不继续加载了,怀疑是这个模块有问题导致黑屏,通过提示的路径,使用PE进去虚拟机内部重命名这个模块测试;
3、重命名poqexec.exe,之后测试开机正常了;
poqexec.exe模块是微软自带的更新windows updata的程序,正常的电脑都有,但该虚拟机加载会黑屏,因此怀疑是更新windows补丁失败或者更新后补丁导致系统异常,最终发现是360卫士启用了自动更新补丁,取消360的自动更新补丁功能或者重命名该驱动都可正常解决;
若是上述方式都为正常解决问题,则进入最后一步,收集黑屏相关的排查信息转专家
本页目录
  • 问题描述
  • 有效排查步骤
  • 解决方案
  • 建议与总结