笔者最近公司的服务器是IBM 3650 m4上安装 Windows Server 2012 R2 Standard x64位操作系统。
至于为什么安装这个操作系统,就不赘述了。历史原因,交接人已经不在,无法了解操作系统的当时的安装背景。
笔者接手时经常有程序破解那台电脑上面的SQL Server 2012的sa口令,被360(笔者从2007-2008年就拒绝使用
360任何产品了)拦截住了。无奈之下更新系统,第一天更新完成以后还没重启,因为上面有虚拟机。后来又安装了
一次更新。一天重启,由于应用更新时间太长,以为假死了,手贱重启了。
然后就是下面的界面循环、不停重启(图片来自网络)。
然后就悲剧了,F8后各种启动方式都尝试过(最后一次安全配置、安全模式等)全部无效。能看到最友好的界面如下。
不管怎么操作都没有效果。
后来看到上面的界面,想到用Rufus安装Windows Server 2012 Standard R2 x64到u盘,启动后然后选择修复计算机(R)
最终进入命令行模式,依次执行以下命令
cd Windows\Winsxs
rem 查找pending开头的文件或者目录
dir pending*
rem 重命名挂起的操作
ren Pending.xml Pending_old.xml
rem 写入空文件
echo > pending.xml
rem 回到上级目录
cd..
rem 新建目录
mkdir scratch
rem 修复系统镜像(笔者执行到这一步就出错了不能执行,然后重启,也能成功启动)
DISM /Image:C:\ /Cleanup-Image /RevertPendingActions /scratchdir:C:\Windows\Scratch
rem 重命名更新目录/删除更新计划
ren C:\Windows\SoftwareDistribution C:\Windows\SoftwareDistributionOLD
sfc /scannow
最终修复成功
按照笔者对操作系统的了解,Windows NT 6.x(Vista、7、8、8.1、10、2012)系列应该都支持此操作
来源:oschina
链接:https://my.oschina.net/u/4289967/blog/4285805