我们在HP 23-g009 AMD 四核一体机两天前,它陷入了自动修复循环。
我们进行了大量研究,并尝试了很多方法来解决此问题,但尚未找到解决方法。许多其他人也遇到过这些问题,因为关键错误短语出现在许多论坛中,但我们意识到这些解决方案中的许多适用于 Windows 7 或更早版本,并且许多解决方案涉及较旧的启动系统,而不是我们系统上使用的较新的 UEFI 启动系统。
Windows 8 有一个 Windows 恢复环境,它是驱动器上的一个分区,其中有可帮助您恢复的工具,无需从启动 DVD 启动。从恢复环境中,我们可以进入命令提示符,似乎具有完全管理员权限,我们曾尝试从那里进行修复。
我们已经做了以下工作:
检查自动修复日志文件,其中显示:
启动管理器无法找到操作系统加载程序。
启动配置数据存储修复。结果:失败。错误代码 = 0x2Chkdsk c: /r - 修复了一些文件引用,但没有发现坏扇区
尝试了标准启动恢复程序(按照其他地方写的各种顺序)
bootrec /fixmbr
bootrec /fixboot
bootrec /rebuildbcd
bootsect /nt60 all /force /mbr这些都不起作用。 bootrec /rebuildbcd 行显示:“已识别的 Windows 安装总数:0”
-
diskpart
lst dsk
选择磁盘 1
lst vol
选择卷 4 (这是我们的 FAT32 分区)
分配字母 b:
exit
cd /db:\efi\microsoft\boot
bootrec /fixboot
ren BCD BCD.bak
bcdboot c:\windows\system32 /sb: /l en-us /f ALL最后一行显示消息:“尝试复制启动文件时失败”
尝试进行系统还原,但系统还原说没有还原点。
尝试运行系统文件检查器:
证监会/扫描
系统会给出这样的信息:“有一个系统修复正在进行,需要重新启动才能完成”。但重新启动并不能改变这一点。
我的想法是手动重新创建 Boot Registry 配置单元。我已看到有关如何执行此操作的说明,例如:
attrib -h -s C:\boot\BCD
del C:\boot\BCD
bcdedit /createstore c:\boot\bcd.temp
bcdedit.exe /store c:\boot\bcd.temp /create {bootmgr} /d "Windows Boot Manager"
bcdedit.exe /import c:\boot\bcd.temp
bcdedit.exe /set {bootmgr} device partition=C:
bcdedit.exe /timeout 10
attrib -h -s C:\boot\bcd.temp
del c:\boot\bcd.temp
但是,不清楚这有什么用,而且我不愿意尝试它,特别是因为我的 bcd 不在该目录中,并且我的 Windows 恢复环境使文件无需 attrib 语句即可访问。
有一个很好的超级用户问题:BCD 损坏后,如何修复或安装启动修复/系统恢复?讲述了一个可视化 BCD 编辑器这似乎有一个很大的学习曲线,除非我有关于如何设置 BCD 的明确指南,否则我不敢尝试。我也不知道它是否可以在 Windows 恢复环境下运行。
因此,我解决这个问题的两个主要障碍似乎是:
- Bootrec 无法识别 C 盘上的 Windows 安装。它显示有 0 个。
- 重建我的启动注册表配置单元:b:\efi\microsoft\boot\BCD
这些可能是相关的问题,解决一个问题可能就可以轻松解决另一个问题。
Windows 8.1 安装和所有用户数据仍然安全,我可以从命令提示符中看到一切。看来我已经很接近成功了,但就是无法越过这两个障碍。
有什么办法可以修复此问题而无需重新安装 Windows?
答案1
我们采取的修复措施其实是逃避。我们放弃了,只是从恢复磁盘将系统恢复到初始状态。我们确实备份了只有 2 周的数据,因此我们损失不大,而且仍然可以访问磁盘,并在恢复之前复制了一些我们想要的额外文件。
重点是我们通过 Google 看到有多少人遇到过这个问题。很多人!这看起来像是一个简单的修复,我们几乎尝试了所有方法。
最重要的是,我们花了 3 天时间试图解决这个问题。这可能太长了 2 天,因为我们只花了一天时间就恢复和加载了备份数据并重新安装了软件。也就是说,如果能弄清楚如何修复某个问题,那真是太好了,但我们已经开始浪费时间了,想把电脑拿回来。
我希望这可以帮助别人。
答案2
UEFI 启动不使用启动记录。因此,请忘记 bootsect.exe、bootrec/fix... 命令。
- 从 USB/DVD/CD 启动
- 在 HDD 上映射 EFI 系统分区(如果尚未映射)
- 复制 BCD(= BCD 备份)
- 删除BCD
- bcdboot 命令已在您的问题中列出。
如果 bcdboot 命令失败,则问题出在其他文件(而非 BCD)上。因此,您必须删除 \boot 和 \Microsoft 文件夹(先复制它们进行备份),然后重试 bcdboot 命令。
要修复 Windows 8 及更高版本上的系统文件,可以使用实用程序“dism.exe”(网络连接可以从 Windows 更新下载系统文件!):
Dism /Image:C:\offline /Cleanup-Image /RestoreHealth /Source:c:\test\mount\windows