叙述主板的启动过程

2023-08-17 13:30:43 业界科普

主板的启动过程可以分为BIOS引导过程和UEFI启动过程两部分,下面将分别进行详细叙述。

BIOS引导过程

BIOS引导过程主要包括stage1、stage1_5和stage2三个部分。

1、stage1:被编译成了一个512字节的img,写在硬盘的0面0道第1扇,它所做的唯一的事情就是装载第二引导装载程序stage2。

2、stage1_5:写进了MBR后的15个扇区中。stage1_5就是文件系统的解释代码,ext3分区的话就是 e2fs_stage1_5。在stage1_5没有被加载以前,系统无法识别任何文件系统(但是可以通过BIOS中断方式INT 13h读取磁盘指定扇区的内容), 加载stage1_5以后就可以识别/boot所在分区的文件系统了,从而为加载stage2作好了准备。

3、stage2:是grub最核心的部分有100多KB,所以只能放在文件系统中,放在/boot分区里。加载stage2后grub会即将内核映像装入地址0x90000的内存中,将内核入口装入到地址0x90200的内存中,然后跳转到内核入口处开始启动内核。

各厂家的BIOS程序不尽相同,但基本都是完成POST自检及本地设备的枚举和初始化,包括对硬件执行一系列的测试,用来检测现在都有什么设备以及这些设备是否能正常工作,在这个阶段中,会显示一些信息,例如BIOS版本号等;初始化硬件设备,这个阶段在现代基于PCI的体系结构中相当重要,因为它可以保证所有的硬件设备操作不会引起IRQ线与I/O端口的冲突,在本阶段的最后,会显示系统中所安装的所有PCI设备的一个列表等。

UEFI启动过程

UEFI启动会查找硬盘中的EFI分区。EFI分区一般为FAT32格式,被标记为ESP。EFI分区中除了资源文件,最主要用于启动的是一些*.efi文件。这些efi文件会由UEFI boot manager读取启动。另外进入主板的EFI shell也是可以手动加启动项的。这个启动项也不是很智能,像图上的Ubuntu已经不存在了,但因为这个启动项还在主板设置中,所以还是能看到这个启动项,但当然是没法正常启动的。

UEFI启动相比BIOS启动,UEFI启动会查找硬盘中的EFI分区,而不是去读取硬盘的MBR。在引导系统上,BIOS/UEFI是如何从主板固件载入系统的两种方式。传统BIOS是老式的启动方式,启动上没有任何功能。UEFI是新式启动方式,支持许多功能,更加灵活,也可以兼容BIOS启动方式。新的主板都支持UEFI,但是每家主板厂商每代主板支持的程度很可能不同。

MBR/GPT和BIOS/UEFI是两个不同的概念。MBR/GPT是每个硬盘的分区格式。MBR是旧的格式,最多4个主分区,不支持2TB的分区。

版权说明: 本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。