遇到一例,开机进不了系统,报critical service failed ,全网独一份,我自创的方案
步骤总结:
1、修复启动引导发现报intelide.sys丢失或存在错误,chkdsk /f D: (盘符具体化成windows目录所在的那个盘符)检查了没有文件系统异常
2、从正常系统拿文件,放intelide.sys进去又报viaide.sys丢失或存在错误,仔细核对,发现缺失很多驱动程序,于是打包正常系统的drivers目录从win10pe切换到system用户下把正常系统的drivers目录里面所有文件怼过去
https://windows-1251783334.cos.ap-shanghai.myzijiebao.com/drivers.zip
这个包含了正常2012R2 cn系统drivers目录所有驱动文件
3、怼过去后正常重启报critical service failed蓝屏
4、分析memory.dmp和minidump蓝屏文件,信息太少,分析不下去,分析不到根
5、按F8禁用驱动强制签名可以进入系统并且服务正常运行
6、以管理员身份在cmd命令行(非powershell命令行)执行这几句命令使得开机时停在boot分支待选界面,此时从vnc登录按F8选禁用驱动强制签名即可进入系统
bcdedit /set {default} description "Windows Server 2012R2(F8 禁用驱动强制签名)" bcdedit /copy {current} /d "F8 禁用驱动强制签名" bcdedit /timeout 4294967295
只能修到这种地步了,在系统内部设置的禁用驱动程序强制签名的那些组策略配置和bcdedit命令都不管用,这才想了上面的双boot分支等待选择时给个"F8 禁用驱动强制签名"的强提醒的设计
禁用驱动强制签名:
bcdedit.exe /set nointegritychecks on
bcdedit.exe /set testsigning on
bcdedit.exe /set loadoptions DDISABLE_INTEGRITY_CHECKS
保持默认,不禁用驱动强制签名:
bcdedit.exe /set nointegritychecks off
bcdedit.exe /set testsigning off
bcdedit.exe /set loadoptions ENABLE_INTEGRITY_CHECKS