一次非正常关闭之后(导致非正常关闭的原因是dell显示器——dp接口,怎么都不能退出省电模式,系统其实还是正常的,比如还支持远程登陆,远程登陆之后依然正常使用),系统启动进入之后,过一段时间(大概几分钟,不管你是否登陆进系统)系统就会自动启动。随后采取的措施如下:
1. 怀疑是磁盘问题。制作一个pe盘,系统加电后,按f12,进入dell机器的启动菜单,选择Legacy启动(我的不是uefi),进入pe,对c盘进行右键、工具、磁盘检查等操作,发现一个文件系统问题,但不是关键问题——解决这个问题后重启仍然故我。
2. 怀疑是不是需要进入到另外的界面检查磁盘。按f8进入选择菜单,选择修复计算机,然后进入到命令行(不一定每次都能进入),执行chkdsk c: /r, 结果没有发现问题。
3. 怀疑是系统文件损坏,按f8进入选择菜单,选择修复计算机,然后进入到命令行,执行sfc /scannow。注意此时,可能报一个提示:有一个系统修复处于挂起状态,需要重新启动才能完成该修复。英文应该是:There Is System Repair Pending Which Requires Reboot To Complete. Restart Windows And Run SFC Again。看了这个提示,实际上导致我之后走了很多弯路。弯路1:我重启再进入修复计算机,仍然报这个错误,我以为需要从另外的盘上开始修复系统。所以我又下载了一个win 7原版镜像,然后用rufus写到u盘中(选择mbr启动模式,因为我的机器是legacy的),然后以u盘启动,结果发现这种方法仍然遇到这个问题,直到后来获得一些线索:比如某些文章提到需要删除 windowswinsxspending.xml windowswinsxs eboot.xml 这种文件来解决问题。以及看到一种sfc的用法,涉及了/offbootdir和/offwindir这两个参数,才醒悟,以修复模式进入到命令行,或者从系统安装盘进入到修复模式命令行,其系统都是X:盘上面的,而X:windowswinsxspending.xml这个文件确实是存在的,所以每次直接执行 sfc /scannow 就会找到X:盘上的这个pending.xml文件,然后就有上面提示信息。因为我们实际上是要检查c盘上的windows,所以正确写法应该是 sfc /scannow /offbootdir=c: /offwindir=c:windows 。醒悟到这点,执行新的sfc命令,结果是正常执行,不再报上面的提示。然后sfc检查之后,也是没有发现问题,一切正常。
4. 差点准备要重装了,然后还是按f8进入选择菜单,尝试了"禁用系统失败时自动重新启动“,结果没有用。在重复进入,尝试“禁用驱动程序签名强制”启动,结果没有用。最后不抱希望的尝试了“最近一次的正确配置(高级)”选项,结果成功了。可见之前想太多了,走了多少弯路,应该把这个选项作为首选的。之前是因为已经进入了系统之后,再突然重启的,就总认为重启时的配置也算是最近一次的正确配置了,所以就一直没有费心优先尝试这个选项。