鸟哥的私房菜基础篇bootloader,biosboot, MBR的区别

legacy机器开机顺序    BIOS-MBR-bootloader-核心文件-操作系统

BIOS:Basic Input Output System, 可以理解为写死在主板上或者硬件上的一段程序, 当然后来也可以升级(修改), 机器开机之后运行的第一个程序就是BIOS, BIOS加载CMOS上的参数,并寻找第一个可启动的设备(磁盘), 

MBR:Mast Boot Record,  主引导分区,位置就是第一个可开机装置(磁盘)的第一个扇区, 通常大小为512byte,旧的磁盘一个扇区都是512B, 最新的有4KB,这个扇区有两部分:MBR和分区纪录表,64byte,最多纪录4个分区。

MBR是安装开机管理程序的地方,所谓开机管理程序,可以理解为bootloader,bootloader的作用是加载核心文件,也就是引导操作系统开始工作。

传统磁盘分区,主要是windows

分区记录表64byte,记录一个分区需要16byte, 所以最多记录4个分区,有两种类型:主分区(Primary)、扩展分区(Extended),,而且扩展分区只能有一个 

难道一块硬盘只能有四个分区?你也知道,这不是真的,那怎么办,这就引出了逻辑分区的概念,原理是把Extended分区切成若干个逻辑分区,所以扩展分区是所有它包括的逻辑分区的总和,Extended分区只是一个抽象,物里上不存在(也可以说存在,看你怎么想)。

这样就可以分超过四个分区了,Extended分区的目的是使用额外的扇区来记录分区信息,所以不能被格式化,如果你把他格式化了,你的逻辑分区就找不到了,所以只有主分区Primary,和逻辑分区可以被初始化

但是MBR有一些弊端:

1 操作系统无法抓取到2.2T以上的磁盘容量,

2 MBR只有一块,被破坏了,很难救援

3bootloader最大446byte,无法容更大的开机管理程序

GUID partition table 全局唯一表示分区表

与MBR仅仅使用第一个512bytes来记录不同,GPT使用了34个LBA区块来记录硬盘分割信息,同时整个硬盘的最后33个LBA被用来作为另一个备份。

  • LBA0(MBR):
  •  

    对于GPT分区表的磁盘,在GPT分区表的最开头,处于兼容性考虑仍然存储了一份传统的MBR,用来防止不支持GPT的硬盘管理工具错误识别并破坏硬盘中的数据,这个MBR也叫做保护MBR。在支持从GPT启动的操作系统中,这里也用于存储第一阶段的启动代码(这也叫bootloader,但是这只是完整bootloader级开机管理程序的一部分)。在这个MBR中,只有一个标识为0xEE的分区,以此来表示这块硬盘使用GPT分区表。不能识别GPT硬盘的操作系统通常会识别出一个未知类型的分区,并且拒绝对硬盘进行操作,除非用户特别要求删除这个分区。这就避免了意外删除分区的危险。另外,能够识别GPT分区表的操作系统会检查保护MBR中的分区表,如果分区类型不是0xEE或者MBR分区表中有多个项,也会拒绝对硬盘进行操作。

  • 在使用MBR/GPT混合分区表的硬盘中,这部分存储了GPT分区表的一部分分区(通常是前四个分区),可以使不支持从GPT启动的操作系统从这个MBR启动,启动后只能操作MBR分区表中的分区

  • LBA1(GPT表头记录):
    这个部分记录了分割表本身的位置与大小,同时记录了备份用的GPT分割放置的位置,以及校验码(CRC32)。操作系统可以根据校验码判断GPT是否正确,若有错误,则可以取得备份来恢复。
  • LBA2-33(实际记录分割记录信息处):
    从LBA2区块开始,每个LBA都可以记录4个分割记录,所以在默认情况下,可以记录4*32=128个记录。每一个记录除了记录所需要的标志码与相关记录意外,还分别提供了64bits来记录开始/结束的区块号码。因此对一单一的分区来说,最大容量限制在「264 × 512bytes = 263 × 1Kbytes = 233 × TB = 8 ZB 

因为LBA0里仅仅有完整开机管理程序的一部分,如果要安装类型grup的开机管理程序,必须单独在磁盘上开出一个分区叫BIOS boot,  才能放置剩余的bootloader(开机管理程序) 在centOS 中大概占用2M.

这个boot loader的主要任务有下面几项:

  • 提供菜单:用户可以选择不同的开机选项,这也是多重引导的重要功能呢。
  • 载入内核文件:直接执行可开机的程序区段来开始操作系统,(这个是我们通用的流程)
  • 转交其他loader:将引导加载功能转交给其他loader负责。
  • 上述boot loader的三条任务中,前两条很好理解,但第三条很有趣。那表示你的计算机系统里面可能具有两个以上的引导加载程序。值得特别指出的是引导加载程序(loader)除了可以安装在MBR之外,还可以安装在每个分区的引导扇区。分区还有个别的启动扇区?这个特色才能造就”多重引导“的功能。
  •   我们举一个例子来说明,假设你的个人计算机只有一块硬盘,里面分成四个分区,其中第一、二分区分别安装了Windows及Linux,你要如何在开机的时候选择用Windows还是Linux开机呢?假设MBR内安装的是可同时识别Windows/Linux操作系统的引导加载程序,那么整个流程如下图:

     

      在上图中,我们发现,MBR的引导加载程序提供两个菜单,菜单一(M1)可以直接加载Windows的内核文件来开机;菜单二(M2)则是将引导加载工作交给第二个分区的启动扇区。当用户在开机的时候选择菜单二时,那么整个引导加载工作就会交给第二分区的引导加载程序。当第二个引导加载程序启动后,该引导加载程序(上图中)仅有一个开机菜单,因此就能够使用Linux的内核文件来开机。这就是多重引导的工作情况。我们将上图作个总结。

  • 每个分区都拥有自己的启动扇区。
  • 图中的系统分区为第一及第二分区。
  • 实际可开机的内核文件是放置到各分区内的。
  • loader只会认识自己的系统分区内的可开机内核文件,以及其他loader而已。
  • loader可直接指向或者是间接将管理权转交给另一个管理程序。
  • 每个分区都有自己的启动扇区,loader可以安装在MBR或启动扇区上,loader只会识别自己分区内的可开机内核文件。

引用https://blog.csdn.net/whimewcm/article/details/83117903

引用 <<鸟哥linux私房菜-基础篇>>

引用https://www.cnblogs.com/lifeinsmile/p/4245261.html

 

  • 3
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值