急急急!!分区表出问题,但在XP下又能正常进入分区,请问这该如何解决

急急急!!分区表出问题,但在XP下又能正常进入分区,请问这该如何解决,第1张

在U盘的使用过程中最尴尬的情况就是遇到“无法打开,需要进行格式化”的提示,如何在不破坏内部数据的情况下,挽救这个U盘呢今天小编给大家介绍3个方法,可以用来解决U盘“无法打开,需要进行格式化”问题。需要注意的是,无论哪一种都存在一定的风险,所以如果U盘数据特别重要,还是先要想办法将其备份!

方法一、CMD命令

以管理员身份进入CMD命令提示符界面(以Win10为例)

*** 作方法:

右键点击开始菜单图标,然后输入:“chkdsk (U盘盘符):/f”(注意不要双引号)这个命令。

比如小编的问题U盘是H盘,所以修复这个H盘就需要输入:“chkdsk h:/f”这个命令。

方法二、借助WINHEX程序

U盘出现需要格式化提示,大都是因为磁盘的DBR受损,所以我们可以尝试将受损的DBR文件恢复。原理是:磁盘在格式化之后会自动备份一份DBR,用来引导磁盘的DBR在第0扇区,备份DBR在第6扇区,所以我们要把第6扇区的备份DBR还原到0扇区来进行修复。修复受损的DBR文件的方法有很多,这里以WINHEX软件为例,给大家介绍详细的 *** 作方法。

首先在网上下载运行WINHEX程序,然后以管理员身份运行WINHEX程序,选择工具——打开磁盘,选择要修复的U盘。

双击打开分区,点导航——跳转到扇区,输入6,跳转到6扇区。

在offset找到0000 0C00一栏,用鼠标选中E,然后右键选择选块起始位置。

重复上面2张图的步骤,再跳转到第7扇区。

跳转到7扇区后,按键盘的向上键找到0000 0DF0一栏的55AA,在最后面的A那里点右键,选择选块结束。

然后点击编辑——复制选块——正常。

然后再跳转到0扇区,点编辑——剪贴板数据——写入——点击确定。

最后再点击保存,就修复设置完成了

方法三、借助USBOOT程序

除了上面的WINHEX修复软件外,我们还可以通过U盘引导软件来修复U盘, *** 作方法如下:

同样先在网上下载运行USBOOT程序,选择要修复的U盘及工作模式(引导处理),然后点击“开始”按钮即可。

中间如d出的“警告”窗口中点击“确定”以继续完成U盘的修复 *** 作。

如果无法删除U盘中文件怎么办

有些U盘在使用中可能会出现无法删除里面的某个文件,当然我们可以通过格式化、文件粉碎机等方式处理。如果我们的目标只是某几个文件,具体 *** 作方法如下:

首先进入U盘属性窗口,看看它是不是在只读模式,如果不是只读模式,在使用系统自带的磁盘修复选项将其修复一下。如果还是不能删除文件,就可尝试下面的方法:

新建记事本,将以下代码复制其中:

DEL /F /A /Q \\%1

RD /S /Q \\%1

然后将文件另存为bat格式文件,将它拷贝到U盘里,将U盘中想删除的文件拖拽到这个bat文件的图标上即可。

以上是提示U盘“无法打开,需要进行格式化”故障的三种解决方法的详细介绍,有需要的朋友不妨按上面的的方法 *** 作吧,希望本文的分享对大家有所帮助。

硬盘分区表可以说是支持硬盘正常工作的骨架 *** 作系统正是通过它把硬盘划分为若干个分区,然后再在每个分区里面创建文件系统,写入数据文件本文主要讲述的是分区表的位置,结构以及各个分区表是如何链接起来的当掌握了这些知识后,即使分区表受到破坏,一样也可以根据残存的数据手工修复分区表,从而修复分区。

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

分区表一般位于硬盘某柱面的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。详细情况在后面有所阐述。

注意:

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 个隐藏扇区。

三分区表链的查找

分区表链实际上相当于一个单向链表结构。第一个分区表,也即主分区表,可以有一项 描述扩展分区。而这一项就相当于指针,指向扩展分区。然后我们根据该指针来到扩展分 区起始柱面的0头1扇区,找到第二个分区表。对于该分区表,通常情况下:第一项描述了 扩展分区中第一个分区的信息,第二项描述下一个分区,而这第二项就相当于指向第二个分 区的指针,第三项,第四项一般均为0。我们可以根据该指针来到扩展分区中第二个分区起 始柱面的0头1扇区,找到第三个分区表。以此类推,只到最后一个分区表。而最后一个分 区表只有第一项有信息,余下三项均为0相当于其指针为空所以只要找到了一个分区表就可 以推导找出其后面所有分区表。不过该分区表前面的分区表就不好推导出来了。但令人高兴 的是这个链表的头节点,也即主分区表的位置是固定的位于(0柱面, 0磁头, 1扇区)处, 我们可以很轻易的找到它,然后把剩下的所有分区表一一找到。

以笔者的硬盘为例:一个主分区(C盘), 一个扩展分区扩展分区中有两个逻辑分区(D盘,E盘)其分区表链示意图如下:

图一 分区表链示意图

(一)读取(0柱面,0磁头,1扇区)处C盘的主分区表:

[80 01 01 00 0b FE 7F FD 3F 00 00 00 3F 04 7D 00 ] [00 00 41 FE 0F FE FF FF 7E 04 7D 00 1F 2C b4 00 ] [00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ] [00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ]第一项: (80)(01 01 00)(0b)(FE 7F FD )(3F 00 00 00 )(3F 04 7D 00) 描述的是C盘的情况。 1(80):表示C盘为活动分区。即系统会从C盘启动。 2(01 01 00):表示C盘的起始扇区为(0柱面,0磁头,1扇区)。 3(0b):表示C盘的文件系统为FAT32。 4.(FE 7F FD): (FE) 16 = (254) 10 (7F) 16 = (0111 1111) 2 (FD) 16 = (1111 1101) 2 磁头号:(254) 10; 扇区号:(11 1111) 2 = (63) 10 柱面号:(01 1111 1101) 2 = (509) 10 故C盘结束扇区为(509柱面,254磁头,63扇区)。 5(3F 00 00 00): 反向,(00 00 00 3F) 16 = (63) 10,为C盘起始逻辑扇区号与逻辑0扇区号之差。表示C盘前面已有63个扇区,这63个扇区为系统隐藏扇区。 6 (3F 04 7D 00): 反向,(00 7D 04 3F) 16 = (8193087) 10。表明C盘有8193087个扇区。即(0柱面,1磁头,1扇区)至(509柱面,254磁头,63扇区) 共有8193087个扇区。 第二项: (00)(00 41 FE)(0F)(FE FF FF)(7E 04 7D 00)(1F 2C b4 00) 描述的是扩展分区的情况。 1 (00): 表示该分区不是活动分区。 2 (00 41 FE): (00) 16 = (0) 10 (41) 16 = (0100 0001) 2 (FE) 16 = (1111 1110) 2 磁头号:(0) 10; 扇区号:(00 0001) 2 = (1) 10 柱面号:(01 1111 1110) 2 = (510) 10 所以扩展分区的起始扇区为(510柱面,0磁头,1扇区)。 3 (0F): 表示该分区为扩展分区。 4 (FE FF FF): (FE) 16 = (254) 10 (FF) 16 = (1111 1111) 2 (FF) 16 = (1111 1111) 2; 磁头号:(254) 10; 扇区号:(11 1111) 2 = (63) 10 柱面号:(11 1111 1111) 2 = (1023) 10 但这是不准确的,因为当柱面号的真实值超过1023时,表示柱面号的10位也依然是1023。 5 (7E 04 7D 00): 反向,(00 7D 04 7E) 16 = (8193150) 10 表示扩展分区的起始扇区号为8193150,即(510 柱面,0磁头,1扇区)。这是真实准确的, 我一般都用这一项来定位分区起点。 6 (1F 2C b4 00): 反向, (00 b4 2C 1F) 16 = (11807775) 10 表示扩展分区共有11807775个扇区。通过上面得到的起点和分区的大小, 可以推导出扩展分区的结束位置:8193150 + 11807775 = 20000925号扇区,即(1244 柱面,254磁头,63扇区)。

二.查找D盘分区表 根据上面的信息,第二个分区表,也即D盘分区表在(510柱面,0磁头,1扇区)处。读取该扇区,得到分区表如下:

[00 01 41 FE 0b FE FF 7b 3F 00 00 00 bF A3 5D 00 ] [00 00 C1 7C 05 FE FF FF FE A3 5D 00 21 88 56 00 ] [00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ] [00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ] 第一项: (00)(01 41 FE)(0b)(FE FF 7b)(3F 00 00 00 )(bF A3 5D 00) 描述的是D盘的情况。 1(00):表示D盘不是活动分区。 2(01 41 FE): (01) 16 = (1) 10 (41) 16 = (0100 0001) 2 (FE) 16 = (1111 1110) 2 磁头号:(1) 10; 扇区号:(00 0001) 2 = (1) 10 柱面号:(01 1111 1110) 2 = (510) 10; 故D盘开始扇区为(510柱面,1磁头,1扇区)。 3(0b):表示D盘的文件系统为FAT32。 4.(FE FF 7b): (FE) 16 = (254) 10 。 (FF) 16 = (1111 1111) 2 (7b) 16 = (0111 1011) 2 磁头号:(254) 10; 扇区号:(11 1111) 2 = (63) 10 柱面号:(11 0111 1011) 2 = (891) 10 故D盘结束扇区为(891柱面,254磁头,63扇区)。 5(3F 00 00 00): 反向,(00 00 00 3F)16 = (63)10,为D盘起始逻辑扇区号(510柱面,1磁头,1扇区)与扩展分区起始逻辑扇区号 (510柱面,0磁头,1扇区)之差。表示D盘前面已有63个扇区,这63个扇区为系统隐藏扇区。 6 (bF A3 5D 00): 反向,(00 5D A3 bF) 16 = (6136767) 10。表明D盘有6136767个扇区。 通过上面得到的起点和分区的大小,可以推导出D盘的结束位置:8193150 + 63 + 6136767 = 14329980号扇区。 即(891柱面,254磁头,63扇区)。与上面的正好吻合。 第二项: (00)(00 C1 7C)(05)(FE FF FF)(FE A3 5D 00)(21 88 56 00) 描述的是E盘的情况。 1 (00): 表示E盘不是活动分区。 2 (00 C1 7C): (00) 16 = (0) 10 (C1) 16 = (1100 0001) 2 (7C) 16 = (0111 1100) 2 磁头号:(0) 10 扇区号:(00 0001) 2 = (1) 10 柱面号:(11 0111 1100) 2 = (892) 10 所以E盘的起始扇区为(892柱面,0磁头,1扇区)。 3 (05): 表示E盘的在扩展分区里面。 4.(FE FF FF): (FE) 16 = (254) 10 (FF) 16 = (1111 1111) 2 (FF) 16 = (1111 1111) 2 磁头号:(254) 10 扇区号:(11 1111) 2 = (63) 10 柱面号:(11 1111 1111) 2 = (1023) 10 但这是不准确的,原因同上。 5.(FE A3 5D 00): 反向,(00 5D A3 FE) 16 = (6136830) 10 这一项非常重要,它定位了E盘分区表所在扇区。其值为E盘分区表所在扇区号 与扩展分区起始扇区号之差。所以,E盘分区表所在扇区号为: 8193150 + 6136830 = 14329980。即(892柱面,0磁头,1扇区)。 6.(21 88 56 00): 反向,(00 56 88 21) 16 = (5670945) 10表示E盘共有11807775个扇区。通过上面得到的起点和分区的大小,可以推导出E 盘的结束位置:14329980 + 5670945 = 20000925号扇区,即(1244 柱面,254磁头,63扇区)。

三.查找E盘分区表 根据上面的信息,第三个分区表,也即E盘分区表在(892柱面,0磁头,1扇区)处。读取该扇区,得到分区表如下:

[00 01 C1 7C 0b FE FF FF 3F 00 00 00 E2 87 56 00] [ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ] [00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ] [00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ] 该分区表第二项全为0,说明没有下一个分区表了。该分区表就是分区表链的最后一个节点。

第一项: (00)(01 C1 7C)(0b)(FE FF FF)(3F 00 00 00 )(E2 87 56 00) 该项与D盘分区表的第二项描述的都是E盘的情况,但它们在某些细节上又有所区别。

1(00):表示E盘不是活动分区。 2(01 C1 7C): (01) 16 = (1) 10 (C1) 16 = (1100 0001) 2 (7C) 16 = (0111 1100)

2 磁头号:(1) 10 扇区号:(00 0001) 2 = (1) 10 柱面号:(11 0111 1100) 2 = (892) 10 故E盘起始扇区为(892柱面,1磁头,1扇区)。

3(0b):表示E盘的文件系统为FAT32。

4.(FE FF FF): (FE) 16 = (254) 10 。 (FF) 16 = (1111 1111) 2 (FF) 16 = (1111 1111) 2 磁头号:(254) 10; 扇区号:(11 1111) 2 = (63) 10 柱面号:(11 1111 1111) 2 = (1023) 10 但这是不准确的,原因同上。

5(3F 00 00 00): 反向,(00 00 00 3F) 16 = (63) 10这一项与D盘分区表相应项有所不同为E盘起始逻辑 扇区号(892柱面,1磁头,1扇区)与(892柱面,0磁头,1扇区)之差。表示E盘前面已有63个扇区, 这63个扇区为系统隐藏扇区。 *** 作系统无法对这些扇区进行读写,所以可以把自己的秘密信息写在这里

6 (E2 87 56 00): 反向,(00 56 87 E2) 16 = (5670882) 10。表明E盘有5670882个扇区。而D盘分区表相应项为5670945 5670945 - 5670882 = 63 正好等于63个隐藏扇区这是因为D盘分区表描述的是(892柱面,0磁头,1扇区) 到 (1244 柱面,254磁头,63扇区) 之间的扇区数。 而E盘分区表描述的是(892柱面, 1磁头,1扇区) 到 (1244 柱面,254磁头,63扇区) 之间的扇区数。

四结束语

至此,我们已经打通了整个分区表链以后在某个链节点数据受损时,也可以根据上下节点的信息而手工定位并修复之。

修复工具可采用可读写磁盘的Winhex

一般用于中了病毒后的还原,就和新装的系统一样,但还原时必须把C盘重要文件转移到其他盘防止被还原使用还原精灵对电脑没有危害,说有危害那是以讹传讹,网吧都用还原精灵也没见过有什么危害,装了还原精灵就没必要格式化C盘了我都用了三年了,一点问题都没有,省了很多重装系统的时间

以上就是关于急急急!!分区表出问题,但在XP下又能正常进入分区,请问这该如何解决全部的内容,包括:急急急!!分区表出问题,但在XP下又能正常进入分区,请问这该如何解决、硬盘DBR的BPB参数的16H、17H如何定位这里,在WINHEX里面使用。、恢复误ghost硬盘的方法等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/10071796.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-04
下一篇 2023-05-04

发表评论

登录后才能评论

评论列表(0条)

保存