这是我的第二个问题我遇到无法启动 Windows 10 的情况,但这次的重点有所不同。提醒一下:
由于昨天我的笔记本电脑(戴尔 Latitude E6440)出了点问题(我怀疑是 Windows 更新,但谁知道呢),我的 Windows 10 Pro 安装(17134.1,如果这很重要的话)无法再启动。基本上,在启动过程中,我只看到戴尔徽标无限期地出现,除了一些初始硬盘活动外没有发生任何其他事情。
我已经排除了 Windows 启动管理器作为根本原因的可能性,尤其是通过在第二个分区上安装相同版本的 Windows 10,由同一个 EFI 启动管理器管理。[似乎没有办法在现有的非启动 Windows 安装上升级/就地安装并保持应用程序安装,所以这不是我喜欢的解决方案。我想修复损坏的那个。] 启动菜单在所有配置的选项下都能正常工作,只是我无法启动两个 Windows 安装中的一个。尽管有相应的 BCD 配置,但%WINDIR%\Ntbtlog.txt
没有写入日志文件,所以我怀疑启动顺序很早就失败了(也就是说,甚至在ntoskrnl.exe
加载之前)。我认为也许 Windows 启动装载机该安装已损坏。
因此我开始寻找各个文件之间的差异。我确保除了额外的日志记录和调试选项外,BCD 看起来相同:
Windows Boot Loader
-------------------
identifier {the-working-one}
device partition=C:
path \WINDOWS\system32\winload.efi
description Windows 10
locale en-US
inherit {bootloadersettings}
recoverysequence {uid1}
displaymessageoverride Recovery
recoveryenabled Yes
isolatedcontext Yes
flightsigning Yes
allowedinmemorysettings 0x15000075
osdevice partition=C:
systemroot \WINDOWS
resumeobject {uid2}
nx OptIn
bootmenupolicy Standard
Windows Boot Loader
-------------------
identifier {non-working-one}
device partition=D:
path \Windows\system32\winload.efi
description Windows 10-1
locale en-US
inherit {bootloadersettings}
recoverysequence {uid3}
displaymessageoverride Recovery
recoveryenabled Yes
isolatedcontext Yes
flightsigning Yes
allowedinmemorysettings 0x15000075
osdevice partition=D:
systemroot \Windows
nx OptIn
bootmenupolicy Standard
bootstatuspolicy DisplayAllFailures
bootlog Yes
sos Yes
然后我继续比较我怀疑与启动有关的文件 - 但到目前为止我测试过的所有内容也都是相同的:
C:\Windows\Boot\* == D:\Windows\Boot\* (recursive)
C:\Windows\System32\*boot*.* == D:\Windows\System32\*boot*.*
C:\Windows\System32\*bcd*.* == D:\Windows\System32\*bcd*.*
C:\Windows\System32\*winload*.* == D:\Windows\System32\*winload.*
C:\Windows\System32\Boot\* == D:\Windows\System32\Boot\* (recursive)
我遗漏了什么?我可以比较 Windows 10 的其他相关启动组件有哪些?还有其他方法可以隔离相关的两个安装之间的差异可能允许我将部分内容从正在运行的安装复制到不运行的安装?
另外两条信息可能有助于指明正确的方向:
在仅使用无法正常工作的 Windows 安装进行恢复时,“bootrec /fixboot”也以“拒绝访问”退出,但我无法确定哪个访问被拒绝。我现在不太想尝试这个命令,因为不知道它到底是做什么的。
D:\Windows\System32\LogFiles\Srt\SrtTrail.txt
(启动修复的日志文件,也在 Windows 恢复期间运行)包含此行;
启动关键文件 d:\efi\microsoft\boot\resources\custom\bootres.dll 已损坏。
我不知道为什么需要自定义 bootres.dll,我找不到这个。这个可能在哪里注册?有趣的是,我能找到此错误消息部分内容的唯一地方是这些 二线程,与 17133.73(我猜是来自 17133.1)更新有关。我确实在安装了干净的 17133.1 后(成功)安装了该更新,但据我所知,后续到 17134.1 的干净更新很顺利。不过,我想知道这是否表明与 Microsoft 将 17133 拉为 RTM 版本(例如,在 EFI NVRAM 中)相关的问题仍然存在。
- 使用图形版本时,Windows 启动管理器中两个条目的徽标是不同的。因此,在 Windows 启动管理器(或加载器)级别上仍然必须存在差异:
custom\bootres.dll
我发现,上述问题和此处的启动管理器徽标问题密切相关的假设并不太正确。(相关问题:我可以更改 Windows 启动项的图标吗?) 我(还)不明白为什么启动管理器认为这个条目需要自定义资源。
答案1
伙伴。
这是我第一次尝试在这里帮助别人,所以不要太严厉地踢我:)
我建议您从“非工作”的启动记录中删除此“bootstatuspolicy DisplayAllFailures”选项行。
您可以使用在 cmd.exe 中输入“bcdedit /deletevalue {non-working-one} bootstatuspolicy”来处理此问题,然后重新启动。
祝你今天过得愉快!