解决安全模式无法运行 Office 2010 程序的问题

作者:黄俊伟日期:2010-04-07

最近显卡硬件上有问题,总引起显卡驱动崩溃,然后系统蓝屏。没办法,要用 Word 写东西只好在安全模式下写了,这样避免加载显卡驱动,系统不会崩溃,至少可以让我先把工作做完。但是这时候发现一个新的问题:Word 2010 在安全模式下不能运行,出现以下提示:

单击确定之后,Word 就退出了。与此同时,其他 Office 2010 Beta 的程序也都是这样,难道在安全模式下就连最基本的文字处理也干不了?这不是故意要为难我吗?

眼看着工作就做不了了,看来wbpluto得赶紧把问题解决掉!

根据上面的错误窗口可以得知,这个问题与 Office 的激活验证有关。Office 2010 虽然继承了 Office 2007 的大部分架构和界面,但仍然具有很多新的改进和调整。例如激活机制就进行了很大的改变,例如·将完全免激活的VLK政策调整为企业内联网KMS激活,并且还在系统服务中增加了一个“Office 软件保护平台“(SPP)服务,用来管理 Office 2010 的激活:

运行 services.msc,打开系统的“服务“管理控制台,可以看到该服务没有运行。试图手动启动它,结果提示这个服务不能在安全模式下启动:

这个服务无法启动,Office 程序就无法获取到自己的激活状态,作为防止盗版的一项设计,也就不允许用户运行了。看来,这就应该是问题的原因所在。

这里首先介绍一下“安全模式“的知识:Windows 的安全模式是在系统遇到问题时,为了排除外围软件和服务对Windows 的有害影响而设计的一种只启动Windows基本服务和驱动程序,而不启动外围服务和其他驱动程序的运行模式(除了Windows 之外,其他操作系统也都有类似的设计)。比如文章最开始提到的情况,我安装的显卡驱动会崩溃,如果我让 Windows 进入“安全模式“,则不会加载我安装的显卡驱动,只运行系统内置的标准的VGA显卡驱动,这样就不会因为显卡驱动而导致系统出问题,但与此同时也就不能使用显卡的高级功能了。

Office 2010 不能启动,也就是因为SPP服务不属于核心的系统服务,在安全模式下默认不加载。那究竟哪些服务会在安全模式下加载呢?这个名单就保存在注册表中,我们可以通过修改这个列表,让我们需要的服务启动起来:

运行regedit打开注册表编辑器,浏览到 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SafeBoot\Minimal 这个位置,这下面列出的就是安全模式下可以加载的所有服务和驱动程序了。右键单击Minimal新建一个注册表项,名称改为SPP服务的名称“osppsvc”(见第二幅图中的“服务名称“),再在右边窗格中把这个项的默认值改为“Service”。

OK,现在再运行Word 2010,果然顺利启动了!

当然,大家也可以依葫芦画瓢,在实在需要时,让安全模式能启动一些本不能启动的服务。对了,Windows 还有一个“网络安全模式“,如果希望在这个模式下启动某个服务,则需要在 SafeBoot\Network

这个位置添加服务名称,而不是 Minimal。

Office 2010 正式版马上就要来到了,希望微软在最后能够进行一些设计上的调整,避免本文所述的问题发生,因为进入安全模式排查问题时,有时还是需要打开一些 Office 文档,例如查阅技术资料存档等等。