100元上门4个小时服务电
您当前位置:网站首页 >> 知识专区
win10 为什么可以秒开机?(附实战源码,真机操作)
文章来源:CSDN Li-Yongjun  上传时间:2021-8-6  浏览量:986

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

BIOS 没落

BIOS 是长期以来 PC 上最具有代表性的固件,而近年来,BIOS 已经被标准化的 UEFI 取代。
相对于新式的 UEFI, 传统的 BIOS 被称为 Legacy 方式。
现在 PC 的默认启动方式基本都是 UEFI,但为了兼容,也保留了对 Legacy 的支持。
在这里插入图片描述

开机流程

BIOS 方式:
BIOS 是主板上固化的一块 flash 芯片,它在 PC 上电后最先启动,然后根据里面固化的程序,按步骤把主要硬件挨个检查一遍,接着去硬盘找引导程序,把引导权交给它,随后就进入系统了。

UEFI 方式:
可以理解为,UEFI 方式在启动流程上,省略了上述自检过程,直接将控制权交给引导程序。

自检

但是,UEFI 并不是不进行自检,而是弱化了自检的概念,强化了自检的功能。简单讲就是,BIOS 其实也只能进行一些简单的自检,随着技术的发展,这些简单的自检已经没有必要了,而复杂的自检,BIOS 又做不到。所以,UEFI 提供了框架,对复杂的设备可以单独自检,或者干脆等到 OS 加载时由 OS 来进行。

取消自检流程确实缩短了启动时间,这也是 win10 开机快的原因之一。

UEFI 优势

作为 Legacy BIOS 的继任者,UEFI 拥有前辈所不具备的诸多功能,比如图形化界面、多种多样的操作方式、允许植入硬件驱动等等。这些特性让 UEFI 更加易用、更多功能、更加方便。
加上UEFI本身的开发语言已经从汇编转变成 C 语言,高级语言的加入让厂商深度开发UEFI变为可能。

Legacy BIOS 在读取磁盘时,每次只能读 64KB,非常低效,而 UEFI 每次可读 1MB,载入更快,此外,win8/win10
更是进一步优化了 UEFI 的支持,号称可以实现瞬时开机。

UEFI 和 BIOS 的区别

BIOS 方式在启动操作系统前,必须从硬盘上指定扇区读取系统启动代码(包含在主引导记录中),然后从活动分区中引导操作系统。

而 UEFI 已经具备文件系统的支持,能够直接读取 FAT 分区中的文件。

对扇区的操作远比不上对分区中文件的操作更直观更简单。

实战

光说不练假把式,下面我们就来实战一把,感受下 UEFI 的启动方式。

大致流程是,我们把 PC 设置为 UEFI 启动方式,优先从 U 盘启动,而 U 盘又被我们事先格式化为 FAT32 格式,里面存放有我们的 UEFI 应用程序。
最终就是 UEFI 固件,将我们编写的 UEFI 应用程序给启动起来。
在这里插入图片描述

源码

main.c

struct EFI_SYSTEM_TABLE { char _buf[60]; struct EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL {
 unsigned long long _buf; 
unsigned long long (*OutputString)( struct EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL *This, unsigned short *String); unsigned long long _buf2[4];
 unsigned long long (*ClearScreen)( struct EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL *This); } *ConOut; }; 
void efi_main(void *ImageHandle __attribute__ ((unused)), struct EFI_SYSTEM_TABLE *SystemTable) { SystemTable->ConOut->ClearScreen(SystemTable->ConOut);
 SystemTable->ConOut->OutputString(SystemTable->ConOut, L"Hello UEFI!\n"); while (1); } 

编译

$ x86_64-w64-mingw32-gcc -Wall -Wextra -e efi_main -nostdinc -nostdlib -fno-builtin -Wl,--subsystem,10 -o main.efi main.c
			

			
  • 1

制作启动盘

  1. 把 U 盘格式化为 FAT32 格式
  2. 将 main.efi 存放到 U 盘的 EFI/BOOT/ 文件夹中,并重命名为 BOOTX64.EFI

启动

关闭计算机,插入刚刚制作好的 U 盘启动盘,确认 BIOS 中使用的是 UEFI 引导方式,并设置系统为 U 盘优先启动,且要关闭 Secure Boot 选项。

保存,开机
在这里插入图片描述
特写
在这里插入图片描述
可以看到,上电后先是显示开机画面(UEFI 固件阶段),接着立马在屏幕上显示 Hello UEFI!,正是下面这两句代码的作用。

SystemTable->ConOut->ClearScreen(SystemTable->ConOut); // 清屏
SystemTable->ConOut->OutputString(SystemTable->ConOut, L"Hello UEFI!\n"); // 打印 Hello UEFI! 

14

2022-01

win10 如何做到 C盘 的绝对干净,所有软件都安装到D盘,C盘只用来存操作系统。

win10 如何做到 C盘 的绝对干净,所有软件都安装到D盘,C盘只用来存操作系统。

30

2022-12

用一张图说一说 ChatGPT 内部技术工作流程

用一张图说一说 ChatGPT 内部技术工作流程

18

2021-09

TCP协议为什么需要三次握手?

TCP协议为什么需要三次握手?

26

2021-04

LiteOS内核源码分析:消息队列Queue

LiteOS内核源码分析:消息队列Queue

26

2021-04

轻松带你学习java-agent

java-agent的挂载方式有两种,一种是静态挂载,一种是动态挂载。静态挂载中,agent与java应用一起启动,在java应用初始化前agent就已经挂载完成,并开始监控java应用。动态挂载则是在应用运行过程中,通过进程ID确定挂载对象,动态的将agent挂载在目标进程上。

07

2021-01

谷歌大脑组合模型霸榜 SuperGLUE

2020 年12 月31 日,谷歌大脑的研究科学家 Adams Wei Yu 在社交媒体发布消息,宣布实现了新的 SOTA(state of the art 即实现该领域已知的最好效果)

27

2017-05

华为发布智慧城市解决方案架构:一云二网三平台

7月15日,华为在苏州成功举办了“新ICT,让城市更智慧——华为智慧城市生态圈行动计划发布会”,与业界500多位客户、合作伙伴和专家共同讨论了智慧城市发展建设趋势,分享了在智慧城市领域的实践经验,宣布推出华为“一云二网三平台”智慧城市解决方案整体架构,并发布了华为智慧城市生态圈行动计划。

15

2021-07

立刻安装Windows11预览版抢先体验(虚拟机 | 含详细安装步骤)

立刻安装Windows11预览版抢先体验(虚拟机 | 含详细安装步骤)
返回顶部
客服电话
100元上门4个小时服务电
用微信扫一扫关注我们
请各公司推销人员注意:我单位拒绝任何方式、任何形式的电话推销,请勿拔打我单位客服热线进行电话推销,谢谢合作!
公司名称:同城喝茶_同城快餐wx_
100元上门4个小时服务电话-初中生100元3小时二维码联系方式是同城约茶联系方式,人到付款,找服务,不限次数,附近约茶联系方式,怎么,如何,00元3小时上门服务电话,上门服务电话号码、叫小妹服务,100/200/300/400/500/6789、本地同城附近服务,品茶,喝茶,过夜,酒店宾馆,qq,微信,会所,同城包小妹
关键词:知识专区:win10 为什么可以秒开机?(附实战源码,真机操作),100元不限次数上门电话,200元3小时上门不限次二维码,3小时一晚同城约茶,100元上门4个小时,200元3小时上门不限制服务,600快餐_600元3小时上门二维码_600元4个小时上门服务电话,200元3小时,3小时上门服务电话号码,100元3小时,100元上门服务电话,附近约100元3小时上门服务,附近约妹妹200元电话,附近初中生100,
云南网站建设,云南网页设计,昆明网站建设,昆明网页设计  网站管理
【版权声明】本站部分内容由互联网用户自行发布,著作权或版权归原作者所有。如果侵犯到您的权益请发邮件致info@ynjwz.com,我们会第一时间进行删除并表示歉意。