![WinRar 格式的存储弹性](https://linux22.com/image/1623996/WinRar%20%E6%A0%BC%E5%BC%8F%E7%9A%84%E5%AD%98%E5%82%A8%E5%BC%B9%E6%80%A7.png)
我有一个文件夹,里面有很多文件(约 10k 个小文件),总共约 50MB。这些是一些我实际上不再需要但仍想保留的“旧东西”。当我将此文件夹的父文件夹同步到某个云存储时,总是需要很长时间才能扫描此文件夹及其所有小文件并比较其更改。
我可以设置一些排除规则来不扫描该文件夹,但是这有点难看,因为我有几个包含大量编码文件的“旧”文件夹。
相反,我想创建一个几乎没有压缩(设置为“正常”甚至“快速”)和 20% 恢复信息、稳定存档以及限制对存档的更改的 WinRar 存档。
这是一个好主意吗?或者如果我的硬盘驱动器有一些损坏的扇区,这种存档是否容易出错?
谢谢
答案1
您的想法很快速,但无法直接回答,因为没有记录 rar 存档的文件格式。由于 rar 存档能够包含分层文件结构和文件元数据,因此 rar 存档本身就是一个文件系统,例如 ISO 文件。
根据其内部组织,如果它以 FATxx(文件分配表)的方式组织文件位置,则很容易受到损坏,这很容易像星球大战 I 中的反应堆战壕一样直接命中,或者更像 NTFS(单个 MFT 条目中的集群列表)。
Winrar 文档并未提及内容是否同样具有抵御损失的能力。
然后 Winrar 帮助文件指出:[... 恢复记录最多包含 524288 个恢复扇区。如果数据损坏持续地,则每个恢复扇区可以恢复 512 字节的损坏信息。在多处损坏的情况下,该值可能会更低。...]
和[...恢复记录会增加档案的大小。恢复记录的大小可大致通过以下公式确定:
{存档大小}/256 + {恢复扇区数} * 512 字节。...]
您说的是 50MB 的大小。对于当今的驱动器,其物理扇区大小为 4096 字节,无论是否模拟 512 字节,我们说的是您的文件需要 12500 个扇区的存储。您认为在您的 12500 个扇区组中发生非连续双扇区丢失的概率有多大?
为了找到答案,您可能需要按如下方式测试该案例:
- 打包你的档案
- 将文件中两个不连续的扇区(两个 4096 字节区域)清零
- 修复它
- 解开它
- 与您的来源进行比较。
请记住,文件的数据不一定存储在物理扇区的开头(例如,NTFS 文件以魔法词“FILE”开头,后跟其他信息,然后是包含文件数据的数据部分)。
2020.5.21:用括号替换“大于”和“小于”符号,因为它们隐藏了公式的内容
答案2
前面的答案包含有关 Winrar 恢复记录的过时信息。该信息仅适用于 RAR 4.x 及更早版本。RAR 5.0 有新的恢复记录。
5.00 版的更新日志指出:
“新的恢复记录不再基于 512 字节扇区,而是包含更复杂的数据结构。因此无法以扇区为单位指定其大小。对于 RAR 5.0 档案,-rr[N] 开关和 rr[N] 命令的参数始终被视为档案大小的百分比,无论是否存在 % 字符。通常,N% 恢复记录可以修复高达 N% 的连续损坏数据,并且档案大小仅增加略多于 N%。修复多个损坏的能力与 N 成正比。”
来源(向下滚动至版本 5.00): https://www.rarlab.com/rarnew.htm