主机规划与磁盘分区
MBR与GPT磁盘分区表
几个概念的区分:
碟片是磁盘最主要的部分,存储数据信息。
碟片可以细分出扇区(Sector)和磁道(Track),扇区的物理大小设计有512Byte和4Kbyte。
所有碟片的同一磁道称为柱面(Cylinder),通常是文件系统(分区)的最小单位。
分区格式:MBR(Master Boot Record)和GPT(GUID partition Table)。
MBR
- MBR最早用于Windows,Linu为了与Windows兼容所以使用MBR,目的是处理启动引导程序和分区表。
两者都放在磁盘的第一扇区,该扇区通常为512K字节,包括主引导记录(安装启动引导程序-446K)和分区表(记录整块磁盘分状态-64K)。由于分区表只有64字节,所以最多只能记录4组记录区,每组记录区记录了该区段的结束和开始柱面号码。
这四组划分信息成为主要(Primary)或扩展(Extended)分区,当系统要写入磁盘是,一定会参考磁盘分区表,才能针对某个分区进行数据的处理。
分区的意义:1.数据的安全性,比如格式化C不会影响D盘 2.加快数据读取的速度
使用扩展分区可以将磁盘分成更多个分区,远大于4个。使用扩展分区继续切出来的分区叫做逻辑分区,逻辑分区的设备号从5开始,扩展分区最多只能有1个,无法被格式化。
MBR的缺陷:操作系统无法使用2.2T以上的磁盘容量;MBR仅有一个区块,被破坏以后很难恢复。
GPT
- 在扇区的定义上使用逻辑区块地址(LBA)来处理,GPT使用前面34个LBA区块来记录分区信息,最后34个LBA作为备份。
LBA0记录第一阶段的启动引导程序,LBA1记录GPT表头,包括备份用分区,校验码,2到33分区记录分区信息,最多高达128组分区记录,,每组记录提供64位来记录开始和结束的扇区号码,最终可以达到230 TB容量。
每一个分区都可以拿来格式化。

启动检测程序BIOS和UEFI
BIOS
- BIOS是写入到主板上的一个固件,是计算机启动之后主动执行的第一个程序。BIOS会根据用户设置先去读硬盘,到第一个扇区的MAR,然后MAR启动引导程序开始工作,读取内核文件,加载操作系统。
- Boot loader是操作系统安装在MAR上的一个小软件,可以提供不同的启动选项;可以加载内核文件启动操作系统,可以将启动管理转交给其他启动引导程序。
- 关于多重引导:启动引导程序不仅可以装在MAR,还可以装在每个分区的启动扇区内。
UEFI
- UEFI是一种统一可扩展固定接口,使用C语言编写,直接使用驱动程序进行控制操作,因此具有很强的可扩展性·。
- UEFI可以直接获取GPT的分区表,但最好依然有BIOS boot的分区支持,并且通常需要格式化一个FAT的文件系统,提供512MB到1GB专门用来做UEFI的执行。