为什么照片在PC硬盘上损坏?


13

我不是专业摄影师,但是我非常重视我的照片。有时,当我在服用它们几个月或几年后仔细检查它们时,其中一些只是出于没有明显原因的腐败现象出现。我经常遇到诸如灰色区域,从某个点开始甚至从根本上无法显示的照片改变颜色之类的东西。我在PC上同时使用Windows和Linux OS。

为什么会发生这种情况,最重要的是,如何避免这种情况发生?


这些是照片吗?即,照片用来好看,而你没有走动在磁盘上之后?还是它们是您最近转储到磁盘上的照片,只是发现它们现在已损坏?
user541686 '16

4
我投票结束这个问题是离题的,因为它与一般的IT管理和硬件/软件故障有关。适用于照片文件的原则也适用于任何其他文档,视频或应用程序。
詹姆斯·斯内尔

3
已经在这里回答了。
JDługosz

如何避免:在保存照片的文件服务器上使用ZFS。
JDługosz

Answers:


17

有两个主要原因。首先是数据降级。随着时间的流逝,存储在磁性介质(例如硬盘)上的钻头可能会失去磁定向,从而损坏钻头。在更恶劣的条件下(高温高湿),物理介质本身可能开始降解。对于固态介质(例如SSD),其机制不同,但结果相似。

更常见的情况是静默数据损坏,从而在写入或读取数据期间发生错误。尽管前一个链接上的图像是一个极端的示例,但通常单个翻转位会损坏图像。

对于这些问题,有两种解决方案,并且假定您轮换备份,仅备份是无济于事的。更复杂和技术性的方法是使用具有内置数据完整性机制(例如ZFS或btrfs)的文件系统,而更简单的方法是为备份之间的每个文件计算哈希以检测任何更改。


在* nix系统上为ZFS或Btrfs,在Windows上为ReFS。
CVn

7
不是摄影师,而是数据完整性极客。不得不加入这个社区只是为了支持这个答案。虽然我已经在写评论了,但是我可以更进一步地谈谈“一个翻转的位会破坏图像”。这是因为JPEG和其他格式通过设计消除了尽可能多的冗余,这就是它们的重点。如果您可以翻转一下并且仍然可以识别图像,那么(大致)就不值得存储该位。因此,未压缩的格式可以更有弹性,并且可以更优雅地降级。可能不值得在大小上多加1000%的罚款。
配管

1
@pipe Probably not worth the extra 1000% penalty in size...我说的恰恰相反-拍摄RAW,存储RAW,备份RAW。您保留底片,而不是印刷品。
J ...

1
@J ...请注意,您的RAW格式未使用无损算法压缩,那么您仍然遇到类似的问题。最好的选择是遵循我们正在评论的答案中的建议。保留RAW文件当然还有其他好处。:)
管道

1
继续进行压缩,并使用par2添加有用的冗余。
JDługosz

17

我不会太担心这种情况的发生,因为硬盘发生故障。就像这个世界上的其他任何东西一样,它们也不是完美的。您无法进入永不丢失文件的状态。

但是,您可以进入永不丢失照片的状态 -通过在单独的硬盘驱动器上具有多个副本(包括在单独的物理位置中至少包含一个副本)来做到这一点。这样就不会出现磁盘故障的问题,因为您可以从另一个位置获取照片。


我想知道是否有一个程序可以自动检查图像文件的完整性。可能不是-我想损坏的JPEG可能仍然是有效的JPEG。
osullic '16

5
正如在其他地方的评论所评论的那样,不必担心尝试解决它们是否损坏的情况,而不必担心所做的任何更改。
菲利普·肯德尔

如果照片一瞬间损坏,变得无法使用,为什么常规文件不会出现这种情况?我想,如果像照片那样发生这种情况,操作系统可能会随机失败,各种文档将随机变得不可读...但是到目前为止我还没有看到。
Petru Dimitriu

@PetruDimitriu图片和视频占用大量空间,如果发生一点翻转,并且90%的硬盘驱动器包含图片,则该位有90%的机会出现在图片中,而不是其他任何文件中。如果您不走运,而该位恰好位于重要系统文件的重要部分(而非自述文件)中,则计算机可能会在某个时候崩溃,并且您将不知道为什么。
詹斯

2

为何会发生这种情况的答案取决于驱动器的类型,文件的类型,文件系统和所使用的操作系统,因此无法给出此问题的完整答案。

但是,关于如何避免这种情况,另一个答案涉及到备份-但是,对于像这样的文件损坏,您需要一种方法来识别文件的特定副本何时已损坏,并避免将其复制到备份中。以文件的2个损坏的副本结尾很容易。技术上的答案是使用校验和并将它们进行比较以识别损坏的文件。

如今,避免这种情况的最佳方法是使用在线存储服务,该服务将为您处理所有冗余和文件完整性。


“使用在线存储服务,它将为您处理所有冗余和文件完整性。” ...,并且他们的客户端会自动检测到对照片的本地副本所做的更改,并上传已损坏的新版本。云存储不能替代良好的备份策略以及某种实际检测损坏的方式。比较完整的备份系统需要什么?
CVn

@MichaelKjörling使用在线存储作为数据的辅助从属副本将具有此效果,但是将主副本存储在不易损坏的存储中。通常,总是从更可靠的存储同步到较不可靠的存储。
哈里·哈里森

1
@MichaelKjörling their client automatically detects the change to the local copy of the photo and uploads the new version, which is corrupted. 实际上,这很有趣,因为除非损坏发生在软件层中,否则除非重新编写文件,否则客户端实际上将无法检测到损坏。
迈克尔

2
@HarryHarrison我不同意。我不想仅仅因为我的NAS更可靠而自动将其从NAS同步到本地硬盘-仍然有可能是NAS被破坏了,而不是本地硬盘(或者实际上更有可能,我用手指指了一下,然后自己弄乱了NAS上的文件)。此处需要手动干预-除非您是美联社,否则它不应该那么普遍。
菲利普·肯德尔

1
没有人拥有完好的存储空间。甚至S3也只是12个9。
菲利普·肯德尔

1

照片文件在这方面并不特殊,计算机上的任何文件都可能损坏。JPEG比其他许多文件类型更可能以明显的方式显示损坏,因此您可能会注意到更多(请参阅@pipe关于@alldayremix答案的评论)。

文件可能会以多种方式损坏,(非SSD)硬盘驱动器可能离磁铁太近,CD和DVD可能会逐渐腐烂,电气干扰以及固件或软件中的错误可能会损坏传输中的文件。也有其他原因,但是我建议您在与计算机相关的更多堆栈上询问是否要详细介绍。

关于可以做什么,我能想到的最佳答案是计算哈希并保留照片的多个副本。为此,我编写了一个免费的开源程序自己为解决这个问题:Archiverify

它通过计算哈希值,将哈希值存储在图像旁边以及在运行它们时将文件与哈希值进行比较来工作。只要您拥有一个以上的文件副本,它就可以自动从正常副本中刷新损坏的副本(假设两个副本都不会立即损坏)。

另外,我确定有可用的付费存储/备份服务,这些服务将在后台进行哈希处理并定期为您检查。


1
从理论上讲,这种答案很好,但是您可能值得阅读如何不成为垃圾邮件发送者(忽略轻微的煽动性标题,我认为单个SE社区对此没有任何控制权)。但是...这篇文章实际上并没有回答所问的问题(“为什么照片损坏了?”),因此有可能由于这个原因被删除。
菲利普·肯德尔

谢谢,没错,它没有回答标题问题,我会尽力解决。它确实回答了“最重要的”辅助问题。
丹丹

@scottbb答案已经显著,因为我张贴评论编辑。请查看编辑历史记录。
菲利普·肯德尔

@PhilipKendall,我很抱歉,我没有注意到历史。
scottbb '16

0

如上所述,有多个原因。随着时间的流逝,它可能只是自然磨损而损坏了文件的一部分或物理性能下降。如果您不断发现照片和其他文件严重损坏,则可能是计算机病毒的迹象。如果您不希望前两种方式损坏文件,请投资SSD,因为它的降级速度不会快,而且会快10倍。(您可能也想进行快速病毒扫描。)


0

为什么会发生这种情况,最重要的是,如何避免这种情况发生?

您应该在Security.SE上问这个问题。

为了避免损坏,您应该进行备份

在信息技术中,备份或备份过程是指计算机数据的复制和归档,因此可用于在发生数据丢失事件后恢复原始数据。动词形式是用两个词备份,而名词是备用词。

诸如CD-R和DVD-R之类的可写数字光学介质甚至可能被阳光损坏。为避免这种情况,您可以使用双重备份策略。但是,如今,我们拥有如此精美的在线方法来备份照片,例如Instagram或其他在线服务。例如,在Google云端硬盘后面有大量数据中心。您的每张照片都会存储在这些数据中心托管的服务器上的Google文件系统(GoogleFS或GFS)上。该文件系统是Google设计的,目的是防止用户丢失数据。您的照片将保存在三个不同地理位置的三个示例中,以防止由于闪电,海啸,地震等当地灾害而造成的数据丢失。

尝试同时使用多个在线服务(例如megaupload,dropbox,wuala,4shared等)。

此后,为了最大程度地放心,您的照片都没有被修改或损坏,您将使用校验和来验证数据的完整性。

校验和是来自数字数据块的小尺寸数据,目的是检测可能在其传输或存储过程中引入的错误。

最好的方法是将加密技术用于此类任务。使用最新的稳定哈希函数,例如SHA-256或SHA-512。较旧的算法,例如MD5,现在被认为是不安全的。现代攻击者可能使用相同的md5sum来伪造您的数据。

完成后,您将拥有一个分布式备份系统,即使最复杂,最专心的攻击者(例如由国家支持的攻击)也不会轻易损坏。

  • 内含相同数据的两个DVD副本:

       1. Photo1.jpg
       2. Photo2.jpg
       3. Photo3.jpg
     ...
     999. Photo999.jpg
    1000. SHA256SUM
    

    此SHA256SUM应包含以下内容:

    e5347dce99eb8cf694cf708d4a17d83abb3ec378241b5878c0abdab045859b24  Photo1.jpg
    b497a12b608def869a0429d7e6bbbd112bd413256201647a5aff6773de3b7bd9  Photo2.jpg
    b15b0d99bf8135286f444fc62bcf70278a89e60650252ab2bd3b6fffd40c4255  Photo3.jpg
    ...
    209732fbdb499f0cad6fd3311b45185667bbb40e501106997d3ac2c49cb30a7e  Photo999.jpg
    

    线条209732fbdb499f0cad6fd3...是照片的独特哈希。当您的一张照片损坏时,此哈希将更改为另一张照片,因此您可以针对此列表测试哈希值,以使您的照片保持完整性。

  • 其次,所有这些照片和此SHA256SUM哈希文件都将上传到例如保管箱和其他地方。

现在,您有5张照片副本。当前硬盘驱动器上的2个脱机,2个在线,1个。

当然,该方案可能会演变为更可靠的方案。你的想象力就是你的王牌。


-1

我不能排除旧相机和最新图像查看器之间的jpeg标准有所不同,因此照片看起来只是损坏了。有时,软件仅符合标准的初步版本。尝试使用较旧的查看器(在旧计算机上)。


1
我可以排除。JPEG标准的最新更新是在2012年。真正的根本更新是1990年代。确实没有任何状态可能是“照片看起来只损坏了”。(我的意思是,这听起来似乎很合理,但与实际历史记录不符。)
请阅读“我的个人资料”,
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.