存在硬盘上的数据怎么恢复(如何恢复硬盘数据)(1)

经常见到有小伙伴在编程的群里问,误删了文件怎么去恢复?很多不明白原理的小伙伴可能就纳闷了,明明是删除的文件是怎么找回来的哪?这点先要从硬盘的储存原理说起。

硬盘存储数据最主要利用大家常见的结构体指针记录数据的信息,常见的有文件的大小,文件修改的日期,文件数据的格式等等,硬盘介质如同一块地,在这块土壤上可以种植各种庄稼,这块地会专门有个小空间统计和管理庄稼的一切信息,正常的情况下,删除一个文件,只是在小空间里面设置个标记,这块地庄稼已经被收购了,对外已经不能再卖了。事实上庄稼还在地里涨的好好的。明白这个这个道理,其实也就不难理解为什么硬盘的数据已经被删除了,为什么还能通过一些软件恢复以前的数据,根本的原因还是数据还在,只是对于宣称数据已经被删除了。

存在硬盘上的数据怎么恢复(如何恢复硬盘数据)(2)

恢复硬盘数据的原理就是直接在对应的结构体指针里面读取数据的信息,根据读到的数据信息进一步还原之前的索引,如果在文件删除之后,在原来的位置上写入新的数据,那么数据就无法恢复了,因为数据现场已经遭到破坏,不具备数据恢复的线索了,如同已经在以前的庄稼地里面种上新的农作物,以前的已经被覆盖,无法找到现场。道理就是这么简单,其实数据恢复和普通的软件开发没什么打的区别,就是在已有的数据结构基础上进行数据还原。那么为什么有的硬盘容易恢复,有的就很难?

细心的小伙伴可能注意到常见的文件系统格式很多fat32,ntfs,ext4等等,不同的文件系统对数据记录的信息详尽程度也不尽想同,早期的fat32文件系统由于不支持超过4G的大数据块,再恢复的时候难度大很多,甚至直接恢复不了,相比起来NTFS文件系统恢复起来就好很多,从侧面更加说明了NTFS文件系统更加具备安全性。所以有些数据删除了,在某些情况下是再也恢复不了的。

存在硬盘上的数据怎么恢复(如何恢复硬盘数据)(3)

恢复数据这么容易,在这提醒大家一个小细节,大家在处理不用的手机不要因为直接删除或者格式化就能把里面的数据全部删除了,其实真正彻底删除一个硬盘的数据,起码要半天。常见的删除和格式化是无法彻底消灭操作痕迹的。了解常见的软件的内部原理对于学习编程或者在日常生活都有极好的借鉴意义。

如果对编程感兴趣,想了解更多的编程知识,解决编程问题,以及入门指导,帮你解决编程中遇到的困惑,我们这里有java高手,C /C高手,windows/Linux高手,android高手,请大家关注程序员互动联盟或者coder_online,关注后输入关键字 zx获取编程自学手册

本文属原创,禁止转载,谢谢

,