有时候,由于操作不当将U盘或者移动硬盘插入到电脑的时候会变成RAW格式,不可读取,这样的话就杯具了,只能用恢复软件试试看。
但是,如果一开始进行了备份的话,处理起来就简单多了。
用winhex打开U盘,可以看到第一个扇区(512Byte)的情况:
如图所示:0x00-0x1BD为MBR的内容,这里不需要关注。
这里主要关注的是0x01BE-0x1FD的内容。
0x1FD的两个字节是分区结束标志(55AA)
分区表有16*4 = 64Byte,每一个分区占16个byte,一共有4个分区,其中,最多有4个主分区。
由于一般U盘只分一个分区,所以这里只关注一个。
可以看到,8020开始的就是第一个分区了。
下面是分区表的说明:
以这里的分区为例,
802021000CFEFFFF000800000038DD01
这一串是这个U盘的分区表数值。
下面把它拆开来:
80 202100 0C FEFFFF 00080000 0038DD01
80 | 活动分区 |
202100 | 起始CHS |
0C | FAT32 |
FEFFFF | 结束CHS |
00080000 | 已用扇区数 |
0038DD01 | 此分区总扇区数 |
下面来打开diskgenius来参照下吧:
因为格式还没搞清楚,下面先分析到这里。
下面来看怎么备份恢复分区表。
现在先在U盘里面新建一个记事本吧:
然后备份分区表,这里为了方便,把整个MBR一起备份,也就是第一个扇区被备份了:
先选中第一个扇区的内容,
选择编辑->复制选块->至新文件
然后就保存成功了。
接下来进行破坏吧。
点击确定后保存。这样就破坏完成了。接下来重新插拔U盘。
可以看到它已经完蛋了:
接下来恢复吧:
在已经打开的备份文件上点击右键->编辑->复制选快->正常
然后数据就在剪切板里面了。
在需要恢复的U盘第一扇区的0字节上点击右键->编辑->剪切板数据->写入,然后点击保存就ok了。
接下来重新插拔U盘,发现数据已经回来了:
目前还有可能的一种办法是根据文件系统大小来计算分区表的数据,这样就算没有备份分区表也可以搞定它了。
目前还没有搞清楚里面的计算方法。