PC小芝士
记录下对于PC boot的学习
一、BIOS(摘记)
(1) BIOS概念
BlOS(Basic Input Output System)从字义上称为“基本输出输入系统”,专门负责系统硬件各种参数设定,本质上是“程序”,也就是一组“代码”。
BIOS程序是用汇编语言编写,通电后,BIOS首先连接到南桥(ESB),然后是北桥(MCH),最后连接CPU。
(2) BIOS芯片概念
BIOS芯片,特指存储BIOS程序的一块ROM芯片。
ROM芯片本质是一个储存器,是主板上快闪EEPROM内存模块板中的长方形或正方形芯片,可以存储BIOS程序,也可以存储其它程序、代码。
EEPROM (Electrically Erasable Programmable read only memory)是指带电可擦可编程只读存储器。是一种掉电后数据不丢失的存储芯片。 EEPROM 可以在电脑上或专用设备上擦除已有信息,重新编程。一般用在即插即用。
(3) BIOS的作用
作为计算机开机之后,运行的第一个程序。
带领CPU识别主板上的重要硬件和集成元件,如硬盘、显卡、声卡以及各种接口,然后按照预设顺序读取存储器上操作系统的引导文件,通过设置的启动模式找到引导分区装载操作系统。
顺利引导操作系统之后,BIOS功成身退、隐于后台。
(4) BIOS的加载顺序
BIOS程序是用汇编语言编写,通电后,BIOS首先连接到南桥(ESB),然后是北桥(MCH),最后连接CPU。
英特尔主流服务器芯片组技术对比分析
英特尔的北桥芯片被称为Chipset Memory Controller Hub (MCH),主板的北桥芯片组决定主板可以支持的CPU种类、前端总线频率、内存规格和容量等等,并且北桥芯片是处理器和高速设备的联系纽带,包括内存、高速PCI Express等设备的总线就是构架于北桥之上。
主板南桥芯片组决定着支持的扩展插槽和扩展接口的种类和数量,并且负责完成相对低速的系统设备的连接,如USB2.0接口、SATA接口、PCI-E x4、PCI-x、低速的PCI等等,同时,南桥芯片集成电源管理功能,也可以集成音频芯片如AC’97,节省系统成本。
(5) BIOS芯片内储存的程序段
- 自诊断程序
通过读取CMOSRAM中的内容,识别硬件配置,并对其进行自检和初始化。 - CMOS设置程序
引导过程中,用特殊热键启动,进行设置后,存入CMOS RAM中。 - 系统自检装载程序
在自检成功后,将磁盘0磁道0扇区上的引导程序装入内存,运行加载操作系统。 - 主要l/0设备驱动程序和中断服务
二、UEFI
(1) 概念与特点
UEFI可以认为是BIOS的升级版,不仅有UI界面,并且容错和纠错特性也更强。
相比于传统的BIOS,UEFI加入了对新硬件的支持,其中就有支持2TB以上硬盘。
Tips: UEFI应该使用FAT32分区格式。
(2) 兼容性
可以把UEFI设置成Legacy模式(传统模式)让其支持传统MBR启动,效果同BIOS+MBR。
三、MBR与GPT
(1) MBR
主引导记录(MBR,Master Boot Record)是采用MBR分区表的硬盘的第一个扇区,即C/H/S地址的0柱面0磁头1扇区,也叫做MBR扇区。
在深入讨论主引导扇区内部结构的时候,有时也将其开头的446字节内容特指为“主引导记录”(MBR),其后是4个16字节的“磁盘分区表”(DPT),以及2字节的结束标志(55AA)。因此,在使用“主引导记录”(MBR)这个术语的时候,需要根据具体情况判断其到底是指整个主引导扇区,还是主引导扇区的前446字节。
MBR(Master Boot Record)是传统的分区表类型,当电脑启动时,会先启动BIOS,BIOS再从硬盘上读取MBR主引导记录,硬盘上的MBR读取后,就会启动操作系统,但最大的缺点则是不支持容量大于2T的硬盘。
(2) GPT
全局唯一标识分区表(GUID Partition Table,缩写:GPT)是指全局唯一标示磁盘分区表格式。它是可扩展固件接口(EFI)标准(被Intel用于替代个人计算机的BIOS)的一部分,被用于替代BIOS系统中的以32bits来存储逻辑块地址和大小信息的主引导记录(MBR)分区表。
对于那些扇区为512字节的磁盘,MBR分区表不支持容量大于2.2TB(2.2 ×1012字节)的分区,然而,一些硬盘制造商(诸如希捷和西部数据)注意到这个局限性,并且将他们的容量较大的磁盘升级到4KB的扇区,这意味着MBR的有效容量上限提升到16 TiB。
这个看似“正确的”解决方案,在临时地降低人们对改进磁盘分配表的需求的同时,也给市场带来关于在有较大的块(block)的设备上从BIOS启动时,如何最佳的划分磁盘分区的困惑。GPT分配64bits给逻辑块地址,因而使得最大分区大小在264-1个扇区成为可能。对于每个扇区大小为512字节的磁盘,那意味着可以有9.4ZB(9.4×1012字节)或8 ZiB 个512字节(9,444,732,965,739,290,426,880字节或 18,446,744,073,709,551,615(264-1)个扇区×512(29)字节每扇区)。
GPT是另一种更先进的磁盘系统分区方式,它的出现弥补了MBR这个缺点,最大支持18EB的硬盘,是基于UEFI使用的磁盘分区架构。
四、GRUB
GNU GRUB(GRand Unified Bootloader简称“GRUB”)是一个来自GNU项目的多操作系统启动程序。GRUB是多启动规范的实现,它允许用户可以在计算机内同时拥有多个操作系统,并在计算机启动时选择希望运行的操作系统。GRUB可用于选择操作系统分区上的不同内核,也可用于向这些内核传递启动参数。
GRUB(GRand unified bootloader),多操作系统启动程序。它允许用户可以在计算机内同时拥有多个操作系统,并在计算机启动时选择希望运行的操作系统。
GRUB可用于选择操作系统分区上的不同内核,也可用于向这些内核传递启动参数。它是一个多重操作系统启动管理器,用来引导不同系统,如Windows、Linux。Linux常见的引导程序包括LILO、GRUB、GRUB2。如下图所示为GRUB加载引导流程。
Centos 7 默认使用GRUB2引导系统启动,GRUB2 是基于 GRUB 开发成更加安全强大的多系统引导程序,最新Linux发行版都是使用GRUB2作为引导程序。同时GRUB2采用了模块化设计,使得GRUB2核心更加精炼,使用更加灵活,同时也就不需要像GRUB分为 stage 1、stage 1.5、stage 2三个阶段。