zoukankan      html  css  js  c++  java
  • 与磁盘第一块扇区有关的:分区与开机流程

    • 引入:

    在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内填什么,在安装操作系统时设置)。菜单一必不可少,如果只有菜单一,就直接加载内核。
    • 多个内核文件必须放在不同的分区中。
  • 相关阅读:
    java 使用递归获取指定文件路径目录,删除指定的文件后缀(可扩展,根据具体需要的删除的后缀进行配置)~~
    图解Git命令
    Shell脚本编程30分钟入门
    算法系列【希尔排序】篇
    JavaScript、Python、java、Go算法系列之【快速排序】篇
    JavaScript算法 ,Python算法,Go算法,java算法,系列之【归并排序】篇
    JavaScript ,Python,java,C#,Go系列算法之【插入排序篇】
    JavaScript ,Python,java,Go系列算法之【选择排序】篇
    网络编程的演进——从Apache到Nginx
    将博客搬至CSDN
  • 原文地址:https://www.cnblogs.com/hesse-summer/p/7859965.html
Copyright © 2011-2022 走看看