注意:在虚拟机内进行任何操作都前需要给虚拟机打快照,避免出现误操作或修改xx功能后引发新的问题,打好快照后可以最大可能的避免出现异常,可以打好快照后在进行以下排查。
以下的排查步骤都是默认已经正常进入PE了,具体进PE的方式可以参考下面的链接,且需要注意进PE前需要取消fastio磁盘。
步骤一:通过备份的注册表文件尝试恢复虚拟机
1、由于win7及以上和server 2003及以上的系统会自动备份正常的注册表到C:\WINDOWS\SYSTEM32\CONFIG\REGBACK\目录,而windows正常启动加载的注册表路径是C:\WINDOWS\SYSTEM32\CONFIG\,因此尝试将REGBACK目录中的所有文件替换到CONFIG中能解决大部分问题;
2、替换方式如下图所示,将如下5个windows系统最关键的注册表配置文件从C:\Windows\System32\config\RegBack目录下,拷贝到C:\Windows\System32\config\目录中,替换C:\Windows\System32\config\中这5个文件,之后重新启动虚拟机测试看是否正常;
注意:
①通过PE进去后系统不一定是C盘,因此需要找到对应的系统盘,大部分时候是E盘;
②C:\Windows\System32\config\RegBack目录一般5个注册表文件,分别是DEFAULT、SAM、SECURITY、SOFTWARE、SYSTEM,且文件大小是非0KB,若是文件大小是0KB,则不能替换该注册表文件,否则会导致启动后出现其他异常;
步骤二:通过chkdsk修复磁盘系统文件
1、chkdsk的全称是checkdisk,就是磁盘检查的意思,当系统崩溃或者非法关机导致系统损坏的时候都可以通过命令行调用此命令来检查某一个磁盘分区。该工具基于被检测的分区所用的文件系统,创建和显示磁盘的状态报告,同时还会列出并纠正磁盘上的错误。
2、chkdsk的使用方法如下,比如:对F盘进行检查并丢失,则执行磁盘检查命令为:chkdsk f: /f
注意:不建议在使用 /f 开关时中断 chkdsk 进程,中断chkdsk 进程后磁盘数据的完整性无法保证。
步骤三:通过sfc修复系统文件
1、系统文件检查器,简称SFC,是微软提供的一个实用工具,该工具可以允许用户扫描所有受保护的系统文件,并且检源查系统文件的完整性,然后恢复Windows损坏的系统文件;
2、进PE后打开命令控制行(CMD),执行sfc修复系统文件,比如系统盘是D盘,则命令如下:sfc /scannow /offbootdir=d:\ /offwindir=d:\windows
注意:
①offbootdir 指的是系统所在分区,offwindir 指的是系统所在目录
②sfc执行需要一段时间,大概20分钟左右,执行时间较长可以按几次回车键。
3、执行完成后会返回结果,可以根据返回的结果进行处理,若是处理依旧未解决,则转下一步排查;
①Windows 资源保护找不到任何完整性冲突,这表示没有任何丢失或损坏的系统文件,不是系统文件损坏导致的异常;
②Windows 资源保护找到了损坏文件但无法修复其中某些文件,如下图所示,则需要通过源系统的IOS镜像进行丢失,若是vma导入的虚拟机,则无法修复,建议直接查看第六步,重新派生新虚拟机挂载个人盘尝试解决。