Windows引导过程
Windows作为最流行的个人计算机操作系统,它已成为我们学习、工作和生活的一部分。通常使用计算机时,我们必须先按下电源键,然后等待Windows启动,初始化,进入欢迎页面,启动完成。你会觉得整个过程很神奇吗?想想看。事实上,整个启动过程经历了多个阶段。接下来,小编将逐一讲述每个阶段,揭开它们神秘的面纱。
通电后CPU主板引导程序可分为主板引导程序。BIOS和UEFI。BIOS是最早的方案,搭配MBR分区使用,BIOS逐渐被UEFI代替,UEFI一般搭配GPT分区使用,引导过程有两种:
BIOS MBRUEFI GPT这两种情况将分别介绍。
UEFI
UEFI(Unified Extensible Firmware Interface)具有灵活扩展、省时引导等特点BIOS新推出的主板和操作系统基本默认使用替代方案UEFI引导,小编Win10系统采用UEFI引导。
如何检查你的计算机是如何引导的?
如何检查你的计算机是如何引导的?
右键选择管理,弹出计算机管理选择磁盘管理EFI系统分区UEFI引导方法。UEFI一般搭配GPT虽然也可以搭配分区技术MBR,但是由于MBR最大磁盘容量只能是2TB,今天磁盘容量越来越大,略显不足,默认使用GPT分区技术。GPT可以做到:
支持能力超过2TB磁盘;使用16字节GUID标识分区类型不易发生冲突;理论上,分区数量不受限制(限于Windows最多只能识别128个分区);由于使用64位整数,64位整数的最大值为2^64 - 1.值很大;提供;CRC检查数据损坏,备份分区表,提高可靠性。
引导流程
1.按下电源键,向主板等设备供电。一开始电压不稳定,主板会继续发送RESET信号给CPU,CPU实施初始化。当电压稳定时,主板停止发送RESET信号,CPU开始执行指令;
2.CPU读取UEFI指令,执行UEFI实施其他设备的初始化;
3.查找EFI分区,EFI分区不一定是第一个分区;
4.加载\\EFI\\Boot\\bootx64.efi,在安装Windows实际上会使用\\EFI\\Microsoft\\Boot\\bootmgfw.efi替换内容\\EFI\\Boot\\bootx64.efi,所以\\EFI\\Boot\\bootx64.efi其实就是\\EFI\\Microsoft\\Boot\\bootmgfw.efi;
5.bootmgfw.efi会读取BCD文件,BCD它是一个包含多个系统的数据库文件BCD中,用户选择显示系统列表;
6.BCD它包含各系统引导文件的路径,Windows的是\\Windows\\System32\\winload.efi,加载到内存并执行;
7.winload.efi读取\\Windows\\bootstat.dat必要时显示引导菜单,例如,安全指导等,然后加载核程序Ntoskrnl.exe,相关辅助HAL.dll、CI.dll、PSSHED.dll、BootVID.dll,把CPU执行权交给核心程序;
8.内核程序执行系统初始化。
从以上流程可以看出,相关文件存储在指导中EFI在系统分区中,下图是小编win10的EFI系统分区的一些文件:BIOS
BIOS(Basic Input Output System)是最早的引导方案,使用时间相当长,所以在Win8、Win7、WinXP而且可以找到更早的版本BIOS指导存在。BIOS只支持MBR因此,分区技术GPT并不适合BIOS。
引导流程
1.上电稳定后,CPU执行地址0xFFFF0h这里是处指令BIOS程序;
2.BIOS进行硬件自检。没有问题后,将硬盘的第一个扇区加载到内存0x7c00h处,第一扇区是MBR(Master Boot Record),MBR包括执行程序和分区表;
3.CPU开始执行MBR程序,查找第一个活动分区,把活动分区的第一个扇区加载到内存中,活动分区第一扇区是PBR(Partition Boot Record);
4.CPU开始执行PBR,第一个指令是跳过BPB(BIOS Parameter Block)到可执行代码处;BPB有族的大小包含更多的参数,MFT记录大小、MFT用于读取的位置等NTFS文件;
5.PBR读取VBR(Volume BootRecord,占用分区开始时的16个区域)剩余的15个区域进入内存;然后CPU跳转到0x07C0:027A处,执行BOOTMGR代码(第二扇区);
6.开始寻找bootmgr.exe,找不到就找ntldr.exe(win vista以前的系统);
7.CPU加载并跳转bootmgr.exe执行,读取BCD如果文件包含多个系统,则列出显示供用户选择;
8.选择的是Windows则读取winload.exe从文件到内存,CPU跳转到winload.exe执行,读取文件\\windows\\bootstat.dat,必要时显示指导菜单,如安全指导等;然后加载核程序Ntoskrnl.exe,相关辅助HAL.dll、CI.dll、PSSHED.dll、BootVID.dll,把CPU执行权交给核心程序;
9.内核程序执行系统的初始化。
可见BIOS引导更多的是通过MBR引导系统,UEFI整个整个引导过程。
结束语
在启动计算机的过程中,不可避免地会遇到蓝屏、黑屏等各种问题,掌握其启动过程,将有利于我们调查和修复各种故障。以上是关于今天的全部内容,下一期将带给您如何使用容器tini请期待~电脑网