当前位置: 技术问答>linux和unix
FAT32文件系统中如果0号物理扇区或者根目录扇区坏掉,怎么处理?
来源: 互联网 发布时间:2017-04-28
本文导语: 最近在学习文FAT32文件系统有一些小问题想和大家讨论一下。 首先上一张FAT32文件系统的解释说明图片: 问题1:在存储文件中,如果发现某个簇(或者扇区)不能用,在FAT表中会有相应的置位,这样可以选择其他可...
最近在学习文FAT32文件系统有一些小问题想和大家讨论一下。
首先上一张FAT32文件系统的解释说明图片:
问题1:在存储文件中,如果发现某个簇(或者扇区)不能用,在FAT表中会有相应的置位,这样可以选择其他可用扇区。但如果0号物理扇区坏掉了,能不能将MBR放到其他可用扇区呢?还是说本身这个0号扇区本身就是一个概念,任何一个可用的扇区都可以作为0号扇区存放MBR呢?
问题2:假如MBR,DBR,FAT1,FAT2,信息完整,并且正确。接下来应该存储的根目录区,这个区应该根目录所在簇的开始,假如这个分区或者簇是可用的,那么根目录的扇区号可以这样计算:FAT表扇区号+扇区表个数*每个FAT表的扇区个数。看过几个FAT32底层代码,都是这么计算的,但是,
假如紧挨着FAT1,FAT2的簇是坏了呢,不能使用了呢,根目录不是紧挨着FAT1,FAT2呢,上面的计算岂不是有错误了?
我的理解是在格式化的时候首先选择0号扇区的条件不仅要选择第一个可用的扇区,还有有一片连续的(FAT1,FAT2,后的扇区可用,不能让根目录和FAT1,FAT2隔着别的扇区)。不知道我的理解是否正确,还是手头里面的几个代码有这个漏洞。
首先上一张FAT32文件系统的解释说明图片:
问题1:在存储文件中,如果发现某个簇(或者扇区)不能用,在FAT表中会有相应的置位,这样可以选择其他可用扇区。但如果0号物理扇区坏掉了,能不能将MBR放到其他可用扇区呢?还是说本身这个0号扇区本身就是一个概念,任何一个可用的扇区都可以作为0号扇区存放MBR呢?
问题2:假如MBR,DBR,FAT1,FAT2,信息完整,并且正确。接下来应该存储的根目录区,这个区应该根目录所在簇的开始,假如这个分区或者簇是可用的,那么根目录的扇区号可以这样计算:FAT表扇区号+扇区表个数*每个FAT表的扇区个数。看过几个FAT32底层代码,都是这么计算的,但是,
假如紧挨着FAT1,FAT2的簇是坏了呢,不能使用了呢,根目录不是紧挨着FAT1,FAT2呢,上面的计算岂不是有错误了?
我的理解是在格式化的时候首先选择0号扇区的条件不仅要选择第一个可用的扇区,还有有一片连续的(FAT1,FAT2,后的扇区可用,不能让根目录和FAT1,FAT2隔着别的扇区)。不知道我的理解是否正确,还是手头里面的几个代码有这个漏洞。
|
1,当MBR坏了的时候,你的系统肯定是起不来的,你必须重装系统,这样会重新对你的NAND进行分区,并创建MBR
您可能感兴趣的文章:
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。