电脑突然开不了机的情况基本人人都遇到过,原因也是千奇百怪,不管什么原因,一般都会选择重装系统。
毕竟没有什么是重装系统解决不了的电脑故障,如果有,那就装两遍。
实际上粗暴地重装系统是非常小白的解决方法,毕竟耗时耗力,还可能导致文件丢失,而且电脑系统坏掉的几率是很小的。
比起系统故障,引导问题导致开不了机更加常见,但是因为系统引导的概念不为人熟知,所以大家在面临引导问题时往往手手足无措。
文本以Windows 10下单系统为案例讲解引导原理和修复方法。
01
—
什么是“引导”
如果不清楚UEFI和BIOS引导模式区别,先看这篇文章:装系统首选UEFI,不仅仅是开机快2秒!
02
—
引导文件和工作流程
在BIOS+MBR引导模式中,活动分区内有这些重要的引导文件:
在Windows 10的系统安装盘C:/windows/system32下存在winload.exe启动程序。
如果”Boot/BCD”、”bootmgr”、”C:/windows/system32/winload.exe”丢失或者损坏系统将无法引导开机。
BIOS启动流程:
在BIOS启动时会依次检查磁盘分区,看是否为活动分区,如果是活动分区,就检查分区内有没有引导文件,然后执行。
在BIOS引导模式中,引导文件可以在任意活动分区中,至于启动的是什么系统,BIOS 不管。
在UEFI+GPT引导模式中,GPT分区表上,有一个FAT32格式的EFI系统分区(EFISystem Partition,ESP),所有系统的启动文件都放在EFI文件夹中。
所以在”EFI/Microsoft/Boot/bootmgfw.efi”系统默认引导文件丢失的情况下,计算机也能通过“/Boot/bootx64.efi“启动Windows。反之亦然。
03
—
排除其他引导错误的可能
引导文件出现问题一定开不了机,开不了机却不一定是引导文件的锅,也可能BIOS设置错误,首先进入BIOS。
检查BIOS中第一启动盘是否为系统盘。
04
—
简单的引导修复
修复引导的方法很多,但原理都大同小异,Windows系统最推荐使用微软提供的bcdboot.exe命令行工具,基本一行命令就能修复引导问题。
bcdboot.exe,是微软编写的引导修复命令行工具,它的工作原理是从已有的 Windows 系统中复制一套启动环境文件到启动分区中。
无法启动系统时有两种方法可以打开BCDboot.exe命令
1、进入PE调用,WIN+R打开运行,输入CMD。
2、进入Windows高级修复模式(方法之一是在开机显示Windows图标的时快速切断电源,连续3次将进入修复模式)
通常引导文件丢失或损坏只需要输入bcdboot C:/windows 即可修复引导
在BIOS引导模式中,bcdboot会在MBR格式磁盘上的活动分区中创建 /Boot 目录,并将所有需要的引导环境文件复制到该目录中。
05
—
误删引导分区
有时候我们会误删系统引导分区,这种情况下需要先建立合适的引导分区在进行修复。
BIOS模式下:
进入磁盘管理 – 右键被删除的引导分区 – 新建简单卷 – 将刚刚建立的卷转化为活动分区(BIOS引导下bcdboot识别活动分区)。
再次输入命令修复引导。
最后别忘了隐藏引导分区,避免再次误删。
ps:BIOS引导模式下其实引导文件可以和系统放在一个分区中,也就是说不用建立专门的引导分区,将系统所在分区设置为活动分区然后直接输入bcdboot命令即可。
上面的diskpart命令依次是:
以上就是Windows 10 下使用bcdboot引导修复的方法。
06
—
bcdboot其他命令
在面对更复杂的情况时bcdboot还提供其他命令格式:
bcdboot <源位置>[ /l <区域设置> ][ /s <卷号>[ /f < 固件类型> ]] [ /v ][ /m [{OS 加载程序 GUID}] ] [ /addlast或 /p ][ /d ][ /c]
源位置 指定作为源的 Windows 根目录的位置,将从该目录中复制启动环境文件
输入示例:bcdboot C:/Windows
/l 可选,指定初始化 BCD 存储时可选区域设置,默认值为英语(美国)
输入示例:bcdboot C:/Windows /lzh-CN
/s 可选,指定复制引导文件目标系统分区的卷号,默认值是固件所标识的系统分区
输入示例:bcdboot C:/Windows /s S:
/f 与 /s 一起使用,指定目标系统分区的固件类型,选项有UEFI、BIOS 或ALL
输入示例:bcdboot C:/Windows /s S: /f ALL
/v 可选,启用详细模式
输入示例:bcdboot C:/Windows /v
/m 可选,如果指定了 OS Loader GUID,则合并给定的加载程序对象和系统模板,以生成可启动项,默认情况下,只合并全局对象
输入示例:bcdboot c:/Windows /m {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}
/addlast 可选,指定应将上次添加的 Windows 启动管理器固件项。默认行为是将其添加第一次。不能与 /p 选项一起使用。
输入示例:bcdboot C:/Windows /addlast
/p 可选,指定 Windows 引导管理器固件项应保留位置。如果条目不存在,新条目将添加到第一个位置
输入示例:bcdboot C:/Windows /p
/c 可选,指定由模板描述的任何现有对象不应迁移
输入示例:bcdboot C:/Windows /c
案例:bcdbootC:/Windows /s H: /f uefi /l zh-cn
暂无评论内容