有关UEFI BIOS基础知识的简介,一年前在网易博客做过详细的概述。鉴于某些网友仍然对UEFI下Windows的启动过程不甚了解,虽然网上有各式各样的启动修复工具,但是对于新手来说,如果不明白其中的原理,使用工具也会畏首畏尾、十分盲目。现在详细介绍一下UEFI下Windows的启动流程以及引导文件修复方法。有关UEFI简介可以参考本博客的一篇文章:

UEFI入门科普:http://www.heu8.com/117.html

在上述文章中已经展示出了UEFI下Windows的启动流程:

UEFI BIOS→ESP分区→\efi\Microsoft\boot\bootmgfw.efi→efi\Microsoft\Boot\BCD→\Windows\system32\winload.efi→加载内核启动系统

上述流程中的ESP分区(标准的ESP分区可以使用Diskgenious软件创建),为UEFI下Windows的引导分区,实际上就是一个FAT格式的分区,并无其他特殊的要求。并不像在传统BIOS下,启动Windows需要“活动的主分区”。在ESP分区下,存在几个重要的文件(“√”表示必不可少的文件):

EFI/Boot/bootx64.efi(或bootia32.efi)
√ EFI/Microsoft/Boot/bootmgfw.efi
√ EFI/Microsoft/Boot/BCD
EFI/Microsoft/Boot/zh-CN

上面这几个文件可以系统安装光盘中找到,我们只要简单的使用“复制”-“粘贴”,放到ESP分区即可。当然也可以通过命令进行操作:

bcdboot X:\windows /l zh-cn

上述命令成功执行的前提:1、必须存在bcdboot.exe文件(原版Windows8.1/8/7的C:\Windows\System32下有此文件)。2、命令在bcdboot.exe文件所在路径下执行。3、若自行创建的FAT分区(不是标准的ESP分区),则需要执行命令:bcdboot X:\windows /l zh-cn /s Y: (Y代表FAT分区盘符)。

上述操作的意义在于,UEFI环境下安装系统,可以将gho、wim系统映像应用到某分区,然后自行创建一个ESP分区,再通过执行上述命令修复一下启动文件即可大功告成!有关UEFI启动的原理到此介绍完毕,重在理解,才能以不变应万变!

——如果您还有什么疑问,请在评论中提出,大家可以进行相互讨论!

http://www.heu8.com/647.html

UEFI BIOS模式下Windows系统启动过程以及引导文件修复方法的更多相关文章

  1. UEFI+GPT模式下的Windows系统中分区结构和默认分区大小及硬盘整数分区研究

    内容摘要:本文主要讨论和分析在UEFI+GPT模式下的Windows系统(主要是最新的Win10X64)中默认的分区结构和默认的分区大小,硬盘整数分区.4K对齐.起始扇区.恢复分区.ESP分区.MSR ...

  2. UEFI启动模式下安装Ubuntu 16.04教程【转】

    本文转载自:http://blog.csdn.net/Jesse_Mx/article/details/61425361 前言 最近常帮人安装Ubuntu,也算积累了一些经验.这篇博文主要谈一谈如何在 ...

  3. php命令行模式下加载的php.ini文件可能和web模式下加载的php.ini不一致

    php命令行模式下加载的php.ini文件可能和web模式下加载的php.ini不一致 命令行下查看加载的php.ini的路径: php -i|grep php.ini web模式下查看: <? ...

  4. UEFI下windows启动过程

    引导文件 在UEFI安装完操作系统后,Windows至少使用两个分区,一个叫做ESP分区(EFI SYSTEM PARTITION),用于存放启动文件,另一个则是BIOS下正常的系统分区,不同的是,B ...

  5. 解决UEFI启动模式下无法使用U盘启动WIN7安装界面

    问题场景 现在很多人都习惯使用U盘进行安装系统,主要是快捷方便.本文主要是讲解一下U盘在UEFI模式下无法启动Windows7安装界面的问题,可能很多人会说使用PE系统进行安装,但是因为我的主板只有独 ...

  6. 使用UEFI+GPT模式安装Windows

    一.硬盘分区 分区还是用PE下最常用的DiskGenius,可直接使用"快速分区"功能对硬盘进行分区.分区表类型选择GUID,勾选建立ESP分区.ESP分区非常重要,用于存放系统引 ...

  7. php在cli模式下取得命令行中的参数的方法-getopt命令行可传递数组-简单自定义方法取命令行参数

    在cli模式下执行PHP时,自动给脚本文件传递了一个变量$argv,其值即是一个命令中所有值组成的数组(以空格区分),在PHP程序中接收参数有3种方法1.直接使用argv变量数组. 2.使用$_SER ...

  8. Linux系统下root密码遗忘等系统故障的修复方法 - 运维总结

    IDC机房有一台centos系统的服务器,由于这台服务器的系统装了好长时间,且root密码中间更新过几次,后面去机房现场维护时,登陆密码遗忘了,悲催啊~没办法,只能开机进入“单用户模式”进行密码重置了 ...

  9. windows重装系统后grub引导菜单修复方法(亲自实验过)

    问题: 电脑安装的是windows7+ubuntu 15.10双系统.windows重装后,grub引导界面消失. 解决方法有两大步: 1.进入ubuntu; 2.在ubuntu中修复grub. 一. ...

随机推荐

  1. 如何使用Maven的archetype快速生成一个新项目(解决生成项目目录不完整问题)

    Maven的archetype Plugin可能大家都听过,但不一定都能很好地用好它.缺省地如果你使用 mvn archetype:generate  会从maven的Repository里查找所有支 ...

  2. C#中使用like和in参数传值

    like 参数string strSql = "select * from Person.Address where City like '%'+ @add + '%'";SqlP ...

  3. removeObjectAtIndex

    CGFloat lableW = (baseViewWidth - 2)/3;// dcj20150724,减2是为了解决字体模糊的问题,因为设置了边框. 原因是下面引起的 titleview.lay ...

  4. apache 修改连接数(转)

    1.先要修改最大连接数,必须了解Apache的MPM(Multi -Processing Modules,多道处理模块)Apache2.0中MPM分为3种(perfork.worker.event). ...

  5. C++知识体系

    基础知识 推荐书目 C++ <C++程序设计>(课程教材即可,简而薄) <STL源码剖析>(对C++进一步深化,也是必备知识) <C++对象模型>(经典中经典,重点 ...

  6. 读取和存储文本文件,UTF-8和GB2312通用的函数

    '------------------------------------------------- '函数名称:ReadTextFile '作用:利用AdoDb.Stream对象来读取UTF-8格式 ...

  7. Scope Directive

    ---------------------------Scope-------------------------------- https://docs.angularjs.org/guide/sc ...

  8. Hdu 3363 Ice-sugar Gourd(对称,圆)

    Ice-sugar Gourd Time Limit: 5000/2000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)T ...

  9. jquery选择器之基本筛选选择

    1.基本选择器 2.内容筛选选择器 3.可见性筛选选择器 4.属性筛选选择器 5.子元素筛选选择器 6.表单元素选择器 7.表单对象属性筛选器

  10. hadoop参数配置

    Hadoop参数汇总 linux参数 JVM参数 Hadoop参数大全 core-default.xml hdfs-default.xml yarn-default.xml Hadoop参数汇总 @( ...