与磁盘第一块扇区有关的:分区与开机流程

  • 引入:

在linux系统中,每个设备都被当成一个文件来对待。

几乎所有硬件设备都在/dev这个目录下。

需要掌握的是磁盘的设备文件名:IDE接口的为/dev/hd[a-d],SATA的为/dev/sd[a-p]。

那么分区后的设备文件名呢?

 

  • 磁盘的第一个扇区

  • 磁盘数据的写入在盘片上,盘片的单位是扇区(512bytes),整块磁盘的第一个扇区最重要,它记录了两个重要的信息:

1.主引导分区(MBR):稍后谈,446B

2.分区表:记录硬盘分区状态,64B。

  • 将硬盘的柱面标号,每个分区分配一段连续的柱面。
  • 64B的分区表划为4个部分(仅有4个哟),每个部分16B,记录四段【起始柱面号码与结束柱面号码】。四个部分中最多有3个主分区,一个拓展分区。
  • 所谓的“分区”操作实际上只是针对分区表进行设置。主分区表记录的是主分区的柱面信息,拓展分区表记录的是逻辑分区的柱面信息。拓展分区表所占空间大小是64B减去主分区表大小。

e.g.假设现在给一块IDE磁盘/dev/hda分区,决定分为2个主分区(primary),4个逻辑分区(logical)。

第一个扇区的64B分区表可以分为:16B主分区 1、16B主分区2、32B拓展分区。

主分区1记录的主分区1对应文件名/dev/hda1,主分区2记录的主分区2对应文件名/dev/hda2,拓展分区记录的逻辑分区1对应文件名/dev/hda5,拓展分区记录的逻辑分区2对应文件名/dev/hda6,拓展分区记录的逻辑分区3对应文件名/dev/hda7,拓展分区记录的逻辑分区4对应文件名/dev/hda8.

  • 逻辑分区个数有上限,IDE59;SATA11。
  • 分区完成后,只能够再整合逻辑分区内的两个或多个分区,不能将主分区与逻辑分区整合。
  • 每个分区都有自己的启动分区。

 

  • 开机流程(较第一篇随笔中提及的详细点的):

  • BIOS读完CMOS里的参数后,开始找硬盘(或是其他存储设备),找到后,读取第一个扇区的446B的MBR。BIOS结束工作。
  • MBR内存储着基本引导加载程序Boot loade(CentOS的引导加载程序是grub软件)r。引导加载程序开始工作。引导加载程序在安装操作系统时获得。
  • MBR的引导加载程序可以提供多个菜单,例如:菜单一:直接加载XX内核文件,菜单二:将引导加载工作交给XX分区的启动扇区,菜单三:将引导加载工作交给XX分区的启动扇区。(XX内填什么,在安装操作系统时设置)。菜单一必不可少,如果只有菜单一,就直接加载内核。
  • 多个内核文件必须放在不同的分区中。
原文地址:https://www.cnblogs.com/hesse-summer/p/7859965.html