mbr,gpt,开机启动流程.

简介:

启动流程

SystemV

  1. 加载 BIOS 的硬件资讯与进行自我测试,并依据配置取得第一个可启动的装置;

  2. 读取并运行第一个启动装置内 MBR 的 boot Loader (亦即是 grub, spfdisk 等程序);

  3. 依据 boot loader 的配置加载 Kernel ,Kernel 会开始侦测硬件与加载驱动程序;

  4. 在硬件驱动成功后,Kernel 会主动呼叫 init 程序,而 init 会取得 run-level 资讯;

  5. init 运行 /etc/rc.d/rc.sysinit 文件来准备软件运行的作业环境 (如网络、时区等);

  6. init 运行 run-level 的各个服务之启动 (script 方式);

  7. init 运行 /etc/rc.d/rc.local 文件;

  8. init 运行终端机模拟程序 mingetty 来启动 login 程序,最后就等待使用者登陆啦;


Systemd

  1.载入 BIOS 的硬体资讯与进行自我测试,并依据设定取得第一个可开机的装置;
  2.读取并执行第一个开机装置内 MBR 的 boot Loader (亦即是 grub2, spfdisk 等程式);
    依据 boot loader 的设定载入 Kernel ,Kernel 会开始侦测硬体与载入驱动程式;
    在硬体驱动成功后,Kernel 会主动呼叫 systemd 程式,并以 default.target 流程开机;
        systemd 执行 sysinit.target 初始化系统及 basic.target 准备作业系统;
        systemd 启动 multi-user.target 下的本机与伺服器服务;
        systemd 执行 multi-user.target 下的 /etc/rc.d/rc.local 档案;
        systemd 执行 multi-user.target 下的 getty.target 及登入服务;
        systemd 执行 graphical 需要的服务



MBR:

    全称为Master Boot Record,中文:主引导记录,在0柱面0磁头1扇区,大小为512字节,这个区域

被分为三部分:

1)前446个字节:这里存放引导加载程序(Boot Loader),如grub2等,

2)中间64个字节:这个区域被称为分区表(Partition table),记录4组分区信息,每16字节一组,每组分区

信息包含:分区状态(激活,未激活)、分区类型、起止柱面号、起磁头号、起扇区号、寻址方式(线性寻址方式和分区相对扇区地址)、分区总扇区数目(4个字节)等内容,这四组分区信息,称为主分区(Primary)或者扩展分区(Extended).

注意:每组分区中包含4个字节的总扇区数:2^32,这里的总扇区数目指的是这块硬盘的总扇区数目,而不是指这个主分区里的总扇区数目,转化为TB,2^32*512/1024/1024/1024/1024=2TB,即mbr不支持

硬盘容量大于2TB以上的硬盘.

3)最后2个字节:固定为55AA,占2字节如果这个标识被破坏,即便磁盘正常分区也会被认为这块磁盘是一块全新的没有被分区的盘


  • 主要分割与扩展分配最多可以有四个(硬盘的限制)

  • 扩展分配最多只能有一个(操作系统的限制)

  • 逻辑分割是由扩展分配持续切割出来的分割槽;

  • 能够被格式化后,作为数据存取的分割槽为主要分割与逻辑分割。扩展分配无法格式化;

  • 逻辑分割的数量依操作系统而不同,在Linux系统中,IDE硬盘最多有59个逻辑分割(5号到63号), SATA硬盘则有11个逻辑分割(5号到15号)。



wKiom1g5QuCj7y6IAAC2Recepp4458.png

Boot Loader的作用:

  • 提供菜单:使用者可以选择不同的启动项目,这也是多重启动的重要功能!

  • 加载核心文件:直接指向可启动的程序区段来开始操作系统;

  • 转交其他loader:将启动管理功能转交给其他loader负责。

什么是扩展分区?

   所谓扩展分区,严格地讲它不是一个实际意义的分区,它仅仅是一个指向下一个分区的指针,这种指针结构将形成一个单向链表。这样在主引导扇区中除了主分区外,仅需要存储一个被称为扩展分区的分区数据,通过这个扩展分区的数据可以找到下一个分区(实际上也就是下一个逻辑磁盘)的起始位置,以此起始位置类推可以找到所有的分区。无论系统中建立多少个逻辑磁盘,在主引导扇区中通过一个扩展分区的参数就可以逐个找到每一个逻辑磁盘


扩展分区结构:扩展引导记录(EBR)+ 逻辑分区

  注:扩展分区中的每个逻辑驱动器都存在一个类似于MBR的扩展引导记录( Extended Boot Record, EBR)


扩展引导记录(EBR):类似于MBR的扩展引导记录,扩展引导记录包括一个扩展分区表和该扇区的标签.

   扩展引导记录将记录只包含扩展分区中每个逻辑驱动器的第一个柱面的第一面的信息,但是,如果磁盘上没有扩展分区,那么就不会有扩展引导记录和逻辑驱动器。

EBR结构:

   逻辑分区前扇区,如扩展分区0号扇区(512bytes)

    前446bytes:未使用,全为0;

扩展分区表(64bytes):记录分区状态,每16bytes分为一个项,共四个项。

    第一项:指向它自身的引导扇区;

    第二项:指向下一个逻辑驱动器的EBR

        注:如果不存在进一步的逻辑驱动器,第二项不会使用,且被记录成一系列零。

    第三项:未使用

    第四项:未使用

结束标识(2bytes): 55AA ,有效性标识;55AA为有效


wKiom1g5TOuTJch1AABgvl0D2l8382.jpg


本文转自神ge 51CTO博客,原文链接:http://blog.51cto.com/12218412/1876823


相关文章
|
2月前
|
存储 Linux iOS开发
选择 MBR 还是 GPT?你需要了解的都在这里
磁盘分区表是一种存储在磁盘上的数据结构,用于存储关于磁盘分区的信息,包括分区的大小、位置和类型。MBR 和 GPT 是两种常见的磁盘分区表格式。GPT 格式较新,具有较多优势,包括: * 支持更大的磁盘容量。MBR 最大支持 2.2TB,而 GPT 支持高达 9.44ZB。 * 支持更多分区。MBR 最多支持 4 个主分区,而 GPT 支持 128 个主分区。 * 更高的安全性。GPT 使用 CRC 校验机制和备份分区表保护分区表数据的完整性,而 MBR 不使用。 MBR 是较旧的格式,但仍被广泛使用。它具有以下优势: * 与旧系统兼容。MBR 与所有版本的 Windows 和大多数版本
113 1
选择 MBR 还是 GPT?你需要了解的都在这里
|
17天前
|
存储 Linux Windows
GPT与MBR:硬盘分区表格式的革新与区别
GPT与MBR:硬盘分区表格式的革新与区别
15 0
|
2月前
|
存储 数据中心 Windows
GPT和MBR的区别
GPT和MBR的区别
GPT和MBR的区别
|
Unix Linux 开发者
MBR 和 GPT 分区| 学习笔记
快速学习 MBR 和 GPT 分区
458 0
MBR 和 GPT 分区| 学习笔记
|
Windows
在 Windows 安装期间将 MBR 磁盘转换为 GPT 磁盘
在 Windows 安装期间将 MBR 磁盘转换为 GPT 磁盘 版权声明:本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。欢迎转载、使用、重新发布,但务必保留文章署名吕毅(包含链接:http://blog.csdn.net/wpwalter/),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布。
1527 0
|
固态存储 Windows 内存技术
|
10天前
|
存储 SQL 数据库
Python 金融编程第二版(GPT 重译)(四)(4)
Python 金融编程第二版(GPT 重译)(四)
17 3

热门文章

最新文章