我正在使用 USB-C 电缆将音乐从我的电脑复制到手机,由于愚蠢的原因,复制过程失败了。(简而言之,新手机需要在篝火旁跳舞才能进行文件传输)。前 4 首歌曲复制良好,第 5 首歌曲 - 过程失败,必须重新开始。这启发了我提出这个问题。
所以只是出于好奇 - 是否有任何现实的(意思是,比在温暖的日子里赢得彩票更大,满月)我电脑上的原始文件可能会因为复制过程因任何原因失败而损坏?额外的问题,如果我要移动文件而不是复制会发生什么?
编辑:(如果您对电缆情况不感兴趣,请随意跳过)
很多人提到复制的情况,所以这就是发生的事情。新手机默认配备 USB-C 数据线。我尝试将它与我的 USB-C 笔记本电脑端口一起使用。手机随机断开,通常在几秒钟后,所以我什至无法浏览文件,更不用说复制它们了。在玩了它之后,连接持续了足够长的时间让我感到足够安全,所以我开始将音乐从笔记本电脑复制到手机。几首歌后它失败了,因此我的问题)
经过对其他设备和适配器的多次测试,结果是这样的。手机的 usb-c 端口工作得非常好(使用不同的电缆充电,并使用带适配器的 pendrive)。笔记本电脑的 usb-c 端口工作得很好(用相同的适配器尝试了相同的 pendrive)电缆也工作得很好(它可以毫无问题地为手机充电,并且在修复之后,它还可以传输文件)。所以...
修复:
这款新手机在插入计算机时会显示以下默认设置(如果我的翻译不完美,请原谅我): 控制设备:此手机(另一个选项是连接的设备) USB 模式:移动文件 - 自动 android(其他选项是:仅充电,USB路由器,移动图片和其他东西)原来我需要做的是将模式切换到其他东西(我使用“移动图片”),然后返回“移动文件”。这意味着“默认选项”不是真正的“默认”?
从那时起,我可以轻松地来回移动图片、音乐甚至电影。我什至想提出一个问题,这样的事情怎么可能发生,但我必须等待 40 分钟。
任何机会?是的,但是你更有可能在被鲨鱼咬伤时被闪电击中......理论上它可能会发生,但可能性很低,实际上不可能,因为原始文件只被读取而不是写入。这并不意味着在复制过程中,其他一些事情不会损坏文件,例如硬盘、RAM 故障或被另一个进程读取/写入。
移动文件时,首先发生复制过程,然后当认为复制成功时,将删除原始文件。它不会复制文件的 12%,失败,然后删除原始文件的 12%。这样做更有可能发生腐败,但不会更多。
老实说,我会研究TeraCopy或类似的实用程序......它是 Window 复制实用程序的替代品,它具有在复制过程后验证目标文件的附加功能。
编辑:为清楚起见添加了正在更新的问题。
复制过程根据应用程序略有不同,但它本质上是以不同大小的块读入 RAM,然后以块的形式写入目标文件,直到该过程完成。“块”的大小因应用程序、文件大小、可用 RAM 等而异。在移动过程中,它也因应用程序而异,但大多数将部分/失败的文件留在目标位置,但保持源文件不变。请注意,当文件在同一分区内移动时,大多数现代操作系统都足够智能,只需更新其“位置”元数据,而不是实际移动数据。与实际的复制/删除过程相比,此方法可以明显更快、更可靠。
我计算机上的原始文件是否有可能损坏
文件随时可能损坏的可能性很小(不仅仅是在复制时)。
为了降低风险,您可以执行以下操作,例如确保您使用的是 ECC 内存并在复制之前和之后执行校验和(或对两个副本进行完整的按位比较)。
这里有一个有趣的讨论,统计数据 - 宇宙射线:它们影响程序的概率是多少?- Stack Overflow,其中的答案讨论了随机损坏的可能性以及可以采取哪些措施来防止它。
软错误 - 维基百科也值得一读。
原始文件被损坏的机会,就像任何其他读取操作会损坏文件一样,都是无限小的。大多数文件损坏发生在写入过程中,通常与电源或硬件问题相结合。移动也是一样,实际上是一个复制检查删除过程。
就您而言,正如其他答案已经指出的那样,机会应该非常低。但是,它在很大程度上取决于所使用的媒体和媒体的状态。这些是发生在我或我的客户身上的案例(或者至少我相信是这样的):
CD、DVD 和类似媒体:如果您需要将磁盘放入磁盘驱动器,可能会因放置不正确而损坏,但仍会滑入。您可能可以复制一些文件,但随着磁盘旋转, 力将它拉开,磁盘破裂
USB 记忆棒:在风扇附近插入时,热空气会加热 USB 记忆棒。复制时可能会因为过热而死机。
已经损坏的硬盘:在尝试从驱动器中抢救数据时,具有错误 SMART 数据或发出不寻常噪音的硬盘可能会完全损坏。
旧闪存介质:由于操作系统可能想要更新文件的 MAC 时间戳(尤其是用于访问的 A),因此它需要写入磁盘。如果那个写操作导致一个块失败,事情就会变得有趣。
除此之外,恕我直言,写入时的数据丢失更为常见。通常是突然断电或人们以强制方式关闭 PC。
恕我直言,是的。我是一家单人公司(22 年),所以我没有太多客户,但我仍然可以举出 4 个案例。绝对比彩票更高的机会。或者我所有的客户都完全“幸运”。
机会稍高一些,因为删除文件会导致写入操作。
另一种可能性:在 ext[234] 中,如果挂载文件系统时启用了 atime 选项,则inode(而不是文件)可能会损坏。也许在 NTFS 中会发生类似的事情。
通常,复制不会损害原始文件。
由于传输错误、电缆上的文件、生成的设备、RAM 错误等,生成的文件可能会损坏。
但是,即使当您将源文件读入内存时,它也会损坏(是的,这可能会每次都损坏您的传输),它也不应该触及原始文件(它不需要将已经存在的内容写回磁盘那里)。
Thomas提出了一个很好的观点,即在读取文件时您可能会更改其访问时间元数据,这可能会导致损坏(恕我直言,这不太可能,并且可能会影响与正在读取的文件不同的文件)
数据可能更可能已经损坏,并且只有在您尝试读取它时才会注意到(这也会导致复制错误)。
与移动数据相比,复制到不同的设备,过程将是复制+删除。在处理多个文件时,这里有两种方法:程序可以复制所有文件,然后删除源文件,或者它可以按原样复制和删除每个文件(甚至每个文件夹!)。如果仅在最后一步删除文件,则不会丢失数据。另一方面,如果文件是单独移动的,您实际上不会损坏文件,但最终会在每个设备上只保留一些文件。
在同一分区上移动文件时,您实际上会将指向文件数据的指针从一个位置(文件路径)更改为另一个位置,因此文件内容也不应该被损坏(当然,如果该指针本身被损坏,这将是非常糟糕的,尽管某些字节损坏的风险很小)。
PS:来回更改模式可能是重置模式,这让我认为它在连接时没有正确重置。这可能会在未来通过固件升级来解决。与此同时,您可能希望将不同的模式设置为默认模式,因此您只需进行一次切换。