传统计算机启动流程

  • 宏观流程
  • 细分流程
  • BIOS启动流程总结
  • 扩展MBR
  • 区别BIOS和CMOS
  • UEFI启动
  • 扩展
  • 磁盘分区简述
  • 分区格式


宏观流程

四步跳转读取指令执行

1>系统加电BIOS初始化硬件(BIOS)->

2>BIOS读取主引导扇区代码(主引导记录MBR)->

3>主引导扇区代码读取活动分区的引导扇区代码(活动分区)->

4>引导扇区代码读取文件系统的加载程序(加载程序)

扩展:在传统的磁盘管理中,将一个硬盘分为两大类分区:主分区和扩展分区。主分区是能够安装操作系统,能够进行计算机启动的分区,这样的分区可以直接格式化,然后安装系统,直接存放文件。

细分流程

  • 开机(初始进入实模式启动)
    CPU加电稳定后从0xFFFF0(CS:IP=0XF000:FFF0)读取第一条指令
    注:这条指令是跳转指令,会跳转到物理地址 0xfe05b处,完成BIOS初始化。
  • BIOS初始化,,硬件会自检(检测外设有没有问题等等)。
  • 主引导记录MBR(Main Boot Record)格式(正好一个扇区大小共512字节=446+64+2)
    启动代码:446字节;
    硬盘分区表DPT(Disk Partition Table):64字节;
    MBR结束标志字:2字节(0x55,0xAA)。
  • 主分区(活动分区)
    MBR交换控制权 跳转指令:跳转到启动代码;
    文件卷头结构:文件系统描述信息;
    启动代码:跳转到加载程序;
    结束标志:0x55,0xAA。
  • 加载程序
    从文件系统种读取启动配置信息;
    可选的操作系统内核列表和加载参数(启动菜单);
    依据配置加载指定内核并跳转到内核执行(操作系统内核)。
    结束,剩下的任务交给操作系统完成。

作者:闪客sun

BIOS启动流程总结

BIOS其本质是一个固化在主板Flash/CMOS上的软件)和位于软盘/硬盘引导扇区中的OS Boot Loader一起组成。BIOS实际上是被固化在计算机ROM(只读存储器)芯片上的一个特殊的软件,为上层软件提供最底层的、最直接的硬件控制与支持。更形象地说,BIOS就是PC计算机硬件与上层软件程序之间的一个"桥梁",负责访问和控制硬件。

  • Intel 80386的体系结构下系统初始化BIOS启动(区别32和64位)

32位:充电0xFFFFFFF0 [存放了一条跳转地址]->[JMP F000:E05B] BIOS程序起始处->BIOS起始完成预备需要的内容装载到0x7c00处。

64位:区别于32位在于多了base基址的变化,目的是保持向下兼容性。

扩展MBR

  • 主引导记录(MBR),也被称为主引导扇区,是计算机开机以后访问硬盘时所必须要读取的第一个扇区。在深入讨论主引导扇区内部结构的时候,有时也将其开头的446字节内容特指为“主引导记录”(MBR),其后是4个16字节的“磁盘分区表”(DPT),以及2字节的结束标志(55AA)。因此,在使用“主引导记录”(MBR)这个术语的时候,需要根据具体情况判断其到底是指整个主引导扇区,还是主引导扇区的前446字节。
  • 主引导扇区记录着硬盘本身的相关信息以及硬盘各个分区的大小及位置信息。如果它受到破坏,硬盘上的基本数据结构信息将会丢失,需要用繁琐的方式试探性地重建数据结构信息后,才可能重新访问原先的数据。主引导扇区内的信息可以通过任何一种基于某种操作系统的分区软件写入,但和某种操作系统没有特定的关系,即只要创建了有效的主引导记录就可以引导任意一种操作系统。

参考:(附)里面有磁盘数据软恢复方法参考百度百科

磁盘结构:

进入bios 拷贝硬盘数据 bios怎么读取硬盘数据_磁盘分区

MBR布局

进入bios 拷贝硬盘数据 bios怎么读取硬盘数据_操作系统_02

分区表项目录结构 | 16字节对应说明

进入bios 拷贝硬盘数据 bios怎么读取硬盘数据_加载_03

进入bios 拷贝硬盘数据 bios怎么读取硬盘数据_初始化_04

区别BIOS和CMOS

  • bios(保存程序信息)

①自检及初始化

②程序服务处理

③硬件中断处理

  • cmos(保存参数信息)

用于计算机信息保存,CMOS作为可擦写芯片使用,在这个领域,用户通常不会关心CMOS的硬件问题,而只关心写在CMOS上的信息,也就是BIOS的设置问题,其中提到最多的就是系统故障时拿掉主板上的电池,进行CMOS放电操作,从而还原BIOS设置。

更详细CMOS/BIOS区别参考:https://blog.51cto.com/haoxiaoyang/923176CMOS百度百科

UEFI启动

BIOS已经逐渐成为历史,UEFI已经开始全面取代BIOS。

扩展

磁盘分区简述

硬盘知识 计算机中存放信息的主要的存储设备就是硬盘,但是硬盘不能直接使用,必须对硬盘进行分割,分割成的一块一块的硬盘区域就是磁盘分区。在传统的磁盘管理中,将一个硬盘分为两大类分区:主分区和扩展分区。主分区是能够安装操作系统,能够进行计算机启动的分区,这样的分区可以直接格式化,然后安装系统,直接存放文件。

  • 当我们拿到一块崭新的硬盘时,需要在上面创建分区。分区类型有主分区(Primary Partition)和扩展分区(Extension Partition)。(非DOS分区特殊)
  • 对于一块硬盘来说,主分区和扩展分区的总数最多只能有4个。
  • 扩展分区并不能直接使用,还要在其下面划分逻辑分区(Logical Partition)。
  • 逻辑分区的数量并没有限制,但操作系统要安装在主分区上。

总结: 一块磁盘->非DOS分区/主分区/扩展分区->扩展分区中划分逻辑分区。

非DOS分区: 只有非DOS分区的操作系统才能管理和使用这块存储区域。

分区格式

  • Windows:
    FAT(FAT16)
    FAT32
    NTFS(目前普遍默认格式)
  • Linux:
    ext2
    ext3