Win8.1系统提示0xc000000f错误的一种解决方法
问题描述
电脑光驱位加装了固态硬盘,并在其中安装了Ubuntu,但在win8.1系统使用 EasyBCD软件引导双系统ubuntu16.04过程中,不小心损坏修改了win8.1的BCD启动配置文件,在关机过后重启,黑屏白字(或蓝屏白字)提示出现0xc000000f的错误,并且无法进入win8.1。所以进入系统cmd修复已不可能。
别急着重装系统,先来看看系统提供的措施,如下:
window未能启动,原因可能是最近更改了硬件或软件,解决此问题的步骤。
1,插入windows 安装光盘并重新启动。
2,选着语言设置,然后单击下一步。
3,单击修复计算机。
如果没有光盘,请与您的系统管理员或计算机制造商联系,以获得帮助。
出现这故障一般是由于更新驱动过程中重要系统文件被替换成了不可识别的版本。系统提示插入对应版本的微软原版系统盘将该文件重新替换回来。
既然系统让我们这么干,那就按照这个来。按照以上系统所给的解决方案,问题一般是可以解决的。但是在这一过程中仍然可能存在许多问题。下面按照系统所给的方法,来修复win8.1的启动。并列出我在此过程中所遇到的问题和最终解决方案。
解决方法
首先,从所给的第一步着手,如果你有对应版本的微软原版系统光盘,那很好。如果没有,那就用U盘来制作一个win8.1的启动盘。(详细教程请参见百度经验:软碟通制作win8 u盘启动盘步骤)
之后,进入你的电脑的BIOS设置,在其中设置从U盘启动;当然,如果你是用的Windows 8的安装光盘,那就设置为从光盘启动。(详细教程请参见百度经验:U盘启动BIOS设置教程)
[注意]:不同电脑的BIOS设置是不同的,请查找匹配电脑型号的设置教程。不过相关设置大同小异,你也可以在进入BIOS之后自己根据界面内相关注释说明来进行操作再按照系统所给的第二步和第三步,进入该系统,选择“下一步”后,找到修复系统选项并选择。之后尝试自动修复计算机,如果此处显示成功修复,那么很好,接下来的东西不用看了。直接跳到步骤9就好了。
但是我自动修复过程中产生了以下错误:安装windows的驱动器已被锁定,请解锁该驱动器。 修复过程再一次陷入了窘境。
那怎么解决4中的问题呢?我也没搞懂。渣渣的选择方式是果断放弃,换个方式。既然自动修复不成功,那就只能选择手动修复BCD了。进入高级选项,并选择进入命令提示符。
在命令行窗口依次输入
bootrec /fixmbr
、按回车键;输入bootrec /fixboot
,按回车键;输入bootrec /rebuildbcd
,按回车键,按照屏幕提示选择”Y”操作,如果操作成功,那么很好,直接去步骤9即可。然而,很不幸,新问题来了,在我输入”Y”后,出现了以下错误提示:由于可能有多个不可辨别的设备与识别条件相匹配,无法识别所请求的系统设备。(The requested system device cannot be identified due to multiple indistinguishable devices potentially matching the identification criteria.)
这下逃不掉了,如何解决呢?最终找到了问题,由于我在固态硬盘安装了Ubuntu,导致两个磁盘中有多个EFI系统分区,所以
rebuildbcd
命令不知道要重建哪一个,我参见了superuser中的一个回答,在此引用一下。首先,在命令行输入diskpart
,回车,然后按照如下操作(注:// 后为注释)
Microsoft DiskPart version 6.3.9600
Copyright (C) 1999-2013 Microsoft Corporation.
DISKPART> list disk //列出你有几个磁盘
Disk ### Status Size Free Dyn Gpt
-------- ------------- ------- ------- --- ---
Disk 0 Online 465 GB 60 MB *
Disk 1 Online 202 GB 0 B *
DISKPART> select disk 0 //先选择磁盘0
Disk 0 is now the selected disk.
DISKPART> list part //列出盘0中的分区
Partition ### Type Size Offset
------------- ---------------- ------- -------
Partition 1 Recovery 400 MB 1024 KB
Partition 2 System 200 MB 401 MB //关键找system
Partition 3 Reserved 128 MB 661 MB
Partition 4 Primary 452 GB 789 MB
Partition 5 Primary 12 GB 453 GB
DISKPART> select part 2 //选中盘0中的第二个分区
Partition 2 is now the selected partition.
DISKPART> detail part
Partition 2
Type : c12a7328-f81f-11d2-ba4b-00a0c93ec93b
Hidden : Yes
Required: No
Attrib : 0X8000000000000000
Offset in Bytes: 420478976
Volume ### Ltr Label Fs Type Size Status Info
---------- --- ----------- ----- ---------- ------- --------- --------
* Volume 3 FAT32 Partition 200 MB Healthy Hidden
DISKPART> select disk 1
Disk 1 is now the selected disk.
DISKPART> list part
Partition ### Type Size Offset
------------- ---------------- ------- -------
Partition 1 OEM 6000 MB 1024 KB
Partition 2 Recovery 300 MB 6001 MB
Partition 3 System 100 MB 6301 MB
Partition 4 Reserved 128 MB 6401 MB
Partition 5 Primary 196 GB 6529 MB
DISKPART> select part 3
Partition 3 is now the selected partition.
DISKPART> detail part
Partition 3
Type : c12a7328-f81f-11d2-ba4b-00a0c93ec93b
Hidden : Yes
Required: No
Attrib : 0000000000000000
Offset in Bytes: 6607077376
Volume ### Ltr Label Fs Type Size Status Info
---------- --- ----------- ----- ---------- ------- --------- --------
* Volume 6 FAT32 Partition 100 MB Healthy System
你会看到这两个磁盘中的系统(system)分区的Type都对应着c12a7328-f81f-11d2-ba4b-00a0c93ec93b
,只要Type是这个值,就会被识别为EFI系统分区,而这就是问题的根源。接下来要做的,就是把我们不想修复的所有磁盘中的所有system分区的Type的值给改掉。通过使用select disk [数字]
和 select part [数字]
命令选中system的分区,然后再执行 set id=c12a7328-f81f-11d2-ba4b-00a0c93ec930
命令来改掉原来的值,你会发现字符串最后一位已被修改。把所有不想修复的system分区改完之后,用exit
命令退出diskpart,再次执行bootrec /rebuildbcd
命令,回车,最终成功。可以退出命令行了。
9 现在直接重启电脑就可以了,但是注意修改BIOS设置,把第一启动项再改到我们修复的系统上。