硬盘数据结构详解
硬盘分区表知识——详解硬盘MBR .

硬盘是现在计算机上最常用的存储器之一。
我们都知道,计算机之所以神奇,是因为它具有高速分析处理数据的能力。
而这些数据都以文件的形式存储在硬盘里。
不过,计算机可不像人那么聪明。
在读取相应的文件时,你必须要给出相应的规则。
这就是分区概念。
分区从实质上说就是对硬盘的一种格式化。
当我们创建分区时,就已经设置好了硬盘的各项物理参数,指定了硬盘主引导记录(即Master Boot Record,一般简称为MBR)和引导记录备份的存放位置。
而对于文件系统以及其他操作系统管理硬盘所需要的信息则是通过以后的高级格式化,即Format命令来实现。
面、磁道和扇区硬盘分区后,将会被划分为面(Side)、磁道(Track)和扇区(Sector)。
需要注意的是,这些只是个虚拟的概念,并不是真正在硬盘上划轨道。
先从面说起,硬盘一般是由一片或几片圆形薄膜叠加而成。
我们所说,每个圆形薄膜都有两个“面”,这两个面都是用来存储数据的。
按照面的多少,依次称为0面、1面、2面……由于每个面都专有一个读写磁头,也常用0头(head)、1头……称之。
按照硬盘容量和规格的不同,硬盘面数(或头数)也不一定相同,少的只有2面,多的可达数十面。
各面上磁道号相同的磁道合起来,称为一个柱面(Cylinder)。
上面我们提到了磁道的概念。
那么究竟何为磁道呢?由于磁盘是旋转的,则连续写入的数据是排列在一个圆周上的。
我们称这样的圆周为一个磁道。
如果读写磁头沿着圆形薄膜的半径方向移动一段距离,以后写入的数据又排列在另外一个磁道上。
根据硬盘规格的不同,磁道数可以从几百到数千不等;一个磁道上可以容纳数KB的数据,而主机读写时往往并不需要一次读写那么多,于是,磁道又被划分成若干段,每段称为一个扇区。
一个扇区一般存放512字节的数据。
扇区也需要编号,同一磁道中的扇区,分别称为1扇区,2扇区……计算机对硬盘的读写,处于效率的考虑,是以扇区为基本单位的。
即使计算机只需要硬盘上存储的某个字节,也必须一次把这个字节所在的扇区中的512字节全部读入内存,再使用所需的那个字节。
固态硬盘数据存储原理

固态硬盘数据存储原理固态硬盘(Solid State Drive,SSD)是近年来广泛应用于计算机存储系统的一种新型存储设备。
相比于传统的机械硬盘,固态硬盘具有较高的读写速度、低的能耗、稳定性和抗震性能等优点。
其主要原理是通过将数据存储在闪存芯片上,而不是磁盘上。
固态硬盘的数据存储原理主要包括以下几个方面:1.闪存存储:固态硬盘使用闪存芯片来存储数据。
闪存是一种非易失性存储器,它利用了电荷的积聚和漂移来实现数据的保存。
根据不同的结构,闪存分为SLC(Single-Level Cell)、MLC(Multi-Level Cell)和TLC(Triple-Level Cell)等几种类型。
其中,SLC闪存的每个单元只能存储一个比特的数据,而MLC和TLC闪存每个单元可以存储多个比特的数据,因此相对更高容量的存储。
2.页面映射:固态硬盘对闪存进行操作时,通常是以“页”为基本单位进行读写操作。
每个页面通常包含数KB或数十KB的数据,而读写操作只能以页面为单位进行。
为了将逻辑地址转化为物理地址,固态硬盘使用了称为“页映射表”(Page Mapping Table)的数据结构。
这个表记录了逻辑地址和物理地址之间的映射关系。
3.数据读取:当计算机需要读取固态硬盘上的数据时,固态硬盘通过控制器读取逻辑地址对应的物理地址数据。
首先,固态硬盘从页映射表中查找逻辑地址所对应的物理地址,并将数据通过控制器返回给计算机。
由于固态硬盘的存取速度远远快于传统机械硬盘,所以数据读取速度非常快。
4.数据写入:当计算机需要向固态硬盘写入数据时,固态硬盘先从页面池中选择一个空闲的页面,并在页映射表中记录逻辑地址与该页面的映射关系。
然后,固态硬盘将计算机要写入的数据写入到该页面,并通过控制器将对应的物理地址信息写入页映射表。
这样,数据的写入操作就完成了。
5.垃圾回收:固态硬盘的闪存芯片是不支持原地更新(in-place update)的,也就是说,当一个页面需要被修改时,固态硬盘必须先将该页面读取到内存中,并在内存中进行修改后,再将修改后的数据写回到新的页面中。
顺序存储结构、链式存储结构、索引存储结构、散列存储结构

顺序存储结构、链式存储结构、索引存储结构、散列存储结构介绍存储结构是指数据在计算机内存或磁盘等存储介质中的组织方式。
在数据结构中,常见的存储结构有顺序存储结构、链式存储结构、索引存储结构和散列存储结构。
下面将分别对这四种存储结构进行详细介绍。
一、顺序存储结构(Sequential Storage Structure):顺序存储结构是将数据元素按照其逻辑次序依次存储在一片连续的存储空间中,即在内存或磁盘上连续存放数据元素。
数据元素之间的逻辑关系通过其在存储空间中的物理位置来表示。
特点:顺序存储结构的存取速度较快,可以通过下标直接访问元素。
插入和删除操作需要移动大量元素,效率较低。
适用于元素数量固定、随机访问频繁的场景,如数组。
二、链式存储结构(Linked Storage Structure):链式存储结构通过使用指针将数据元素存储在不连续的存储空间中,并通过指针将它们连接起来。
每个数据元素中都包含一个指向下一个元素的指针,从而构成了一个链表结构。
特点:链式存储结构的插入和删除操作效率较高,只需要修改指针的指向。
访问某个元素需要从头节点开始遍历,效率较低。
适用于元素数量不固定、插入和删除频繁的场景,如链表。
三、索引存储结构(Indexed Storage Structure):索引存储结构是在顺序存储结构的基础上,为数据元素建立一个索引表,该索引表中的每个索引项包含了一个关键字和对应数据元素在存储空间中的地址。
特点:索引存储结构可以通过索引表快速定位数据元素,减少了遍历的时间。
插入和删除操作需要同时修改索引表和存储空间,效率相对较低。
适用于大型数据库等场景,可以提高查询效率。
四、散列存储结构(Hash Storage Structure):散列存储结构是通过将数据元素的关键字映射到一个散列地址来进行存储和访问的。
具体的映射函数称为散列函数,它将关键字转换为一个固定长度的散列地址。
特点:散列存储结构可以快速定位数据元素,查找效率高。
低级格式化..

数据恢复技术
二、对硬盘进行低级格式化 1、低级格式化的主要功能 硬盘低级格式化(low level format)简称低格,也称硬盘物理格式化 ( physical format)。 它的作用是检测硬盘磁介质,划分磁道,为每个磁道划分扇区,并根据用户 选定的交叉因子(Interleave)安排扇区在磁道中的排列顺序等。 概括地说,硬盘低级格式化主要完成以下几项功能: ① 测试硬盘介质; ② 为硬盘划分磁道; ③ 为硬盘的每个磁道按指定的交叉因子间隔安排扇区; ④ 将扇区 ID 放置到每个磁道上,完成对扇区的设置; ⑤ 对磁盘表面进行测试,对已损坏的磁道和扇区做“坏”标记; ⑥ 给硬盘中的每个扇区写入某一 ASCII码字符。
一块硬盘,就是所有容量都划分给一个分区,也要显式地进行这个操作来 指定。所以,对硬盘做完低级格式化后,必须进行分区操作,通过分区来完成 主引导记录的写入。 也正是这个原因,很多独立发行的低级格式化软件,也同时是一个分区软件, 可以完成硬盘分区功能,如DM软件等。
数据恢复技术
三、对硬盘进行分区
硬盘分区: 针对微软的操作系统(主要是DOS/WINDOWS)在进行硬盘分区 时,首要考虑的问题是分几个区,各分区的容量及扩展分区中的逻辑盘 的大小如何确定,以及各分区或逻辑盘采用什么格式等问题。 1)分区格式的选择 针对微软的操作系统(DOS或WINDOWS),常见的分区格式主 要包括:FAT 16、FAT 32、NTFS以及exFAT(Extended File Allocation Table, 扩展的FAT,又被称为FAT64)等等。 FAT 16采用16位的空间分配表,最大可以支持2GB的磁盘分区,而且 此时簇大小为32KB。该分区格式主要用于DOS操作系统,绝大多数的 操作系统能使用(兼容)这种分区。目前,容量小于2GB的Flash盘 (包括SD卡等)都在使用,但是,对于大容量的硬盘基本不再使用了。
第2章 预备知识-硬盘结构

偏移字节 0x01BE 0x01BF 0x01C0 0x01C1 0x01C2
字段长度 BYTE BYTE WORD 6位 10位 BYTE
值 0x80 0x01 0x01 0x00 0x07
字段名和定义 引导指示符号(Boot Indicator) 起始磁头号(Start Head) 起始扇区号(Start Sector) 起始柱面号(Start Cylinder) 系统ID(System ID),定义了分区的类型
值 0x80 0x01 0x01 0x00 0x07 0xFE 0xBF 0xFC 0x0000003F 0x00BB867E
字段名和定义 引导指示符号(Boot Indicator) 起始磁头号(Start Head) 起始扇区号(Start Sector) 起始柱面号(Start Cylinder) 系统ID(System ID),定义了分区的类型 结束磁头号(End Head) 结束扇区号(End Sector) 结束柱面号(End Cylinder) 相对扇区数(Relative Sectors) 总扇区数(Total Sectors),该分区中扇区总数
偏移字节 0x01BE 0x01BF 0x01C0 0x01C1 0x01C2
字段长度 BYTE BYTE WORD 6位 10位 BYTE
值 0x80 0x01 0x01 0x00 0x07
字段名和定义 引导指示符号(Boot Indicator) 起始磁头号(Start Head) 起始扇区号(Start Sector) 起始柱面号(Start Cylinder) 系统ID(System ID),定义了分区的类型
0x01C3 0x01C4 0x01C5
0x01C6 0x01CA
硬盘分区表知识——详解硬盘MBR

硬盘是此刻运算机上最经常使用的存储器之一。
咱们都明白,运算机之因此神奇,是因为它具有高速分析处置数据的能力。
而这些数据都以文件的形式存储在硬盘里。
只是,运算机可不像人那么伶俐。
在读取相应的文件时,你必需要给出相应的规那么。
这确实是分区概念。
分区从实质上说确实是对硬盘的一种格式化。
当咱们创建分区时,就已经设置好了硬盘的各项物理参数,指定了硬盘主引导记录(即Master Boot Record,一样简称为MBR)和引导记录备份的寄存位置。
而关于文件系统和其他操作系统治理硬盘所需要的信息那么是通过以后的高级格式化,即Format命令来实现。
面、磁道和扇区硬盘分区后,将会被划分为面(Side)、磁道(Track)和扇区(Sector)。
需要注意的是,这些只是个虚拟的概念,并非是真正在硬盘上划轨道。
先从面提及,硬盘一样是由一片或几片圆形薄膜叠加而成。
咱们所说,每一个圆形薄膜都有两个“面”,这两个面都是用来存储数据的。
依照面的多少,依次称为0 面、1面、2面……由于每一个面都专有一个读写磁头,也经常使用0头(head)、1头……称之。
依照硬盘容量和规格的不同,硬盘面数(或头数)也不必然相同,少的只有2面,多的可达数十面。
各面上磁道号相同的磁道合起来,称为一个柱面(Cylinder)。
上面咱们提到了磁道的概念。
那么究竟何为磁道呢?由于磁盘是旋转的,那么持续写入的数据是排列在一个圆周上的。
咱们称如此的圆周为一个磁道。
若是读写磁头沿着圆形薄膜的半径方向移动一段距离,以后写入的数据又排列在另外一个磁道上。
依照硬盘规格的不同,磁道数能够从几百到数千不等;一个磁道上能够容纳数KB 的数据,而主机读写时往往并非需要一次读写那么多,于是,磁道又被划分成假设干段,每段称为一个扇区。
一个扇区一样寄存512字节的数据。
扇区也需要编号,同一磁道中的扇区,别离称为1扇区,2扇区……运算机对硬盘的读写,处于效率的考虑,是以扇区为大体单位的。
硬盘分析总结报告

硬盘分析总结报告实验步骤:一、将500G硬盘全部分区删除,建立新分区,分别为第一主分区(50G),第二主分区(50G),第三主分区(100G),第四扩展分区(280G),扩展分区内建立了三个逻辑分区,分别为第一逻辑分区(80G),第二逻辑分区(80G)第三逻辑分区(100G)。
并记录了各个分区的起始扇区位置和扇区数量。
二、进入底层数据编辑软件,对应记录的扇区数据,找到对应扇区,对扇区的数据进行了记录和分析。
三、总结第二步骤的数据和分析结果,得出硬盘的数据结构。
第一步骤——记录:各分区起始扇区和扇区数量记录表关于各扇区的初步计算注:底部有48扇区并未被使用。
第二步骤——记录和分析:第1扇区:第一扇区为整个硬盘的MBR,记录主分区和扩展分区的起始扇区和扇区数量。
07为主分区标识,0F为扩展分区标识。
第一扇区开头并非为EB 52 90,这次用到的硬盘开头为33 C0 8E功能数据0x1B0E-0x1C01 80 20 \21 00 80激活扇区标识,20起始磁头,21起始扇区,00起始柱面0x1C0E-0x1D01 00 FE \ FF FF FE FF FF为不识别数据0x1D0E-0x1E01 00 FE \ FF FF FE FF FF为不识别数据0x1E0E-0x1F01 00 FE \FF FF FE FF FF为不识别数据(\为换行,下同)0x1F0E-0x1F0F 55 AA 55 AA为结束标识记录数据0x1C05-0x1C0D 07 |00 08 00 00| 00 08 40 060x1D05-0x1D0D 07 |00 10 40 06|00 08 40 060x1E05-0x1E0D 07 |00 18 80 0C|00 08 80 0C0x1F05-0x1F0D 0F |00 20 60 19|00 40 38 21 (|为文章标记方便阅读,无意义,下同)07为主分区标识,0F为扩展分区标识00 08 00 00——2048 第一主分区起始位置00 08 40 06——104859648 第一主分区扇区数量00 10 40 06——104861696 第二主分区起始位置00 08 40 06——104859648 第二主分区扇区数量00 18 80 0C——209721344 第三主分区起始位置00 08 80 0C——209717248 第三主分区扇区数量00 20 60 19——419438592 第四扩展分区起始位置00 40 38 21——557334528 第四扩展分区扇区数量第63扇区:第一扇区备份MBR开头为EB 52 90,结束为55 AA。
详解硬盘MBR

硬盘分区表知识——详解硬盘MBR硬盘是现在计算机上最常用的存储器之一。
我们都知道,计算机之所以神奇,是因为它具有高速分析处理数据的能力。
而这些数据都以文件的形式存储在硬盘里。
不过,计算机可不像人那么聪明。
在读取相应的文件时,你必须要给出相应的规则。
这就是分区概念。
分区从实质上说就是对硬盘的一种格式化。
当我们创建分区时,就已经设置好了硬盘的各项物理参数,指定了硬盘主引导记录(即Master Boot Record,一般简称为MBR)和引导记录备份的存放位置。
而对于文件系统以及其他操作系统管理硬盘所需要的信息则是通过以后的高级格式化,即Format命令来实现。
面、磁道和扇区硬盘分区后,将会被划分为面(Side)、磁道(Track)和扇区(Sector)。
需要注意的是,这些只是个虚拟的概念,并不是真正在硬盘上划轨道。
先从面说起,硬盘一般是由一片或几片圆形薄膜叠加而成。
我们所说,每个圆形薄膜都有两个“面”,这两个面都是用来存储数据的。
按照面的多少,依次称为0 面、1面、2面……由于每个面都专有一个读写磁头,也常用0头(head)、1头……称之。
按照硬盘容量和规格的不同,硬盘面数(或头数)也不一定相同,少的只有2面,多的可达数十面。
各面上磁道号相同的磁道合起来,称为一个柱面(Cylinder)。
上面我们提到了磁道的概念。
那么究竟何为磁道呢?由于磁盘是旋转的,则连续写入的数据是排列在一个圆周上的。
我们称这样的圆周为一个磁道。
如果读写磁头沿着圆形薄膜的半径方向移动一段距离,以后写入的数据又排列在另外一个磁道上。
根据硬盘规格的不同,磁道数可以从几百到数千不等;一个磁道上可以容纳数KB 的数据,而主机读写时往往并不需要一次读写那么多,于是,磁道又被划分成若干段,每段称为一个扇区。
一个扇区一般存放512字节的数据。
扇区也需要编号,同一磁道中的扇区,分别称为1扇区,2扇区……计算机对硬盘的读写,处于效率的考虑,是以扇区为基本单位的。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
硬盘数据结构详解
▲主引导扇区
主引导区是硬盘的自留地(0柱0面1扇区——63扇区)。第一个就是主引导扇区,剩
下62个是保留扇区。多系统引导工具、逻辑锁等一般会利用保留扇区。硬盘主引导扇区则
指的是硬盘的物理地址0 柱0 面1 扇区,是用FDISK 进行硬盘分区时产生的, 它属于整个
硬盘而不属于某个独立的DOS分区, 是硬盘正确引导和使用的必要条件。它包括硬盘主引导
记录MBR(Main Boot Record)和分区表DPT(Disk Partition Table)。其中主引导记录
的作用就是检查分区表是否正确以及确定哪个分区为引导分区,并在程序结束时把该分区的
启动程序(也就是操作系统引导扇区)调入内存加以执行。至于分区表,很多人都知道,以
80H或00H为开始标志,以55AAH为结束标志,共64字节,位于本扇区的最末端。值得一
提的是,MBR是由分区程序(例如DOS 的Fdisk.exe)产生的,不同的操作系统可能这个扇
区是不尽相同。如果你有这个意向也可以自己去编写一个,只要它能完成前述的任务即可,
这也是为什么能实现多系统启动的原因(说句题外话:正因为这个主引导记录容易编写,所
以才出现了很多的引导区病毒)。
▲操作系统引导扇区
OBR(OS Boot Record)即操作系统引导扇区,通常位于硬盘的0柱1面1扇区(这是
对于DOS来说的,对于那些以多重引导方式启动的系统则位于相应的主分区/扩展分区的第
一个扇区),是操作系统可直接访问的第一个扇区,它也包括一个引导程序和一个被称为
BPB(BIOS Parameter Block)的本分区参数记录表。其实每个逻辑分区都有一个OBR,其
参数视分区的大小、操作系统的类别而有所不同。引导程序的主要任务是判断本分区根目录
前两个文件是否为操作系统的引导文件(例如MSDOS或者起源于MSDOSWin9x/Me的IO.SYS
和MSDOS.SYS)。如是,就把第一个文件读入内存,并把控制权交予该文件。BPB参数块记
录着本分区的起始扇区、结束扇区、文件存储格式、硬盘介质描述符、根目录大小、FAT个
数、分配单元(Allocation Unit,以前也称之为簇)的大小等重要参数OBR由高级格式化
程序产生(例如DOS 的Format.com)。
▲文件分配表
FAT(File Allocation Table)即文件分配表,是DOS/Win9x系统的文件寻址系统,为了
数据安全起见,FAT一般做两个,第二FAT为第一FAT的备份, FAT区紧接在OBR之后,其
大小由本分区的大小及文件分配单元的大小决定。关于FAT的格式历来有很多选择
Microsoft 的DOS及Windows采用我们所熟悉的FAT12、FAT16和FAT32格式,但除此以外
并非没有其它格式的FAT,像Windows NT、OS/2、UNIX/Linux、Novell等都有自己的文件
管理方式。
▲目录区
DIR是Directory即根目录区的简写,DIR紧接在第二FAT表之后,只有FAT还不能定位
文件在磁盘中的位置,FAT还必须和DIR配合才能准确定位文件的位置。DIR记录着每个文
件(目录)的起始单元(这是最重要的)、文件的属性等。定位文件位置时,操作系统根据
DIR中的起始单元,结合FAT表就可以知道文件在磁盘的具体位置及大小了。在DIR区之后,
才是真正意义上的数据存储区,即DATA区。
▲数据区
DATA虽然占据了硬盘的绝大部分空间,但没有了前面的各部分,它对于我们来说,也
只能是一些枯燥的二进制代码,没有任何意义。在这里有一点要说明的是,我们通常所说的
格式化程序(指高级格式化,例如DOS下的Format程序),并没有把DATA区的数据清除,
只是重写了FAT表而已,至于分区硬盘,也只是修改了MBR和OBR,绝大部分的DATA区的
数据并没有被改变,这也是许多硬盘数据能够得以修复的原因。但即便如此,如
MBR/OBR/FAT/DIR之一被破坏的话,也足够咱们那些所谓的DIY老鸟们忙乎半天了……需要
提醒大家的是,如果你经常整理磁盘,那么你的数据区的数据可能是连续的,这样即使
MBR/FAT/DIR全部坏了,我们也可以使用磁盘编辑软件(比如DOS下的DiskEdit),只要找
到一个文件的起始保存位置,那么这个文件就有可能被恢复(当然了,这需要一个前提,那
就是你没有覆盖这个文件……)。可见:在实际的文件之前有很多对整个数据区和数据区中
的文件进行描述的数据,真正的数据区只是枯燥的二进制代码。一个文件的起始和结束是在
FAT(文件分配表)和DIR(根目录区)中说明的。|)