用Runtime's DiskExplorer解读硬盘分区表

来源:互联网 发布:自贸区内注册公司 知乎 编辑:程序博客网 时间:2024/05/22 01:41

用Runtime's DiskExplorer解读硬盘分区表

 转自http://www.bnuol.com


经过上一章的学习,我们初步了解了硬盘分区表的知识。
 
我们来看一下下图(计算机上第一块硬盘的分区表信息)。
对照上图进行分析:上图是看到计算机上第一块硬盘的0扇区的分区表信息。
我们从0扇区可以提取出如下信息:
1、 硬盘0扇区是一个正确格式的分区表(Valid Partition Table);
2、 硬盘一共有3个主分区(主分区和扩展分区概念以后讲):
第一个分区:分区类型(NTFS),起始扇区(Start Sector63 secSector简写),分区大小(Total Sectors25552737 sec,这个分区是活动分区
第二个分区:分区类型(NTFS),起始扇区(Start Sector25559415 secSector简写),分区大小(Total Sectors30716280 sec
第三个分区:分区类型(NTFS),起始扇区(Start Sector56276640 secSector简写),分区大小(Total Sectors178158960 sec
3、分区表项最多可以填写4个,现在第4个分区表是空白的,没有分区信息;
4、硬盘的其它信息:硬盘编号,硬盘总大小(总扇区数)。
————————————————————————————————————————————————————————————————
Sector             Partition table(这是分区表显示模式,可以按F9切换到这种视图,也可以对软件中间单击右键菜单上的View
x00000000      Valid Partition TableValid Partition Table就是一个合法的分区表格式)
0                     Entry                                                                          Starting                   Ending       Relative           Total
(扇区数)    No      System                                    Boot   Cylinder Head    Sector   Cylinder Head    Sector   Start Sector Sectors
                        1        NTFS(分区类型) (活动)Yes     x000     x01       x01       x3FF     xEF       x3F       x0000003F     x0185E761
                                                                                             0           1           1           1023     239       63         63                   25552737
                        2        NTFS(分区类型)                   No      x3FF     x69       x01       x3FF     xE0       x3F       x01860177     x01D4B178
                                                                                             1023     105       1           1023     224       63         25559415       30716280
                        3        NTFS(分区类型)                   No      x3FF     x00       x01       x3FF     xEF       x3F       x035AB6A0    x0A9E7D70
                                                                                             1023     0           1           1023     239       63         56276640       178158960
                        4        Free (空白)                          No      x000     x00       x00       x000     x00       x00       x00000000     x00000000
                                                                                             0           0           0           0           0           0          0                     0
x00000001      Invalid Partition TableInvalid Partition Table就是一个不合法的分区表格式)
1                      Entry                                                                          Starting                   Ending       Relative           Total
(扇区数)   No      System                                      Boot   CylinderHead    Sector   Cylinder Head    Sector   Start Sector    Sectors
                       1        Free                                           No     x000     x00       x00       x000     x00       x00       x00000000    x00000000
                                                                                             0           0           0           0           0           0          0                     0
                       2        Free                                           No     x000     x00       x00       x000     x00       x00       x00000000    x00000000
                                                                                             0           0           0           0           0           0          0                     0
                       3        Free                                           No     x000     x00       x00       x000     x00       x00       x00000000    x00000000
                                                                                             0           0           0           0           0           0          0                     0
                       4        Free                                           No     x000     x00       x00       x000     x00       x00       x00000000    x00000000
                                                                                             0           0           0           0           0           0          0                     0
(Sector:Offset)=x00000000:x1BE(0:446)                                                                                       Selection=x00000000:x1BE-x00000000:x1FA
Drive: HD128:(1st hard drive), 234441648 (x0DF94BB0)sectors                                                                                          Sectors 0-234,441,647 (硬盘总的扇区数)
 (硬盘编号)
————————————————————————————————————————————————————————————————
再来看该计算机磁盘管理器上的分区信息:
解析:我们看到硬盘大小是111.78 GB,共有C、D、E 3个分区,大小分别为12.18 GB、14.65 GB、84.95 GB,每个分区的头部显示深蓝色(主分区标志)。
根据上面的分区表信息,我们把硬盘大小和分区大小计算一下:
硬盘总大小:234441647 sec 换算成GB à 234441647 sec / 2 = 117220823.5 KB  117220823.5 KB / 1024 = 114473.46 MB  114473.46 MB / 1024 = 111.79 GB
C分区大小:25552737 sec /2 /1024 /1024 = 12.18 GB
D分区大小:30716280 sec /2 /1024 /1024 = 14.65 GB
E分区大小:178158960 sec /2 /1024 /1024 = 84.95 GB
 
下面我们再来看另一个硬盘的分区信息,首先我们用Runtime's DiskExplorer打开计算机的第二块硬盘:
 
      Select drive...Select drive...
Available drives:
             Physical drives...
                    1st hard drive 112 GB (HD128:) - HTS421212H9AT
                          1st partition (NTFS) 12.2 GB(主分区)
                          2nd partition (NTFS) 14.6 GB(主分区)
                          3rd partition (NTFS) 85.0 GB(主分区)
                    2nd hard drive 74.5 GB (HD129:)(我们需要看这个硬盘的分区信息)
                          1st partition (FAT32) 6.17 GB(主分区)
                          2nd partition (DOS Extended LBA) 68.4 GB(扩展分区)
                                1st partition (NTFS) 9.77 GB(扩展分区第一个分区)
                                2nd partition (DOS Extended) 29.3 GB
                                       1st partition (NTFS) 29.3 GB(扩展分区第二个分区)
                                       2nd partition (DOS Extended) 29.3 GB
                                          1st partition (NTFS) 29.3 GB(扩展分区第三个分区)
 
这里先讲解一下主分区和扩展分区的知识,下图是计算机上第二块硬盘的分区表信息。
从这个图上看,最多能填4个分区表信息,如果一个硬盘要分成5个分区或者大于5个分区,我们就没有办法在0扇区添加上去。为了解决这个问题,设计者引入了扩展分区的概念。
一个主分区在硬盘0扇区占用一条记录,如果硬盘都分成主分区,最多只能分成4个主分区。
一个扩展分区在0扇区也占用一条记录,但是在扩展分区里有可以分出N个逻辑分区出来,这是不同于主分区的地方。它的设计思路是这样的:我在0扇区里给你划出一定容量的空间,把它定义成扩展分区,然后用户根据需要,在这个扩展分区中分出若干个逻辑分区,在扩展分区里划分逻辑分区数量不限制在4个以下,可以多于4个,但是最大能分多少个区我没有去试过,反正对于99.9999%的用户来说已经够用了。
总之更简单的表述主分区和扩展分区的区别是:主分区不可再分区,扩展分区可以再分成逻辑分区。主分区分区表只有在0扇区上有,扩展分区分区表除了在0扇区有,在别的地方也有扩展分区逻辑分区表。扩展分区表在0扇区上的分区类型为:DOS Extended和DOS Extended LBA两种,他们的作用是一样的,选择哪一种都一样,如果有区别也是早期设计上的寻址方式不同而已。
扩展分区里头实现多个逻辑分区是这样的(用上图分区表讲解):
1、 在第0扇区,一个扩展分区有两个参数比较重要:起始扇区(Start Sector = 12948390 sec,整个扩展分区总大小(Total Sectors = 143347995 sec);
2、 扩展分区中的第一个逻辑分区,我们到硬盘第12948390 sec看看(鼠标双击DOS Extended LBA就直接到达该扩展分区起始点12948390 sec),如下图:
  

12948390 sec 是一个合法的扩展分区表,它定义了扩展分区中的第一个逻辑分区,我们注意到,扩展分区表第二项又定义了一个扩展分区表。
 
Sector             Partition table
x00C593A6     Valid Partition Table
12948390       Entry                                                                          Starting                   Ending       Relative           Total
                       No      System                                      Boot   CylinderHead    Sector   Cylinder Head    Sector   Start Sector    Sectors
                        1        NTFS                                        No      x326     x01       x01       x3FF     xFE       x3F      x0000003F     x01388AFC      —————该硬盘扩展分区第一个逻辑分区
                                                                                             806       1           1           1023     254       63         63                   20482812
                        2        DOS Extended                           No      x3FF     x00       x01       x3FF     xFE       x3F       x01388B3B     x03A962F0      —————该硬盘下一个扩展分区信息
                                                                                             1023     0           1           1023     254       63         20482875       61432560
                       3        Free                                           No     x000     x00       x00       x000     x00       x00       x00000000    x00000000
                                                                                             0           0           0           0           0           0          0                     0
                       4        Free                                           No     x000     x00       x00       x000     x00       x00       x00000000    x00000000
                                                                                             0           0           0           0           0           0          0                     0
 
我们可以看出,扩展分区第一个逻辑分区起始扇区是63 sec,这是相对于12948390 SEC在硬盘上的真正位置应该是 12948390+63 sec,大小是20482812 sec
扩展分区的下一个分区从20482875 sec 开始,相对于12948390 sec,实际位置是:12948390+20482875 = 33431265 sec,扩展分区大小是 61432560 sec。
3、我们双击这里的第二项扩展分区表,到达33431265 sec扇区:
在33431265 sec,我们看到扩展分区的第二个逻辑分区信息和下一个扩展分区信息
我们可以看出,扩展分区第二个逻辑分区起始扇区是63 sec,这是相对于33431265 SEC在硬盘上的真正位置应该是 33431265+63 sec,大小是61432497 sec
扩展分区的下一个分区从81915435 sec 开始,相对于12948390 sec(注意,不是相对33431265 sec,实际位置是:12948390+81915435 = 94863825 sec,扩展分区大小是 61432560 sec。
 
4、我们双击这里的第二项扩展分区表,到达94863825 sec扇区:
在94863825 sec,我们看到扩展分区的第三个逻辑分区信息,这里没有看到扩展分区了,说明扩展分区到这里结束了。扩展分区第三个分区大小为:61432497 sec
 
上面详细看了每个分区的信息,可以看出来,扩展分区其实就是一个链状定义,扩展分区的第一个逻辑分区表所在的扇区还定义了扩展分区第二个分区的起始信息,扩展分区的第二个逻辑分区表所在的扇区还定义了扩展分区第三个分区的起始信息,依次类推如下:
2nd hard drive 74.5 GB (HD129:)
                          1st partition (FAT32) 6.17 GB(主分区)
                          2nd partition (DOS Extended LBA) 68.4 GB(扩展分区定义)
                                1st partition (NTFS) 9.77 GB(扩展分区第一个分区)
                                2nd partition (DOS Extended) 29.3 GB(扩展分区定义)
                                       1st partition (NTFS) 29.3 GB(扩展分区第二个分区)
                                       2nd partition (DOS Extended) 29.3 GB(扩展分区定义)
                                          1st partition (NTFS) 29.3 GB(扩展分区第三个分区)
Disk1就是我们刚才分析的硬盘:外围绿色的代表是扩展分区,绿色里头的三个分区是蓝色代表扩展分区上的逻辑分区,深蓝色代表主分区。
分区表全图
 
关于主分区、扩展分区、逻辑分区三个概念的理解
下图是一个未分区的硬盘:
我们开始给它分区:
我们选择主分区:
格式化完成以后,G盘状态良好,我们看到G盘头部颜色是深蓝色,是主分区标志:
我们按照上面的方法把剩余的空间创建一个扩展分区,操作完成以后如下图:(注意看,创建好扩展分区以后,这个区域头部颜色是绿色的,这是扩展分区标志。另外,我们发现创建扩展分区的时候没有分配任何盘符,整个扩展分区状态是Free space,我们现在在操作系统下还没办法往这个区域拷贝存储数据。)
 
 
扩展分区创建完成以后,还不能使用该分区,我们需要在扩展分区上创建逻辑分区才可以使用:
 
选择逻辑分区:
分区格式化完成以后:(下面我们看到,I盘状态良好,是FAT32格式,我们可以往里头拷贝数据。I盘头部是蓝色的,是逻辑分区标志。)
 
我们按照上面的方法把剩余的扩展分区空间在创建两个逻辑分区,结果如下:
 
Disk 1
Basic
74.53 GB
Online
data01  (G:)
DATA02  (I:)
data03  (J:)
data04  (K:)
6.17 GB NTFS
9.77 GB FAT32
9.76 GB NTFS
48.83 GB NTFS
Healthy
Healthy
Healthy
Healthy
主分区
逻辑分区
逻辑分区
逻辑分区
1、   主分区表
2、   扩展分区第一个逻辑分区表位置
1、   第一个逻辑分区表
2、   第二个逻辑分区表位置
1、   第二个逻辑分区表
2、第三个逻辑分区表位置
1、第三个逻辑分区表
 
这样可以看出来,扩展分区中的逻辑分区表是一条链状结构的,每个逻辑分区在定义自身分区表的同时,还记录了下一个逻辑分区分区表的位置。
原创粉丝点击