欢迎光临,这里是 gOxiA=苏繁=SuFan 独立的个人博客。
本站域名:http://goxia.maytide.net or http://sufan.maytide.net
移动设备请访问:http://goxia.maytide.net/m
转载文章,请务必保留出处与作者信息,未经许可严禁用于商业用途!

windows_8_logo

HOWTO: 修复 Windows 8.1 BCD 0xc000000d 启动故障

        一台装有 Windows 8.1 的计算机,由于用户使用电源键强行关闭了计算机导致系统无法正常启动,开机提示 File:\\BootBCD Error code:0xc000000d ,具体错误如下图所示:

V__B3C9

        这应该是一个典型的因启动文件损坏,导致计算机无法正常启动的故障!随即使用 Windows 8.1 安装盘引导进行修复,但结果让人意外,使用安装盘的修复工具对系统自动扫描修复竟然失败了。因为之前没有恢复点和镜像备份,难不成要重装系统?!

        也不至于,调用 CMD,查看了引导卷和系统卷,应该是健康的,于是使用 bcdboot 命令尝试重建系统启动信息,命令参考如下:

bcdboot e:\\windows /l zh-cn /s c:

        因为在 Windows 安装程序的 CMD 环境下查看到系统卷当前盘符是 E,引导卷盘符为 C,所以请根据实际环境参考命令行执行。

        重建启动信息后,重启计算机,系统将自动执行更新操作并重新计算机,随后 Windows 8.1 系统便能够正常启动。

        使用集成 imagex 等小工具的 WinPE v3.0 工具盘可以说为很多朋友解决了不少的问题。gOxiA 一直以来也都擅长喜好使用 imagex 来执行系统备份,诸如此类的优势说明在过去的日志中也经常提到,这里就不再复述。而今天要与大家分享的经验是最近 gOxiA 遇到一个问题,而过去也曾经历过只不过未有留意,而这次遭遇同类问题在解决之后认为有必要大家分享,帮助大家避免发生同类的问题。

        起因是这样,gOxiA 的 Blog 服务器前段时间曾出现不稳定的状况,在对系统执行优化后决定对磁盘执行一次碎片整理,毕竟这个基于 Windows Server 2008 Web 的虚拟服务器已经运行了近17个月。随即在夜间进行了磁盘整理工作,第二天一早发现悲剧降临了,在执行碎片操作前,gOxiA 忽略了这台虚拟服务器使用的是动态类型的磁盘,而虚拟磁盘文件所在的分区卷容量还小于这个动态类型磁盘的容量,结果可想而知。系统启动后无法登录,提示磁盘已满,而存储卷显示剩余0字节。之前决定使用 VMWare 的压缩工具进行压缩,但都以失败告终。现在唯一的可行办法就是使用 WinPE 引导系统,挂载一个空的虚拟磁盘并使用 imagex 将原系统映像备份出来,因为 imagex 是以文件方式来执行数据拷贝的,所以新生成的映像恢复到新的虚拟磁盘上将不会有任何问题,初次之外还起到了磁盘整理的效果,因为 imagex 恢复后的文件时顺序排列的。经过一番折腾,总算把备份的映像释放到了新的虚拟磁盘上,然后挂载到虚拟机上启动系统,但是出现了 winload.exe 0xC000000E 故障。

winload_0xc000000e

        该故障引发的原因很简单,因为 bcdboot 中的引导信息是与硬盘所关联的,因为映像释放到了新的虚拟磁盘上,就相当于更换了硬盘,那么势必导致硬盘唯一标识变更,最终导致该故障的发生。而早先 gOxiA 使用 imagex 用于部署系统,不是将备份恢复到原硬盘就是使用 sysprep 后部署到其他硬盘上。此外,在部署 Windows 7 和 Windows Server 2008 R2 时因为系统设计的变化,默认安装系统时会自动生成一个 100M 大小的分区存储引导信息,而通常我们只备份系统盘,而在使用 imagex 恢复映像后都需要使用 bcdboot 命令创建引导信息。OK,到这里我们已经改如何解决这个故障信息了,除了使用 Windows 安装光盘引导进行修复以外,我们还可以使用手头现有的 WinPE 光盘进行命令行方式的修复。为此,我们使用 WinPE 引导盘引导系统,执行如下命令:

bcdboot c:\windows /s c:

        执行完这条命令之后我们就可以进行正常的启动了,但是问题还并未真正解决完。因为你会发现启动过程会显示 boot manager 菜单,而其中包含了两个名称相同的系统引导项,此外还会发现当前的引导菜单无法正确显示出中文字符。所以我们在前面使用 bcdboot 命令创建完引导信息之后还需要再执行如下命令,使 boot manager 采用中文版本。

bcdboot c:\windows /l zh-cn

        执行完上面两行命令后再退出 WinPE 重新引导计算机,最后使用 bcdedit 命令删除之前失败的系统引导项,整个恢复过程才算正式结束。

        保持清醒的头脑,认真分析之后再进行操作才能万无一失!

Tags: ,

使用 imagex 手工安装 Windows 7 RTM

        Windows 7 RTM 已经发布,可惜的是首发阵容中并没有中文版!不过微软发布了多种语言包供大家使用,其中囊括中文版本。如果你是微软 MSDN 或 TechNet Plus 的订阅者,那么即可下载来体验一下这款 Windows 历史上具有颠覆性的创新的操作系统。

        OK!不是白吹 Windows 7 的,颠覆性和创新当然是有依据的,如果你长期关注 gOxiA’s Blog 那么你会理解 gOxiA 所做出的评论!就安装而言,我想在 Windows 家族中只有 Windows 7 能真正意义上的做到颠覆性。 我们可以完全抛弃掉安装光盘,完全抛弃掉 Setup.exe 来安装操作系统。

        我们知道从 Windows Vista 开始,Windows 的安装源就开始采用映像格式,虽然与 Windows 7 类似,但是实际上在手工部署时会遇到一些问题,比如无法进行后续的配置安装。但是有微软专家称这只是个例!结果到底如何,现在已经没有必要再争论,因为我们现在要面对的是 Windows 7,而且 gOxiA 这次完全同意 Windows 7 是支持手工释放安装的。gOxiA 从 Windows 7 M3 开始进行测试,除了标准的 Setup.exe 安装就是自己使用 Imagex 命令来手工释放 Install.wim 进行安装。后者可能更适合 ITPro 和一些特定的环境。

        今天 gOxiA 与大家要分享的还是 Imagex 来手工安装 Windows 7 RTM,其实关于 Imagex 的应用之前的 Blog 已经分享过多次,如果你在 gOxiA 创建的 QQ Group 里,也应该对此有所了解!而这次重新针对 Windows 7 RTM 再谈这个话题是因为 gOxiA 对 Windows 7 RTM 英文版(以下简称:Win7RTM-Eng)进行了测试,发现 Win7RTM-Eng 的封装有 Bug,该封装的源不支持引导,而从 M3 到泄漏出来的 RTM 简体中文版,gOxiA 都进行了测试均未发现有与 Win7RTM-Eng 相同的问题,故判断该问题应该是封装人员疏忽所导致的一个 Bug,而该 Bug 将导致我们使用 Imagex 手工释放的 Install.wim 无法进行后续的安装过程。其实出现该问题也是情理之中,意料之外!怎么讲呢?!我们知道在 Windows 7 上,进行安装的时候如果是一个未格式化过的分区,那么安装向导将自动创建一个 100M 容量大小的“系统保留(System Reserved)”分区用于存储引导信息,那么 RTM 里 Install.wim 中的系统源该如何设置存储呢?似乎有些矛盾!不过目前在 gOxiA 测试范围内,除了英文版无法完成引导,其他 M3、Beta、RC、泄漏的中文 RTM 均可以进行引导!事情既然到了这个地步,恐怕也不可能重新收回 RTM。而且到底是不是 Bug 微软目前还未证实!所以我们还是需要用其他办法来解决。其实解决办法很简单,就是使用 bcdboot 命令,重新生成引导配置信息。同时也适用于有 System Reserved 分区的环境。

        大致的过程如下,首先使用 PE2.0 以上版本进行引导,之后使用diskpart 进行磁盘分区,可手工创建 System Reserved 分区,之后使用 imagex 释放 install.wim,最后使用 bcdboot 重新生成引导配置信息。

        diskpart 的命令参考如下(仅适用于新硬盘,如欲了解更多环境应用可以联系 gOxiA 进行讨论):

diskpart
sel disk 0
clean
create partition primary size=100
format fs=ntfs label="Syatem Reserved" quick
active
assign letter=c
create partition primary size=40000
format fs=ntfs quick
assign letter=d
exit

        imagex 的命令参考如下(将存储位置上的 install.wim 里的 Ultimate 版本释放到 D 盘):

imagex /apply %path%\install.wim 5 d:

        bcdboot 的命令参考如下:

d:
cd windows\system32
bcdboot d:\windows /s c:

        之后重新启动计算机,Windows 7 正常引导并开始后续的安装过程直至完成,最后进入系统后你会发现之前创建的 C 盘(System Reserved 分区)会自动隐藏。如果你不使用 System Reserved 分区,那么相关操作可以忽略!

分页: 1/1 第一页 1 最后页 [ 显示模式: 摘要 | 列表 ]