我在 BIOS 中启用了 SATA(和虚拟化)的 AHCI 模式,然后重新启动到 Windows 8。这失败了,所以我把它改回来了。我现在意识到,这需要更改为 AHCI 模式。
切换回来后,我永远停留在“请稍候”屏幕上。这种情况发生在从图形启动管理器中选择 Windows 8 之后,登录屏幕之前。有时根据硬盘指示灯判断似乎只有少量活动,有时则非常多。即使停止后,有时稍后仍会出现大量活动。我试过让它过夜和一整天,但似乎没有任何进展。暂停和恢复工作正常。
使用各种高级启动选项也没有取得任何进展:自动修复失败,安全模式失败,命令提示符成功但 SFC 失败。没有待处理.xml。我还尝试使用 DISM 删除任何待处理的操作,但失败了。我没有系统还原点。我也尝试过从 DVD 自动修复。我尝试在执行以下操作后重新启用 AHCI 模式这些说明。
更新:我刚刚发现直接启动 Windows 磁盘(BIOS 顺序)会出现错误,提示 \Boot\BCD(代码:0xc000000f)丢失或损坏。我不确定是不是这样,因为通常(通过 GRUB)bootmgr 是可以正常工作的。似乎是启动磁盘顺序问题,使用 bcdboot 将启动文件强制放到驱动器上后,它再次启动到“请稍候”。
这是一台多启动机器。Windows XP 安装和 Ubuntu 仍可正常工作。
我真的不希望通过刷新安装丢失所有应用程序和设置。有什么方法可以进一步调试此问题吗?
更新:出于绝望,在尝试了几个小时的故障安全 BIOS 设置、DISM 变体等之后,我尝试了“刷新 PC”选项。它也失败了,并显示“刷新 PC 时出现问题”的消息。看来 Windows 8 根本没有提供任何有关问题的信息,并且所提供的工具都无法正常恢复。
答案1
怀着无比欣慰的心情,我在 Windows 8 上写下了这篇文章(一年多以来第一次 - 虽然添加赏金的时机不太好 :S)。我丢失了需要重新安装的第三方应用程序,但除此以外大多数设置仍然完好无损。
最后,Windows 8 DVD 中的刷新安装使一切正常。这很奇怪,因为我已经从 HD 启动菜单和 DVD 介质中尝试过多次。请注意:
- 成功后会出现一个相当令人担忧的视觉错误,显示额外的启动菜单项。
- 桌面上放置了已卸载应用程序的列表,这稍微减轻了麻烦。
- 创建 Windows.old 文件夹,其中包含已删除内容的副本但你只有 28 天的时间来检索文件。
至于为什么这次对我有用:目前还不清楚。但是,今天早上我再次使用了sfc
和dism
工具,试图查找和修复损坏的系统文件。我能够访问这些工具的唯一方法是运行 Windows 8 DVD 并从故障排除选项进入命令提示符。此时,所有其他修复/功能降低的启动方法都不起作用。
这两个工具都无法成功完成。但是,sfc
将其日志存储在其中%windir%\Logs\CBS\CBS.log
,在这里我发现了有关cbscore.dll
被损坏的引用:
CBS Failed to load Core DLL from path: C:\Windows\winsxs\amd64_microsoft-windows-servicingstack_31bf3856ad364e35_6.2.9200.16613_none_06552205987959ac\cbscore.dll [HRESULT = 0x800700c1 - ERROR_BAD_EXE_FORMAT]
然后我发现此主题,其中提到了相同的消息,并将注册表中的 CBS 版本更改为旧版本HKLM\Software\Microsoft\Windows\CurrentVersion\Component Based Servicing\Version
。我照做了dir /od %windir%\winsxs\*servicingstack*
,发现在我开始遇到问题的日期左右,安装了一个版本号较低的新版本。
我运行regedit
并将离线配置单元加载%windir%\System32\config\software
到临时键中。我将键名及其值都更改为与目录中看到的上一个版本相同,然后卸载配置单元。此时我重试:
sfc /scannow /offwindir=c:\windows /offbootdir=c:\
虽然取得了一些进展,但仍然没有成功完成。我猜想,如果 CBS 的核心现在能够正常工作,dism
那么它也许能够正常工作。这一页包含一些有用的信息,我最终运行了:
dism /image:c:\ /cleanup-image /restorehealth /scratchdir:c:\windows\temp /loglevel:4
这也取得了一些进展,但最终还是失败了,因为找不到文件来替换损坏的文件(日志文件可以在 找到%windir%\Logs\DISM\dism.log
)。我在这个阶段不知道这个/source
标志,所以也许附加操作/source:x:\sources\winsxs
可以解决问题。相反,我决定开始重试 DVD 菜单中自动修复步骤,这让我到了现在的位置 - 完全启动!
我不能肯定地说最终是什么起了作用,但之前的刷新安装没有起作用,所以我今天早上做了一些事情让它工作了。
我创建了一个系统还原点,并计划在创建另一个系统还原点之前安装所有更新。此时,我可以在做好适当准备的情况下重试 AHCI 模式并开始重新安装应用程序。
答案2
在我让它工作后,我愚蠢地开始摆弄我的第二个 SATA 控制器。这也导致了不可恢复的启动失败(尽管没有无限期的“请等待”屏幕)。
这次修复要简单得多:我已经知道 AHCI 模式可以工作,所以我将其保留在此模式,并使用启动故障排除->高级选项菜单中的启动修复。在自动修复启动之前需要重新启动几次,失败后提供其他选项。
将其添加为另一个潜在答案,因为我不太可能第一次尝试在 AHCI 模式下修复它。
答案3
只需旋转屏幕即可避免此错误/故障。在出现“请等待”屏幕后,您的系统很可能 100% 正常工作。您需要的是能够启动任务管理器并终止相关进程。
执行以下步骤:
- 按Ctrl++Alt将←屏幕旋转 90 度,使显示区域变窄。
- 重新开始。
- 按Ctrl+ Alt+↑将屏幕方向恢复正常。“请等待”屏幕现在只占据屏幕大小的一半。您现在可以启动任务管理器并对其进行操作。我不记得该进程的名称(OptIn 或其他名称),但您肯定会找到它。
如果任务管理器启动了,但完全被灰屏覆盖,请执行以下操作:
- Alt使用+使其处于活动状态Tab。
- 按Alt+Space调出窗口菜单。
- 点击↓4 次,然后Enter最大化任务管理器,以便您可以使用它。