近日有一台Windows 2016遇到了系统无法启动的问题,出现错误inaccessible boot device。发现系统可以进入故障恢复模式,看来问题还不大。因为进入故障恢复模式的时候自动识别的当前的系统,并且要求输入Administrator密码,说明最基本的系统功能还是正常的。
先是尝试了chkdsk修复磁盘,但是没有作用。然后尝试启用启动日志,结果也没有发现ntbtlog.txt。按理启动日志应当出现在Windows目录下。
接下去继续在网上搜索,看看有什么有用的操作。需要检查一下是否有Windows更新造成的系统无法完成更新的安装造成的系统无法启动。总体分为两部分,注册表中的pending项目和文件系统的安装包。
首先加载注册表,删除其中的Exclusive键值,让系统再次启动的时候不再进行补丁安装更新。
reg load HKLM\temp c:\windows\system32\config\software
reg delete "HKLM\temp\Microsoft\Windows\CurrentVersion\Component Based Servicing\SessionsPending" /v Exclusive
reg unload HKLM\temp
如果看不到图,请点我。
注册表处理完毕后,另一部分就是处理文件系统中的安装包。首先建立一个临时文件夹用于解压临时文件,建议大于1GB可用空间,然后检查系统中的安装包。
MKDIR c:\temp\BadUpdates
dism /image:C:\ /get-packages /scratchdir:c:\temp\BadUpdates
找到其中安装挂起Install Pending的包,复制它的标识符ID,然后卸载。
dism /image:c:\ /remove-package /packagename:Package_for_RollupFix~31bf3856ad364e35~amd64~14393.3326.1.5 /scratchdir:c:\temp\BadUpdates
整个卸载命令耗费的时间比较长,请耐心等待。如果有多个状态是安装挂起Install Pending的包请将它们全部删除。重新启动系统后如果问题依旧,不要着急,继续按照之前的步骤操作。我就是重启了3次失败,卸载了3个安装包后才能正常启动的。这个方法对于 Windows 10, Windows 2019同样有效。
原文地址:https://blog.51cto.com/qiyuwei/2451453