FAT32分区DBR损坏了在DOS还能读吗?
有个fat32的分区,在XP下说未必格式化,但我在DOS下可以读,里面的数据也可以copy出来,但因为东西太多了,而且有中文文件名,xcopy出来太慢而且会乱如果是dbr损坏的话,直接用winhex恢复备份DBR就可以了吗?
现在怕就怕我的分区不是DBR损坏..
如果不是DBR损坏的话,是什么原因会WINDOWS说未格式化但DOS又能读出来呢?
另外:用GHOST的话,GHOST出来的分区映像文件里面也是读不出文件...
请高手指点
谢谢 问题解决了
果然就是
DBR损坏
用winhex恢复了备份dbr就OK了 请教高手:我有点不能理解的是DBR损坏,在WINDOWS下不能读取,但在DOS下能读取
谁能解释下? windowsxp 和dos读取dbr部分所要求的参数是不一样的。可能windowsxp下很关键的字段,到dos下就是毫无意义的。
下面是fat32的dbr数据结构描述:
#include <linux/types.h>
#pragma pack(1)
struct fat32_dbr{
__u8 jmp;//JMP代码
__u8 oem;//OEM
__u16 bytes_of_sector;//每扇区字节数
__u8 sectors_of_clus; //每簇扇区数
__u16 reserved_sectors;//保留扇区数,一般都是32
__u8 fat_count;//FAT个数
__u16 boot_record;//引导记录数
__u16 sectors_1;//扇区数(小于32MB),FAT32不使用
__u8 media;//介质描述符:F8
__u16 sectors_of_fat;//FAT扇区数,FAT16下使用,FAT32不使用
__u16 sectors_of_track;//每磁道扇区数
__u16 citou_count;//磁头数
__u32 sectors_before;//隐含扇区数,从0到DBR的扇区数
__u32 sectors;//本分区扇区数
__u32 sectors_of_fat32;//每个FAT扇区数
__u16 sign;//标记
__u16 version;//版本
__u32 first_dir_entry;//引导目录第一簇
__u16 fs_info;//DBR占用扇区数
__u16 bak_dbr;//备份引导扇区
__u8 reserved;//保留
__u8 bios;//BIOS设备
__u8 not_use;//未使用
__u8 expend_boot_flag;//扩展引导标志(29H)
__u32 fs_id;//卷序列号
__u8 fs_name;//卷标
__u8 fs_type;//文件系统格式
__u8 boot_code;//引导代码
__u8 end_sign;//结束标志55AA
};
只有拿到lz的dbr扇区数据做个对比才能知道到底是哪个参数坏掉了。这个得具体试。 楼上分析的精辟啊
页:
[1]