Re: [问题] 怎么知道坏轨坏在哪个档案上?或坏档

楼主: bearq258 (bearQ)   2014-09-19 11:34:34
※ 引述《oidioi11 (平静)》之铭言?
请问几个问题,
: 平常怎么知道坏轨坏在哪个档案上?
: 或者是,不一定是坏轨,怎么知道哪个档案已经坏掉了?和原来不一样了?
: 如果有大量档案,通常用什么软件检查呢?
: 还是说,这种也是备份的时候才可以知道?
: 可是有看过文章,有人备份三四地,但都是已经坏掉的档,备了好几份,这样很心酸吧
: 请问普通的因应法是什么?谢谢了
→ KawasumiMai : 这种情况复制不出来,因为读取会有错误 09/18 23:37
→ KawasumiMai : 能够读取出来但档案不连续的是档案毁损,可能是下载 09/18 23:38
→ KawasumiMai : 或解压不完全,用马路来比喻就是马路上一块白漆跟 09/18 23:38
→ KawasumiMai : 一个坑洞的差别,后者才是坏轨 09/18 23:38
→ KawasumiMai : 通常防止坏档就是检查MD5或CRC之类的东西,但假设中 09/18 23:39
→ KawasumiMai : 毒之类的也是修改档案,并且可能被同步到两三地去 09/18 23:40
→ KawasumiMai : 这应该是无解的事 09/18 23:40
→ KawasumiMai : 要检查的话会需要原始状态的CRC,因为修改过计算出 09/18 23:40
→ KawasumiMai : 的CRC和原本的不会一样 09/18 23:40
其实这个部分算是计算机概论的范围,有兴趣可以翻阅相关书籍
PC工作原理中有分为 硬件、BIOS、OS 三个领域。
OS部分是消费者一般使用只能档案读取与搬动、检查档案等
BIOS管理 就是对硬件面的控制。
硬件面属与厂商设计FW部分
先解释档案读取会经过哪些动作
1.传送档案名称与资料夹位置给OS,
2.OS 换找出档案所在的磁区与长度.
3.硬件 读取相对应的轨道磁区与长度
所谓CRC/ECC处理是在读取才会发生计算的动作
处理是在读取才会发生计算的动作 ,OS会控制BIOS 读取相对应的轨道,
举例软碟读取第一面第五轨第3个磁区为512BYTEs ,
BIOS、OS控制 FD软驱读取相对应轨道但实际读取会读到 address+512bytes+ECC+end
http://en.wikipedia.org/wiki/Advanced_Format#mediaviewer/File:Afdia1.jpg
BIOS会进行计算CRC的行为。并回报该磁区是否可正常读出资料正确的交握。
如果读取失败BIOS会下令重读retry
但是这个动作只有在软碟,
IDE与SATA 硬盘时代就不需CRC BIOS管理只管理资料交握,只会传回读取失败与成功的指
令。
这样CPU不需要花时间进行计算CRC的行为
ATA IDE硬盘时代硬盘有自己的SMART管理机制,会自己解决坏轨与缺陷管理。主机
板的BIOS只要给予命令即可。
硬盘自己有CPU+RAM不需要额外的计算辅助。
http://en.wikipedia.org/wiki/Advanced_Format#512e
硬盘的资料为了避免坏轨产生资料破坏,
作法改成资料放置的方式
A 512 byte B 512 byte 产生一个C XOR 运算
万一A 或B 或C 任何一个磁区有故障,只要能得到 任何两个区 就可修补回来
这个就是厂商资料保护技术,避免硬盘产生坏轨导致资料受损,当然资料有问题是会进行
retry 动作
所以某些老化硬盘的动作效率慢就是在重新计算读取动作会测试达256次或512次。
导致时间延迟
但是每一个厂商在后面资料校正与保护方式都会进行专利保护与优化作业
所以企业级与普通级硬盘的盘片数量与密度都不同。
这里提供以上的观念让大家分享。
有兴趣者可以研究BIOS INT13 的功能

Links booklink

Contact Us: admin [ a t ] ucptt.com