硬盘分区表详解

人们在使用电脑时,有时由于异常操作,有时由于病毒侵袭,会导致某个分区消失或硬盘无法启动。究其原因,就是硬盘分区表受损。硬盘分区表可以说是支持硬盘正常工作的骨架.操作系统正是通过它把硬盘划分为若干个分区,然后再在每个分区里面创建文件系统,写入数据文件.本文主要讲述的是分区表的位置,结构以及各个分区表是如何链接起来的.当掌握了这些知识后,即使分区表受到破坏,一样也可以根据残存的数据手工修复分区表,从而修复分区。

一.分区表的位置及识别标志

分区表一般位于硬盘某柱面的0磁头 1扇区.而第1个分区表(也即主分区表)总是位于

(0柱面,1磁头,1扇区),剩余的分区表位置可以由主分区表依次推导出来.分区表有64个字节,占据其所在扇区的[441-509]字节.要判定是不是分区表,就看其后紧邻的两个字节(也即[510-511])是不是 "55AA",若是,则为分区表.

二.分区表的结构

分区表由4项组成,每项16个字节.共4×16 = 64个字节.每项描述一个分区的基本信息.每个字节的含义如下:

分区表项含义

字节 含义
0 Activeflag.活动标志.若为0x80H,则表示该分区为活动分区.若为0x00H,则表示该分区为非活动分区.
1,2,3 该分区的起始磁头号,扇区号,柱面号磁头号 -- 1字节, 扇区号 -- 2字节低6位,柱面号 -- 2字节高2位 + 3字节
4 分区文件系统标志:
分区未用: 0x00H.

扩展分区: 0x05H, 0x0FH.

FAT16分区: 0x06H.

FAT32分区: 0x0BH, 0x1BH, 0x0CH, 0x1CH.

NTFS分区: 0x07H.

5,6,7 该分区的结束磁头号,扇区号,柱面号,含义同上.
8,9,10,11 逻辑起始扇区号。表示分区起点之前已用了的扇区数.
12,13,14,15 该分区所占用的扇区数.

分区表项有几个字节比较重要,下面分别阐述之:

1、(1,2,3)字节

磁头号由(1)字节8位表示,其范围为(0 -- 28 - 1),也即(0 磁头-- 254磁头)。

扇区号由(2)字节低6位表示,其范围为(0 -- 26 - 1),由于扇区号从1开始,所以其范围是(1扇区-- 63扇区)。

柱面号由(2)字节高2位 + (3)字节,共10位表示,其范围为(0 --2 10 - 1),也即(0 柱面-- 1023柱面)。

当柱面号超过1023时,这10位依然表示成1023,需要注意。

(5,6,7)字节含义同上。

2、(8, 9, 10, 11)字节

如果是主分区表,则这4 个字节表示该分区起始逻辑扇区号与逻辑0扇区(0柱面,0磁头,1扇区)之差。如果非主分区表,则这4 个字节要么表示该分区起始逻辑扇区号与扩展分区起始逻辑扇区号之差,要么为63。详细情况在后面有所阐述。---www.bianceng.cn

注意:

1、扇区上的字节是按左边低位,右边高位的顺序排列的。所以在取值时,需要把字节再反一下,让高位字节在左边,低位字节在右边,这一点在读取逻辑起始扇区号和分区大小时需要注意。举个例子:第一项的逻辑起始扇区为(3F 00 00 00),转换为十进制前要先反一下字节顺序,为(00 00 00 3F)然后在转换为十进制,即63 .同理分区大小为(3F 04 7D 00),先反为(00 7D 04 3F)再转换为十进制,即8193087。

2、逻辑扇区号与(柱面,磁头,扇区)的相互转换:

令L = 逻辑扇区号,C = 柱面号,H = 磁头号,S = 扇区号。

每道扇区数 = 63

每柱面磁头数 = 255

每柱面扇区数 = 每道扇区数* 每柱面磁头数

= 63 × 255

= 16065

柱面号下标从0开始。磁头号[0 -- 254],扇区号[1 -- 63]。

逻辑扇区号下标也从0开始。

(柱面,磁头,扇区)转换成逻辑扇区号的公式为:

L = C×16065 + H ×63 + S - 1 ;

比如(1柱面,1磁头,1扇区),其逻辑扇区号为:

L = 1×16065 + 1×63 + 1 - 1

= 16128

逻辑扇区号转换成(柱面,磁头,扇区) 公式为:

C = L / 16065

H = (L % 16065) / 63

S = (L % 16065) % 63 + 1

比如逻辑扇区号 16127:

C = 16127 / 16065 = 1

H = (16127 % 16065) / 63 = 0

S = (16127 % 16065) % 63 + 1 = 63

即(1柱面,0磁头,63扇区)

3、分区表上有四项,每一项表示一个分区,所以一个分区表最多只能表示4个分区。主分区表上的4项用来表示主分区和扩展分区的信息。因为扩展分区最多只能有一个,所以硬盘最多可以有四个主分区或者三个主分区,一个扩展分区。余下的分区表是表示逻辑分区的。

这里有必要阐述一点:逻辑区都是位于扩展分区里面的,并且逻辑分区的个数没有限制。

4、分区表所在扇区通常在(0磁头,1扇区),而该分区的开始扇区通常位于(1磁头,1扇区),中间隔了63 个隐藏扇区。

时间: 2024-08-29 08:16:43

硬盘分区表详解的相关文章

MBR和GPT分区表是什么,MBR和GPT分区表详解介绍

MBR和GPT分区表详解 全新硬盘(未初始化)装系统之前,必须对齐进行分区,硬盘分区初始化的格式包括MBR和GPT两种.当然对于基于PowerPC的Mac电脑还有专门的Apple分区图,在这里就不做介绍. MBR的全称是Master Boot Record(主引导记录),MBR早在1983年IBM PC DOS 2.0中就已经提出.之所以叫"主引导记录",是因为它是存在于驱动器开始部分的一个特殊的启动扇区.这个扇区包含了已安装的操作系统的启动加载器和驱动器的逻辑分区信息. 主引导扇区是

SSD死机卡顿解决办法以及固态硬盘使用详解

  其实固态硬盘的死机现象并不是集中表现在SSD上,而是整个关系到硬盘方面的问题,很多用户认为死机本身是固态硬盘的毛病,我们在今天文章中也一起来分析一下关于系统死机究竟是什么方面的问题. SSD死机卡顿怎么办 固态硬盘使用详解 我们先一起来看看死机问题主要集中在那几个方面,何为正常死机,什么又是非正常死机: 假象死机 1:程序卡死导致的画面定格,甚至鼠标指针都无法看到,但WIN7可使用Ctrl+Alt+Del切换至登录/注销界面强制注销或重启; 2:任意原因导致的电脑无任何响应,鼠标键盘锁死无法

Linux VPS挂载硬盘命令详解

注意事项: 1.挂载硬盘应该在安装其他软件或环境之前操作: 2,挂载前如已有数据,请注意备份: 3,本文中提到的分区名称.硬盘名称仅供参考,实际因环境差异可能会有不同.     第一步,先使用 "fdisk -l" 命令查看硬盘情况:     由上图可以看出,我们有2块硬盘,第二块硬盘是 /dev/vdb1 ,大小有96G左右,已经格式化并分区好了.     注意:如果提示"Disk /dev/vdb doesn't contain a valid partition tab

PostgreSQL教程(三):表的继承和分区表详解_PostgreSQL

一.表的继承:     这个概念对于很多已经熟悉其他数据库编程的开发人员而言会多少有些陌生,然而它的实现方式和设计原理却是简单易懂,现在就让我们从一个简单的例子开始吧.     1. 第一个继承表:  复制代码 代码如下:     CREATE TABLE cities (   --父表         name        text,         population float,         altitude     int     );     CREATE TABLE capi

PostgreSQL分区表(partitioning)应用实例详解_PostgreSQL

前言 项目中有需求要垂直分表,即按照时间区间将数据拆分到n个表中,PostgreSQL提供了分区表的功能.分区表实际上是把逻辑上的一个大表分割成物理上的几小块,提供了很多好处,比如: 1.查询性能大幅提升 2.删除历史数据更快 3.可将不常用的历史数据使用表空间技术转移到低成本的存储介质上 那么什么时候该使用分区表呢?官方给出的指导意见是:当表的大小超过了数据库服务器的物理内存大小则应当使用分区表,接下来结合一个例子具体记录一下创建分区表的详细过程. 创建分区表 首先看一下需求,现在有一张日志表

详解Windows10系统连接硬盘失败的解决方法

详解Windows10系统连接硬盘失败的解决方法:硬盘有固态硬盘(SSD 盘,新式硬盘).机械硬盘(HDD 传统硬盘).混合硬盘(HHD 一块基于传统机械硬盘诞生出来的新硬盘).SSD采用闪存颗粒来存储,HDD采用磁性碟片来存储,混合硬盘(HHD: Hybrid Hard Disk)是把磁性硬盘和闪存集成到一起的一种硬盘.绝大多数硬盘都是固定硬盘,被永久性地密封固定在硬盘驱动器中.小编的本本安装了Wn10系统后,就打不开路由器挂载的硬盘.在大神的指导下,终于找到了无法连接硬盘的处理措施,在这就分

Linux下查看CPU型号,内存大小,硬盘空间的命令(详解)_Linux

1 查看CPU 1.1 查看CPU个数 # cat /proc/cpuinfo | grep "physical id" | uniq | wc -l 2 **uniq命令:删除重复行;wc –l命令:统计行数** 1.2 查看CPU核数 # cat /proc/cpuinfo | grep "cpu cores" | uniq cpu cores : 4 1.3 查看CPU型号 # cat /proc/cpuinfo | grep 'model name' |un

详解固态硬盘常见术语:这样才能不被骗

在行业涨价的大背景下,我们在选择固态硬盘产品的时候更是需要提高警惕,多多了解关于固态硬盘产品的参数和关键术语,多加斟酌和比较不同品牌,避免被不良商家的文字游戏所欺骗,惨遭"烈士墙".那么,固态硬盘领域常见的专业术语到底有哪些?不良商贩又都喜欢在固态硬盘的描述上玩哪些文字游戏? 详解固态硬盘常见术语:这样才能不被骗 关于产品接口:SATA/M.2/PCIe 目前,市面上销售的消费级固态硬盘产品中,大都是SATA接口或是M.2接口(包括PCIe). 先说SATA接口,其本质就是从传统机械硬

备份恢复分区表的工具Disk Genius使用详解第1/4页_硬件维护

誉为分区小超人的DISKMAN又推出其第二版Disk Genius,他的功能在原来1.2的基础上,又具有强大的分共维护功能,让我们来看一下其中的功能吧.  现在可供选用的硬盘分区工具软件很多,但基本上都是"外国货",只有被誉为分区小超人的DISKMAN是地地道道的国货.DISKMAN以其操作直观简便的特点为菜鸟级电脑用户所喜爱,但在近两年的时间里,DISKMAN的版本一直停留在V1.2,总不见作者推出升级版本,不免让人为它担心.现在,2.0版本的DISKMAN终于出现了,仍然是免费软件