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个字节)、分区总扇区数目(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号)。

BYTE State:分区状态,00=未激活,80=激活(注意此项);

BYTE StartHead:分区起始磁头号;

WORD StartSC:分区起始扇区和柱面号。

BYTE Type:分区类型,如0x0B=FAT32,0x83=Linux等,00表示此项未用;

BYTE EndHead:分区结束磁头号;

WORD EndSC:分区结束扇区和柱面号,定义同前;

DWORD Relative:在线性寻址方式下的分区相对扇区地址(对于基本分区即为绝对地址);

DWORD Sectors:分区大小(总扇区数

什么是扩展分区?

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

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

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

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

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

EBR结构:

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

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

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

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

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

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

第三项:未使用

第四项:未使用

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

时间: 2024-10-13 02:25:36

mbr,gpt,开机启动流程.的相关文章

CentOS 6开机启动流程实验篇

CentOS 6开机启动流程实验篇 centos 系统的启动流程 grub 破坏Linux的核心文件再修复体验系统启动流程 CentOS 6开机启动的具体详情请参见理论篇! 了解了系统启动的基本流程,以下我们通过"破坏式实验",即破坏系统启动过程中的一些关键环节,使系统无法启动,然后我们再通过修复这些文件使得系统正常重启,进而体验Linux系统的启动流程,这些关键环节包括破坏grub三个stage(stage1.stage1-5.stage2) 中的任何一个阶段,甚至是整个grub;

CentOS开机启动流程简介

我们都知道按下电脑电源键后,屏幕上会一闪而过很多信息,然后显示登录界面,然后输入用户名,密码就可以畅享网络世界了.那么这中间到底发生了什么呢,今天就让我们来简单探讨一下CentOS的简易版开机启动流程吧. 第一阶段:通电自检过程 我们都知道电脑所有数据指令都是在内存上才能被cpu处理的吧,我们还知道内存在断电后其上面的所有数据都会丢失吧,那么开机的时候内存应该是没有东西的吧,那上面都不能干了,更别说启动一个操作系统了,其实啊,我们内存并不只是我们常见的那个内存卡,很多硬件都会映射一段内存到cpu

linux系统下开机启动流程

在了解开机启动流程之前,还是得先了解一些磁盘的基本知识.磁盘主要由盘片,机械手臂,磁头,主轴马达构成.盘片就是存储数据的物理单位了.然后盘片上我们可以分成扇区(sector)和柱面(cylinder),每个扇区sector为512Bytes.如下图所示: 磁盘在分区完成之后,每个分区(文件系统)都有一个启动扇区(boot sector),而开机时用到的则是整个磁盘的第一个扇区,这个扇区非常主要,构成如下: (1)主引导分区(MBR)master boot record:446Bytes:系统安装

CentOS 6开机启动流程理论篇

CentOS 6开机启动流程理论篇 centos 系统的启动流程 grub 破坏Linux的核心文件再修复体验系统启动流程 概述 任何系统启动的第一步必然是加电,然后计算机硬件会主动地读取BIOS来加载硬件设备信息并检测,之后系统会主动地读取第一个有引导程序的设备,该引导程序(grub)可以指定使用哪个内核来启动,并将其加载至内存当中运行,同时内核还要加载其他硬件设备以及对应的驱动程序,来例主机各个组件开始运行,等所有硬件设备加载完后,系统就真正地启动了,稍后系统会操作一些外部程序开始准备软件的

计算机开机启动流程详解

一.BIOS 1.BIOS是什么 BIOS:基本输入输出系统(Basic Input Output System),它是一组固化到计算机内主板上一个ROM(Read-Only Memory)只读存储器,不需要供电就可保持数据不丢失芯片上的程序,BIOS保存着计算机最重要的基本输入输出的程序.系统设置信息.开机上电自检程序和系统启动自检程序. 2.BIOS的功能及作用 a.POST上电自检及初始化:执行不同初始化和计算机硬件检测的函数或例程,开机后BIOS最先被启动,然后它会对电脑的硬件设备(CP

Linux系统入门---开机启动流程

目录 Linux系统入门---开机启动流程 一.centos6 二.systemd管理进程 1.查看级别 三.centos7实践案例: 1.案例1:centos7系统,单用户修改root密码 案例2: 如果修改级别 案例3:救援模式 四.修改CentOS7网卡名称为eth0和eth1 1.环境准备 2.用命令配置网卡 方法1: 方法2: 3.系统基本环境优化 五.Systemd 进程管理 1.systemctl管理服务的启动.重启.停止.重载.查看状态等常用命令 2.systemctl设置服务开

LINUX系统开机启动流程全解

1,linux系统6.0系列和7.0系列系统开机启动流程:简述:1,开机BIOS自检2,MBR引导(磁盘上的一个引导扇区512K)3,grub引导菜单(可进入单用户模式或者救援模式)4,加载Kernel内核5,启动init进程(6系列的第一个进程7系列的第一个进程是systemd6,读取initab启动文件执行rc.sysinit等开机启动脚本文件7,启动mingetty,启动系统登录界面 原文地址:https://blog.51cto.com/13858002/2429553

(转)CentOS 7系统详细开机启动流程和关机流程

CentOS 7系统详细开机启动流程和关机流程 原文:http://blog.csdn.net/yuesichiu/article/details/51350654 名称 bootup - 系统启动流程 描述 在系统启动过程中要涉及多个不同的组件.按下开机按钮后,首先BIOS/UEFI做最基本的硬件自检与初始化, 然后加载预设/手动选择的磁盘/网络上的引导加载器(例如GRUB2),引导加载器进一步从磁盘/网络上加载操作系统内核(例如Linux). 对于Linux来说,内核将会(可选的)解压一个i

开机启动流程分析

本节索引 在对系统启动流程进行分析的时候,我想你一定是对系统有了一定的了解.系统的启动目前来讲大都为串行接力的方式来启动.而所谓的并行方式的启动方式也是某一个阶段的并行.所以我按照系统启动的顺序来把文章连缀起来.     *  BIOS阶段     *  BootLoader阶段     *  内核阶段     *  用户层阶段 BIOS阶段 加载BIOS 当按下开机键后,系统会自动自动加载BIOS,加载的详细过程不再详述,感兴趣的读者可学习微机原理和或对汇编代码分析 BIOS从CMOS芯片中读