免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2126 | 回复: 0
打印 上一主题 下一主题

Fdisk的MBR参数 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-12-03 14:12 |只看该作者 |倒序浏览
MBR 系 FDISK.COM(EXE)  一项未公布的开关,隐含于 MS DOS 3.30,延至 MS DOS
8.0(Windows ME)。实践中,有籍以修复主引导信息,重点在主引导程序。
   FDISK /MBR  命令流程的分支有二:
  读得主引导扇区检验标志(字) AA55h,操作单一,仅向主引导扇区位移 0-1BDH  写入当
前系统固有的主引导程序,安全可靠。
  难能可贵的是它不触动主引导信息其余模块(分区表、检验标志),以及随后的 DOS 引导
信息、文件分配表、根目录,省事许多。检出检验标志非 AA55h,写主引导程序、初始化
分区表及登录检验标志,在 MS DOS 7.0 - 8.0  环境中,常规以系统支持的最大容量分配
给基本 DOS  分区的方式登录分区表。分区表初始化(可能幸存的分区表被清除)的后果不难
想象; 目前硬盘大都设置有其它分区,即使在高版本 DOS 环境中运作,常规建立的分区
表每难能符合实际需求,后续工作量也相当可观。
  不过,它也不触动位于其后的  DOS  引导信息、文件分配表及根目录,高版本  FDISK
/MBR 命令适用于修复仅设基本 DOS  分区的硬盘分区表及检验标志受损,或主引导信息全
毁。
  可见,在运行 FDISK /MBR  命令之前,需查明检验标志是否  AA55h,酌情处理,切忌
盲动。
  经由 DOS 软盘引导,认硬盘,检验标志必健在。
  另外,在 FDSIK 主菜单中选 4. Display Partition Information,列出分区信息,进一步证
实检验标志正常; 若现 No partitition defined,检验标志每变异,而分区表或许尚健在。
总簇数=逻辑盘容量/簇容量
总簇数=FAT表长度(字节)/每个表项长度(字节)-2
FAT表长度=逻辑盘容量/簇容量*每个表项长度

Dos引导记录块位于逻辑0 sector 中包含三部分:
(1)  磁盘IO 参数表BPB;
(2)  磁盘基数表;
(3)  引导区代码。

FAT16的BPB(BIOS Parameter Block)表,描述逻辑盘结构组成,包含隐藏扇区数目
(从0-1-1开始计算)、FAT扇区数、FAT拷贝数、硬盘磁头总数、根目录表项最大值等。
FAT32 系统中,BPB 表的偏移与 FAT16 不同,但表项基本相同。整个隐藏扇区部分都作
为逻辑盘的描述区域。
隐藏扇区(Hidden Secotrs):
    FAT16              0-1-1          1
    FAT32              0-1-1          32
文件分配表(File Allocation Table):
    FAT16              0-1-2           根据逻辑盘容量变化      
    FAT32              0-1-33          根据逻辑盘容量变化
    说明:
FAT16 的每个表项由 2 字节(16 位)组成,通常每个表项指向的簇包含 64 个扇区,即
32K 字节。 逻辑盘容量最大为2047MB。
FAT32的每个表项由4字节(32位)组成,通常每个表项指向的簇包含 8个扇区,即 4K
字节。逻辑盘容量最小为512MB。
对于C分区,在MBR的偏移01c2H 处,FAT16 为 06H,FAT32 为 0CH。
   
FAT是DOS、Windows9X 系统的文件寻址格式,位于DBR之后。
在解释文件分配表的概念的时候,我们有必要谈谈簇(Cluster)的概念。文件占用磁盘空
间,基本单位不是字节而是簇。一般情况下,软盘每簇是 1 个扇区,硬盘每簇的扇区数与硬
盘的总容量大小有关,可能是 4、8、16、32、64……同一个文件的数据并不一定完整地存
放在磁盘的一个连续的区域内,而往往会分成若干段,像一条链子一样存放。这种存储方式
称为文件的链式存储。由于硬盘上保存着段与段之间的连接信息(即 FAT),操作系统在读
取文件时,总是能够准确地找到各段的位置并正确读出。
为了实现文件的链式存储,硬盘上必须准确地记录哪些簇已经被文件占用,还必须为每个
已经占用的簇指明存储后继内容的下一个簇的簇号。对一个文件的最后一簇,则要指明本簇
无后继簇。这些都是由 FAT 表来保存的,表中有很多表项,每项记录一个簇的信息。由于
FAT 对于文件管理的重要性,所以为了安全起见,FAT 有一个备份,即在原 FAT 的后面再
建一个同样的FAT。初形成的FAT中所有项都标明为“未占用”,但如果磁盘有局部损坏,
那么格式化程序会检测出损坏的簇,在相应的项中标为“坏簇”,以后存文件时就不会再使
用这个簇了。FAT的项数与硬盘上的总簇数相当,每一项占用的字节数也要与总簇数相适应,
因为其中需要存放簇号。FAT的格式有多种,最为常见的是 FAT16 和 FAT32。
当一个磁盘Format后,在其逻辑0扇区(即 BOOT扇区)后面的几个扇区中存在着一个重
要的数据表—文件分配(FAT),文件分配表一式两份,占据扇区的多小凭磁盘类型大小而
定。顾名思义,文件分配表是用来表示磁盘问件的空分配信息的。它不对引导区,文件目录
的信息进行表示,也不真正存储文件内容。
我们知道磁盘是由一个一个扇区组成的,若干个扇区合为一个簇,文件存取是以簇为单位
的,哪怕这个文件只有1个字节。每个簇在文件分配表中都有对应的表项,簇号即为表项号,
每个表项占 1.5 个字节(磁盘空间在 10MB 以下)或 2 个字节(磁盘空间在 10MB 以上)。
为了方便起见,以后所说的表项都是指2 个字节的。
FAT表的开始由介质描述符+一串“已占用”标志组成:
FAT16硬盘----F8 FF FF 7F
    FAT32硬盘----F8 FF FF 0F FF FF FF 0F
   每个有效的FAT结构区包含两个完全相同的拷贝:FAT1、FAT2
文件目录表(File Directory Table),即根目录区,又称为 ROOT区:
   紧跟在 FAT2 的下一个扇区,长度为 32 个扇区(256 个表项)。如果支持长文件名,则每
个表项为64个字节,其中,前32个字节为长文件链接说明;后 32 个字节为文件属性说明,
包括文件长度、起始地址、日期、时间等。如不支持长文件名,则每个表项为 32 个字节的
属性说明。
值得注意的是:
1,FAT32没有储存目录的目录区,而 FAT16 储存根目录并把子目录放到数据区。
  2,表示目录的目录项指出根目录地址同时长度字节为 0,表示文件的目录项指出数据地址。

飞客
上海数据恢复
中心:
http://fixit.com.cn
飞客
北京数据恢复
中心:
http://fix.net.cn
飞客
RAID磁盘阵列数据恢复
中心:
http://fix.jiangmin.com
飞客
服务器数据恢复
中心:
http://dofix.com.cn
飞客
硬盘数据恢复
中心:
http://www.sjaq.net


本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u2/76808/showart_1677573.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP