如何检查硬盘故障(4)

2019-05-24 14:48

06 DOS 3.31+ FAT16 (over 32 MB)

07 OS/2 HPFS, Windows NT NTFS, Advanced Unix 08 OS/2 v1.0-1.3, AIX bootable partition, SplitDrive 09 AIX data partition 0A OS/2 Boot Manager 0B Windows 95+ FAT32

0C Windows 95+ FAT32 (using LBA-mode INT 13 extensions) 0E DOS FAT16 (over 32 MB, using INT 13 extensions) 0F Extended partition (using INT 13 extensions) 17 Hidden NTFS partition

1B Hidden Windows 95 FAT32 partition

1C Hidden Windows 95 FAT32 partition (using LBA-mode INT 13 extensions) 1E Hidden LBA VFAT partition 42 Dynamic disk volume

50 OnTrack Disk Manager, read-only partition 51 OnTrack Disk Manager, read/write partition 81 Linux

82 Linux Swap partition, Solaris (Unix) 83 Linux native file system (ext2fs/xiafs) 85 Linux EXT

86 FAT16 volume/stripe set (Windows NT)

87 HPFS fault-tolerant mirrored partition, NTFS volume/stripe set BE Solaris boot partition

C0 DR-DOS/Novell DOS secured partition

C6 Corrupted FAT16 volume/stripe set (Windows NT) C7 Corrupted NTFS volume/stripe set F2 DOS 3.3+ secondary partition [表2分区结构信息] 偏移 长度 含义

00H 1 活动分区指示符,该值为80H表示为可自举分区(仅有一个),该值为00H表示其余分区。

01H 1 分区起始磁头号。

02H 1 低6位是分区开始的扇区,高2位是分区开始的柱面的头两位。 03H 1 分区开始的起始柱面号的低8位。

04H 1 系统标志,该值为01H表示采用12位FAT格式的DOS 分区,该值04H表示采用16位FAT格式的DOS分区,该值为05H表示为扩展DOS分区,为06H表示为DOS系统。

05H 1 分区终止头号

06H 1 低6位为分区结束的扇区号,头2位为结束柱面号的前2位。 07H 1 分区结束柱面号的低8位。

08H 4 本分区前的扇区数,低位字节在 前。 0CH 4 本分区总的扇区数,低位字节在前。 重要公式:

02H为X,03H为Y。柱面=(X>>6)*16^2+Y;

以我的硬盘为例:

有九个可用分区,二个不可用分区;

两个Primary NTFS分区,第二个为active;

七个Extened 分区,第五个为NTFS其他为FAT32. .

主分区表数据:位置cylinder0, head 0,sector1 偏移 0 1 2 3 4 5 6 7 8 9 A B C D E F

0 33 C0 8E D0 BC 00 7C FB 50 07 50 1F FC BE 1B 7C 1 BF 1B 06 50 57 B9 E5 01 F3 A4 CB BE BE 07 B1 04 2 38 2C 7C 09 75 15 83 C6 10 E2 F5 CD 18 8B 14 8B 3 EE 83 C6 10 49 74 16 38 2C 74 F6 BE 10 07 4E AC 4 3C 00 74 FA BB 07 00 B4 0E CD 10 EB F2 89 46 25 5 96 8A 46 04 B4 06 3C 0E 74 11 B4 0B 3C 0C 74 05 6 3A C4 75 2B 40 C6 46 25 06 75 24 BB AA 55 50 B4 7 41 CD 13 58 72 16 81 FB 55 AA 75 10 F6 C1 01 74 8 0B 8A E0 88 56 24 C7 06 A1 06 EB 1E 88 66 04 BF 8 0A 00 B8 01 02 8B DC 33 C9 83 FF 05 7F 03 8B 4E 9 25 03 4E 02 CD 13 72 29 BE 59 07 81 3E FE 7D 55 A AA 74 5A 83 EF 05 7F DA 85 F6 75 83 BE 2E 07 EB B 8A 98 91 52 99 03 46 08 13 56 0A E8 12 00 5A EB C D5 4F 74 E4 33 C0 CD 13 EB B8 00 00 80 24 45 00 D 56 33 F6 56 56 52 50 06 53 1B 00 00

1C 01 46 07 FE 7F 1E C6 28 11 00 99 31 35 00 80 00 1D 41 30 07 FE 7F B2 30 85 4A 00 C3 1C 20 00 00 00 1E 41 B3 0F FE FF FF F3 A1 6A 00 08 FE F7 01 00 00 1F 00 00 00 00 00 00 00 00 00 00 00 00 00 00 55 AA 主分区表分析:

Master bootstrap loader code0000H -00D9H 33 C0 8E D0 BC 00 7C FB 50 。。。主引导记录代码,表示住分区表

01BEH -01CDH 分区1结构信息multi(0)disk(0)rdisk(0)partition(0)知该分区Boot Sector位于:起始磁头为0头,起始柱面为70D,起始扇区为1扇区。

01CEH -01DDH 分区2结构信息 multi(0)disk(0)rdisk(0)partition(1)活动分区指示符为80H,表示该分区为可自举分区。系统标志为07表示OS/2 HPFS, Windows NT NTFS, Advanced Unix系统。知该分区Boot Sector位于:起始磁头为0头,起始柱面为304D,起始扇区为1扇区。

01DEH -01EDH 分区3结构信息Extended partition系统标志字节为0F,说明是扩展分区Extended partition (using INT 13 extensions)。从扩展分区说明项知下一个分区表位于:起始磁头为0头,起始柱面为435D,起始扇区为1扇区。

01EEH -01FDH 分区4结构信息分区说明项数据均为00H没有定义。 01FEH -01FFH 55 AAH 主引导记录有效标志

扩展分区一分区表数据:位置cylinder435D, head 0,sector1 偏移 0 1 2 3 4 5 6 7 8 9 A B C D E F

0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

1B 00 00

1C 41 B3 0B FE FF 08 3F 00 00 00 97 D5 53 00 00 00 1D C1 09 05 FE FF FF D6 D5 53 00 D6 D5 53 00 00 00 1E 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 1F 00 00 00 00 00 00 00 00 00 00 00 00 00 00 55 AA 扩展分区表分析:

01BEH -01CDH 分区1结构信息multi(0)disk(0)rdisk(0)partition(3)知该分区位于:起始磁头为1头,起始柱面为435D,起始扇区为1扇区(分区表占用磁头0)。系统标志字0BH表示 Windows 95+ FAT32

01BEH -01CDH 分区1结构信息系统标志字节为05H,说明是扩展DOS分区。于是知下一个分区表位于:起始磁头为0头,起始柱面为777D,起始扇区为1扇区。 Partition Table Entry #3 数据均为00H没有定义。 Partition Table Entry #4 数据均为00H没有定义。 其他扩展分区同理。

--------------------------------------------------------------------------------------------------------------------- 附录:

Fdisk的MBR参数

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,检验标志每变异,而分区表或许尚健在。 ●硬盘数据恢复,深入逻辑分区

现在深入每一个逻辑分区。逻辑分区结构如下: FAT12/16 Logical sector =0 Logical sector=1(Floppy disk=1~9) Logical sector=1+sectors_per_FAT(Floppydisk=10~18) Logical sector=1+sectors_per_FAT*2(Floppy disk=19~32) Logical sector=1+sectors_per_FAT*2+sectors_of_rootdirectories(Floppy disk=33~) DOS Boot Sector FAT1 FAT2 ROOT Directory Data area(where files and subdirectories are stored) FAT32

Usually 32 sectors Logical sector =0032h Logical sector =0032h+ 2*sectors_per_FAT

DOS Boot Recore 3 Sectors Reserved sectors Copy of record Reserve sectors FAT1 FAT2 Data area(where files and all bdirectories are stored)

在逻辑分区当中用逻辑的cluster和sector。换算关系为: cluster=logical_sector/sectors_per_cluster;

这里sectors_per_cluster是在BIOS Parameter Block里得到的。 Sector=( logical_sector mod sectors_per_track)+1;

Head=( logical_sector / sectors_per_track)mod total_heads; Cylinder= logical_sector(sectors_per_track* total_heads);

logical_sector=( cluster-2)*sectors_per_cluster+sector_of_file_area_offset;

logical_sector=(sector-1)+head*sector_per_track+sector*sector_per_track*heads; 每个扇区长度=512字节 总簇数=逻辑盘容量/簇容量

总簇数=FAT表长度(字节)/每个表项长度(字节)-2 FAT表长度=逻辑盘容量/簇容量*每个表项长度 Dos引导记录块位于逻辑0 sector中包含三部分: (1) 磁盘IO参数表BPB; (2) 磁盘基数表; (3) 引导区代码。

FAT16的BPB(BIOS Parameter Block)表,描述逻辑盘结构组成,包含隐藏扇区数目(从0-1-1开始计算)、FAT扇区数、FAT拷贝数、硬盘磁头总数、根目录表项最大值等。FAT32系统中,BPB表的偏移与FAT16不同,但表项基本相同。整个隐藏扇区部分都作为逻辑盘的描述区域。

典型的primary partion 的磁盘IO参数表BPB: 典型的 logical partion 磁盘参数表: 硬盘BPB主要结构说明:

(Cylinder柱面/磁道-Side/Head磁头-Sector扇区地址以下简称为?-?-?) 主分区

名称 地址 长度(扇区)

主引导记录(Main Boot Record) 0-0-1 1

系统扇区(System Secotrs) 0-0-2,0-0-63 62 引导扇区(Boot) 0-1-1 1 扩展分区

名称 地址 长度(扇区)

扩展分区(Extend Partition) ?-y-1 1

系统扇区(System Secotrs) ?-y-2,?-y-63 62 引导扇区(Boot) ?-(y+1)-1 1 其后各项与主分区相同?? 隐藏扇区(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 文件分配表结构如1(H表示16进制) 表1

第0字节 表头,表磁盘类型。FFH双面软盘,每次道8扇区FEH单面软盘,每磁道8扇区FDH双面软盘,每磁道9扇区FCCH单面软盘,每磁道9扇区FC8H硬盘

第1~2字节 (表项号1)表示第一簇状态,因第一簇被系统占据,故此两字节为FFFFH 第3~4字节 (表项号2)表示第二簇状态,若为FFFH表此簇为坏的,DOS已标记为不能用;0000H表示此簇为空,可以用;FFF8H表不能示该簇为文件的最后一簇;其余数字表示文件的下一个簇号,注意高字节在后,低字节在前。 第5~6字节 (表项号3)表示第三簇状态,同上。 注意:

不要把表项内的数字误认为表示当前簇号,而应是该文件的下一个簇的簇号。.高字节在后,


如何检查硬盘故障(4).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:中学安全教育主题班会教案

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: