zoukankan      html  css  js  c++  java
  • 硬盘知识总结:

    一,首先对硬盘结构有个了解。什么叫作磁头,柱面,扇区?

         硬盘最基本的组成部分是由坚硬金属材料制成的涂以磁性介质的盘片,不同容量硬盘的盘片数不等。每个盘片有两面,都可记录信息。盘片表 面上以盘片中心为圆心,不同半径的同心圆称为磁道。磁盘上的每个磁道被等分为若干个弧段,这些弧段便是磁盘的扇区。硬盘的读写以扇区为基本单位,每扇区是512字节硬盘中,不同盘片相同半径的磁道所组成的圆柱称为柱面。磁道与柱面都是表示不同半径的圆,在许多场合, 磁道和柱面可以互换使用,我们知道,每个磁盘有两个面,每个面都有一个磁头,习惯用磁头号来区分。扇区,磁道(或柱面)和磁头数构成了硬盘结构的基本参 数,帮这些参数可以得到硬盘的容量,基计算公式为: 
    存储容量=磁头数×磁道(柱面)数×每道扇区数×每扇区字节数 
    要点:(1)硬盘有数个盘片,每盘片两个面,每个面一个磁头 
            (2)同一盘片不同半径的同心圆为磁道 
            (3)磁道被等分为若干个弧段,这些弧段便是磁盘的扇区
            (4)不同盘片相同半径构成的圆柱面即柱面 
            (5)公式: 存储容量=磁头数×磁道(柱面)数×每道扇区数×每扇区字节数 

    二,关于硬盘分区,涉及到一下概念:分区表,主引导扇区,分区引导扇区,主分区,扩展分区,逻辑分区,活动分区

        1,分区表:分区表一般位于硬盘某柱面的0磁头1扇区。而第1个分区表(也即主分区表)总是位于(0柱面,0磁头,1扇区),剩余的分区表位置可以由主分区表依次推导出来。(分区表实际上是一个单向链表结构)

                       每个分区表的长度为64字节,每16字节记录描述一个分区的信息。所以一个分区表最多能描述四个分区的信息。

                       注意每一个分区内都有一个分区表(这些分区表是单向链表结构),主分区表上的4项用来表示主分区和扩展分区的信息。因为扩展分区最多只能有一个,所以硬盘最多可以有四个主分区或者三个主分区,一个扩展分区。余下的分区表是表示逻辑分区的。这里有必要阐述一点:逻辑区都是位于扩展分区里面的,并且逻辑分区的个数没有限制。

                       分区表链实际上相当于一个单向链表结构。第一个分区表,也即主分区表,可以有一项 描述扩展分区而这一项就相当于指针,指向扩展分区。然后我们根据该指针来到扩展分 区起始柱面的0头1扇区,找到第二个分区表。对于该分区表,通常情况下:第一项描述了扩展分区中第一个分区的信息,第二项描述下一个分区,而这第二项就相当于指向第二个分 区的指针第三项,第四项一般均为0。我们可以根据该指针来到扩展分区中第二个分区起 始柱面的0头1扇区,找到第三个分区表。以此类推,直到最后一个分区表。而最后一个分 区表只有第一项有信息,余下三项均为0.相当于其指针为空.所以只要找到了一个分区表就可 以推导找出其后面所有分区表。不过该分区表前面的分区表就不好推导出来了。但令人高兴 的是这个链表的头节点,也即主分区表的位置是固定的位于(0柱面,0磁头,1扇区)处, 我们可以很轻易的找到它,然后把剩下的所有分区表一一找到。

        2,主引导扇区(也叫MBR扇区):注意主引导扇区是在硬盘分区时产生的,它属于整个硬盘。而不属于某个独立的操作系统分区。是启动硬盘后,首先进入的地方

                主引导扇区(扇区:512字节)位于整个硬盘的0磁头0柱面1扇区,包括硬盘主引导记录MBR(Master Boot Record)和分区表DPT(Disk Partition Table)。其中主引导记录的作用就是检查分区表是否正确以及确定哪个分区为引导分区(即活动分区)并在程序结束时把该分区的启动程序,也就是操作系统引导扇区调入内存加以执行。

               在总共512字节的MBR扇区中,由四部分组成:1)引导程序在0号扇区的开始位置,共占用440字节。2)Windows磁盘签名占用引导程序后的4个字节,是windows系统对硬盘初始化时写入的一个硬盘标签。3)分区表占用64字节,是MBR中非常重要的一个结构。4)扇区最后两个字节“55AA”是MBR的结束标志。

               MBR功能:1.扫描分区表查找活动分区2.寻找活动分区的起始扇区;3.将活动分区的引导扇区读到内存; 4.执行引导扇区的运行代码。如果主引导代码未完成这些功能,系统显示下列错误信息

    3,分区引导扇区:(即分区表中各个分区中的引导扇区

                  分区引导扇区也称DBR,是由FORMAT高级格式化命令写到该扇区的内容,DBR是由硬盘的MBR装载的程序段。DBR装入内存后,即开始执行该引导程序段,其主要功能是完成操作系统的自举并将控制权交给操作系统。每个分区都有引导扇区,但只有被设为活动分区才会被MBR装的DBR入内存运行。

      4,主分区与活动分区

         主分区就是用来装系统的(so 若电脑上想安装多个系统就可以有多个主分区),活动分区时启动系统的位置(so 想启动哪个系统就把该系统所在分区设为活动分区)

     5,主分区,扩展分区,逻辑分区

         

    给新硬盘上建立分区时都要遵循以下的顺序:建立主分区→建立扩展分区→建立逻辑分区→激活主分区→格式化所有分区。

    分区从实质上说就是对硬盘的一种格式化。当我们创建分区时,就已经设置好了硬盘的各项物理参数,指定了BIOS系统下硬盘主引导记录(即Master Boot Record,一般简称为MBR)和引导记录备份的存放位置。
    而对于文件系统以及其他操作系统管理硬盘所需要的信息则是通过之后的高级格式化,即Format命令来实现。

    硬盘的分区由主分区、扩展分区和逻辑分区组成:主分区(注意扩展分区也是一个主分区)的最大个数是四个,其个数是由硬盘的主引导记录MBR(Master Boot Recorder)决定的,MBR存放启动管理程序(如GRUB)和分区表记录。扩展分区下又可以包含多个逻辑分区 --- 所以主分区范围是从1-4,逻辑分区是从5开始的。

    window和linux支持的分区结构:
    windows和linux支持图四图五图六图七的分区机构,即:
    一个主分区+一个扩展区
    二个主分区+一个扩展区
    三个主分区+一个扩展区
    四个独立主分区

    主分区:也叫引导分区,最多可能创建4个,当创建四个主分区时候,就无法再创建扩展分区了,当然也就没有逻辑分区了。主分区是独立的,对应磁盘上的第一个分区,“一般”就是C盘。在Windows系统把所有的主分区和逻辑分区都叫做“盘”或者“驱动器”,并且把所有的可存储介质都显示为操作系统的“盘”。因此,从“盘”的概念上无法区分主分区和逻辑分区。并且盘符可以在操作系统中修改,这就是要加上“一般”二字的原因。

    扩展分区:除了主分区外,剩余的磁盘空间就是扩展分区了,扩展分区是一个概念,实际上是看不到的。当整个硬盘分为一个主分区的时候,就没有了扩展分区。

    逻辑分区:在扩展分区上面,可以创建多个逻辑分区。逻辑分区相当于一块存储截止,和操作系统还有别的逻辑分区、主分区没有什么关系,是“独立的”。

    活动分区:就是当前活动的、操作系统可以启动的分区。

    格式化是针对主分区和逻辑分区的。要格式化是因为这和操作系统管理文件系统有关系。没有格式化的分区就像一张白纸,要写入数据,必须对白纸打上“格子”,每个格子里面写一块。而操作系统只认这些格子。

        总结:当通过Fdisk或其他分区工具对硬盘进行分区时,分区软件会在硬盘0柱面0磁头1扇区建立一个 64字节的分区表,包括硬盘主引导记录MBR(Main Boot Record)和分区表DPT(Disk Partition Table)。其中主引导记录MBR的作用就是检查分区表是否正确以及确定哪个分区为引导分区,并在程序结束时把该分区的启动程序调入内存加以执行;而分 区表DPT则以80H或00H为开始标志,以55AAH为结束标志,位于主引导扇区的最末端。整个分区表决定了硬盘中的分区数量,每个分区的起始及终止扇 区、大小以及是否为活动分区等。

     

  • 相关阅读:
    Shader-另类实现
    Unity3d- 资源
    我不快乐
    陷入了一个NGUI自适应的一个坑
    ngui 自适应
    NGUI的数据绑定
    我已经很努力,但是依旧写给自己
    那些奇葩的叫法
    C#修改类模板
    开启Unity3D之旅
  • 原文地址:https://www.cnblogs.com/happyliuyi/p/5198380.html
Copyright © 2011-2022 走看看