电脑硬盘文件数据误删除/格式化为什么可以恢复? 怎么恢复?谈谈文件删除与恢复背后的原理


Hello 大家好, 我是元存储~
主页:元存储的博客_CSDN博客
1. 硬盘数据丢失场景
我们在每天办公还是记录数据的时候,文件存储大多数都是通过硬盘进行存储的,因此,使用多了,各种问题就会出现,比如硬盘被格式化,数据损坏了等。
造成硬盘数据丢失的场景有:
- 误删除、格式化硬盘
- 意外蓝屏断电
- 硬盘中病毒
- 固态硬盘恢复(这听起来奇怪, 恢复操作可能造成二次伤害)
- 硬盘故障,无法识别
- 恢复出厂设置
- 分区恢复
- 其他原因
2. 硬盘数据丢失可以恢复吗?
看情况
还是以上面几种情况来说
- 误删除、格式化硬盘
- 意外蓝屏断电
- 硬盘中病毒
- 固态硬盘恢复(这听起来奇怪, 恢复操作可能造成二次伤害)
- 硬盘故障,无法识别
- 恢复出厂设置
- 分区恢复
- 其他原因
| 机械硬盘 | 固态硬盘 | |
| 误删除、格式化硬盘 | 可以 | 可以 |
| 意外蓝屏断电 | 不可以 | 不可以 |
| 硬盘中病毒 | 可以 | 可以 |
| 固态硬盘恢复 | 或许可以 | 或许可以 |
| 硬盘故障,无法识别 | 可以 | 不可以 |
| 恢复出厂设置 | 可以 | 可以 |
| 分区恢复 | 可以 | 可以 |
| 其他原因 | 或许可以 | 或许可以 |
那么数据能不能在误删除、格式化之后恢复?是可以的。 误删文件和格式化差不多, 误删文件是删除一个文件,格式化等于是删掉所有文件。如果硬盘被快速格式化了,而且格式化之后也没有将大量数据存储到硬盘上,是可以恢复的。常规的格式化操作只需要几秒钟,而该过程会重新建立文件系统,将硬盘空间标记为“空闲”,以便它们能够被重新利用来存储数据。
| 所以数据丢失之后,第一时间先不要向里面读取和输入新得文件,避免原有得数据被覆盖掉。 |
|---|
其实,原来删除文件、格式化硬盘上的数据并没有立刻从硬盘上抹去,所有在存入新的数据被覆盖之前,丢失的文件是可以恢复的。下面看看被格式化后的硬盘该如何恢复。
而误删除文件就更简单了,只是个别文件,
3. 数据丢失怎么恢复?
格式化只是文件系统把文件系统对文件的指引抹除了,文件并没有被抹去。
老师把学生名册弄丢了,就查不到学生了。学生还没有丢,还都在教师里。老师只要去教室里,挨个把学生名字登记下, 就可以建立学生名册了。
误删文件恢复也是这个道理,在硬盘里找到各个文件, 再把文件系统的指引建立起来,听起来很复杂, 但只要有文件系统基础的业内人员, 这个真的不是很复杂的事情。要说麻烦吧就是人工恢复的化要花一些时间去找文件,再手动改指引。
文件恢复,就是去硬盘里再把所有文件扫出来, 找到你想恢复的文件,再把它的指引建立起来,从而恢复出来文件。
工欲善其事必先利其器,有了工具就省时省力,还不容易犯错。固态硬盘被格式化后,应第一时间借助专业的数据恢复工具进行数据恢复操作,避免格式化后误删除的数据被覆盖。
可以恢复固态硬盘丢失数据工具:
3.1 第一款、嗨格式数据恢复大师
嗨格式数据恢复大师支持多种设备数据恢复,支持误删文件恢复,、回收站清空文件恢复、U盘/硬盘/SD卡/储存卡等各类存储设备数据恢复。同时支持预览恢复数据,还可以进行快速扫描,深度扫描恢复,操作简单,专业靠谱,恢复率高达99.9%。
软件优势:
(1)、数据快速扫描,
可预览搜索查找更精准恢复
一键快速扫描数据,
(2)、扫描后可预览搜索查找数据,
更加方便准确恢复。
3.2 第二款、360安全卫士
360文件恢复电脑免费版是在360安全卫士里的一个组件,可以帮助您快速从硬盘、U盘、SD卡等磁盘设备中恢复被误删除的文件,如果有些文件删除的比较早了,或者是刚从回收站删除没多久的,那么可以尝试使用文件恢复来恢复需要找回的文件,虽然并不是所有文件都能找回的,但是大部分都还是有希望的。
3.3 第三款、Coolmuster Data Recovery
可以完全恢复文档、电子邮件、照片、视频、音频文件等电脑数据,4种不同的恢复模式帮助你解决文件误删、无备份的尴尬。除了内部电脑硬盘,数据恢复软件还支持从记忆卡中恢复过来,USB闪存驱动器,MP3 / MP4播放器和其他可移动存储设备。
4. 哪些存储器数据可以恢复



图片来源 EaseUS
5. 怎么避免隐私数据被恢复?
您可能赠送计算机、U盘给朋友,?或者卖给回收旧电脑,旧手机的商家。 但有的小隐私又不想让他人看到? 怎么办???
您可能会删除个人文件和信息,或者格式化了整个硬盘,或者可能已经重新安装或重置了Windows,从而擦除了您的私人数据。
首先您的隐私安全意识很强,但这还不够。无论哪种方式,您都还没有完成。与您的老朋友告别之前,您应该采取一项重要的措施。那就把硬盘真真正正擦干净了。
简单地删除文件并不能解决问题,因为可以从回收站中还原它们。即使清空垃圾箱,通常也可以使用数据恢复软件(如上文介绍的)恢复已删除的文件。
上门回收旧电脑,旧手机二十块钱,三十块钱,或者换锅碗瓢盆十几年的老东西还能用吗?也许人家看中的不是你的东西,二十你的数据?-- 害人之心不可有
-- 防人之心不可无
What?我就是想格式化,把一些隐私照片或文件删除, 永远永远不想让别人看见。你现在告诉我这样还是删不掉, 怎么办? 怎么办?

陈老师的悲剧大家肯定不想发生在自己身上吧。
为什么HDD 和 SSD 恢复数据有区别?
机械硬盘(HDD)和固态硬盘(SSD)在数据写入上有很大的区别。在SSD上数据写入不能覆盖,所以想要恢复已经删除的数据非常困难。而在HDD上数据写入是可以覆盖的,所以已经删除的数据是可以恢复回来的。但是正因为这样,全球有很多用户因为弃用HDD之前没有彻底的擦除数据而导致自己的数据被他人恢复,从而个人隐私、工作文件等重要信息泄漏。
覆盖写入,重新修改一笔数据,还是在原来的位置写入,物理地址和逻辑地址一一对应,物理地址就是文件的逻辑地址,一一对应也就不用映射表。而不能覆盖写入,就是修改一笔数据,不能在原来的位置写,要在新的位置去写这笔数据,物理地址肯定变了啊,就要有ssd 内部映射表来管理映射,如果不识别盘了,ssd 跑不起来就没办法找数据了。而机械硬盘即使跑不起来,我也可以一个个按文件地址(逻辑地址)去找到数据在哪里。
ssd删除文件的时候,系统有时会下Trim命令让ssd删除ssd内部的部分映射表。这其实是个好事,是系统通知ssd这个文件无效了,它的物理空间可以回收做其他用途了。ssd映射表中映射信息的删掉的,这种文件找不回来了。但是否下trim 用户是可以在操作系统设置的。
逻辑地址相当于你的学号,物理地址是你的座位。而校长就是文件系统,校长只知道你的学号。
学号和座位的映射就是映射表。
机械硬盘就是没个人的座位号和学号一样,就不要映射表。
而固态硬盘的学号和座位不是固定绑定的,每次学生进来要重新找一个空座位,不能坐原来位置。
今天,我们来教大家一个简单的方法,利用WINDOWS系统的DOS命令写个批处理,来帮助我们快捷的格式化分区/驱动器,安全擦除数据,防止硬盘数据被恢复。[1
@echo offmode con cols=80 lines=50color 1f:CMDecho 【安全擦除硬盘数据】echo ============================================================================echo 1-----------格式化echo 2-----------填充擦除set /p CH= 请输入:if "%CH%"=="1" goto cmd1if "%CH%"=="2" goto cmd2echo ============================================================================:cmd1set /p IF= 请输入驱动器(盘符,如F:):FORMAT %IF% /Q /Ypausegoto CMD:cmd2set /p IC= 请输入驱动器(盘符,如F:):CIPHER /W:\%IC%pausegoto CMD
把以上内容复制到TXT文档里,另存为编码ANSI的.bat格式文件。点击运行即可操作。

选项1为格式化,输入驱动器号点回车,即可快速格式化。
选项2为擦除,同样输入驱动器号回车即可。CIPHER /W擦除的原理是,向空闲的空间/区域连续3次填充写入0数据,将以前存在的数据覆盖掉,从而擦除以前数据的痕迹。哪怕你的分区/驱动器里存在没有删除的文件,你也可以使用CIPHER /W,它会把空闲的区域擦除,而不影响你的文件的安全。
最后,如果你不想像陈老师那样泄漏个人隐私,那么希望你在使用HDD时一定要注意,弃用HDD之前一定要擦除数据,或者直接毁坏HDD盘片,不要误以为删除文件,格式化硬盘就万事大吉
总结
本文以硬盘分享了数据恢复的场景和恢复方法,其实很多其他存储器也是同样的道理,如记忆卡,U盘,SD 卡,移动硬盘。
参考
[1] 防止硬盘数据被恢复,教你用批处理安全擦除 - 知乎 (zhihu.com)
[2] 易我数据恢复——专业 ·安全 ·好用的数据恢复软件 (easeus.com.cn)
[3] 固态硬盘格式化可以数据恢复吗? - 知乎 (zhihu.com)
[4] 硬盘数据恢复 - 嗨格式数据恢复大师 (haigeshi.com)
相关文章:
电脑硬盘文件数据误删除/格式化为什么可以恢复? 怎么恢复?谈谈文件删除与恢复背后的原理
Hello 大家好, 我是元存储~ 主页:元存储的博客_CSDN博客 1. 硬盘数据丢失场景 我们在每天办公还是记录数据的时候,文件存储大多数都是通过硬盘进行存储的,因此,使用多了,各种问题就会出现,比如…...
Gateway服务网关
Spring Cloud Gateway为微服务架构提供一种简单有效的统一的 API 路由管理方式。Gateway网关是所有微服务的统一入口。网关的核心功能特性:请求路由和负载均衡:一切请求都必须先经过gateway,但网关不处理业务,而是根据某种规则&am…...
K8S + GitLab + Jenkins自动化发布项目实践(一)
K8S GitLab Jenkins自动化发布项目实践(一)发布流程设计安装Docker服务部署Harbor作为镜像仓库部署GitLab作为代码仓库常用Git命令发布流程设计 #mermaid-svg-pe9VmFytb9GmqMvG {font-family:"trebuchet ms",verdana,arial,sans-serif;font-…...
【数据结构篇C++实现】- 堆
文章目录🚀一、堆的原理精讲⛳(一)堆的概念⛳(二)看图识最大堆⛳(三)详解堆是用数组表示的树🚀二、堆的向下调整算法🚀三、堆的向上调整算法🚀四、将任意一棵…...
C++笔试题
作用域运算符(::)的作用:1.存在具有相同名称的局部变量时,访问全局变量。2.在类之外定义类相关函数。3.访问类的静态变量。4.在多重继承的情况下,如果两个基类中存在相同的变量名,可以使用作用域运算符来进行区分。5.限定成员函数…...
【Python】基本语法
数据类型 通过 print(type(x)) 可以输出 x 的数据类型,type() 函数可以获取数据类型 整数 a 10 print(type(a)) 浮点数 a 0.5 print(type(a)) 字符串 a hello print(type(a)) 获取字符串长度 a hello print(len(a))字符串拼接 a hello b world prin…...
用栈实现队列(图示超详解哦)
全文目录引言用栈实现队列题目介绍思路简述实现栈的部分队列的部分创建队列判断队列是否为空在队列尾入在队列头出访问队头元素释放队列总结引言 在上一篇文章中,我们了解了用两个队列实现栈。在这篇问章中将继续介绍用两个栈实现队列的OJ练习: 用栈实现…...
Spring - Spring 注解相关面试题总结
文章目录01. Spring 配置方式有几种?02. Spring 如何实现基于xml的配置方式?03. Spring 如何实现基于注解的配置?04. Spring 如何基于注解配置bean的作用范围?05. Spring Component, Controller, Repository, Service 注解有何区别…...
【数据结构】实现二叉树的基本操作
目录 1. 二叉树的基本操作 2. 具体实现 2.1 创建BinaryTree类以及简单创建一棵树 2.2 前序遍历 2.3 中序遍历 2.4 后序遍历 2.5 层序遍历 2.6 获取树中节点的个数 2.7 获取叶子节点的个数 2.8 获取第K层节点的个数 2.9 获取二叉树的高度 2.10 检测值为val的元素是否…...
代码随想录算法训练营第五十二天| ● 300.最长递增子序列 ● 674. 最长连续递增序列 ● 718. 最长重复子数组
300.最长递增子序列 看完题后的思路 dp[i] [0,i]子数组中,以nums[i]结尾的子序列的长度 dp[i]dp[j]1 j从i-1向0遍历,在所有nums[j]<nums[i]中dp[j]最大 初始化 dp[0]1 代码 class Solution {public int lengthOfLIS(int[] nums) {if (nums.length0){return 0;}int[] dpne…...
手机验证发送及其验证(基于springboot+redis)保姆级
在Java开发中,发送手机验证码时需要考虑以下几个问题: 验证码的有效期:验证码应该有一定的有效期,一般设置为几分钟或者十几分钟。过期的验证码应该被认为是无效的,不能用于验证用户身份。手机号码格式的校验…...
【JavaScript 逆向】数美滑块逆向分析
声明本文章中所有内容仅供学习交流,相关链接做了脱敏处理,若有侵权,请联系我立即删除!案例目标验证码:aHR0cHM6Ly93d3cuaXNodW1laS5jb20vbmV3L3Byb2R1Y3QvdHcvY29kZQ以上均做了脱敏处理,Base64 编码及解码方…...
多任务之线程
文章目录一、多任务是什么?二、多任务-线程四、通过继承Tread类完成创建线程五、资源竞争六、同步与互斥锁七、对峙与避免死锁一、多任务是什么? 多个函数同时执行一件事情就是多任务,没有多任务的时候任务执行都是按照顺序的,而…...
(数字图像处理MATLAB+Python)第二章数字图像处理基础-第二节:色度学基础与颜色模型
文章目录一:颜色匹配二:CIE 1931-RGB系统三:CIE 1931标准色度系统四:CIE 1976Lab均匀颜色空间五:孟塞尔表色系统(1)孟塞尔明度(Value,记为V)(2)孟塞尔彩度(Ch…...
【华为OD机试 2023最新 】 网上商城优惠活动(C++)
文章目录 题目描述输入描述输出描述备注用例题目解析C++题目描述 某网上商场举办优惠活动,发布了满减、打折、无门槛3种优惠券,分别为: 每满100元优惠10元,无使用数限制,如100199元可以使用1张减10元,200299可使用2张减20元,以此类推;92折券,1次限使用1张,如100元,…...
记一次CentOS 8 部署packstack部署OpenStack失败案例,请直接看最后
首先你需要一台安装好CentOS8 的虚拟机,相关参数如图。两块网卡,网卡1 NAT IP 192.168.100.100 GW192.168.100.2 网卡2 可不做配置。能ping通百度。创建完成虚拟机记得打好快照。 开机编辑基本配置环境变量 [rootlocalhost ~]# nmcli connection show NA…...
【2023春招】美团技术岗笔试10min+AK
随手投递了前端&移动端,笔试2道算法+选择+行测题(为什么笔试会有行测题?) 目录 T1-火车栈结构 题意 输入描述 输出描述 样例 AC_Code T2-春游...
Echarts实现图表自适应屏幕分辨率
一:简介 之前做项目的时候要实现echarts图表随浏览器窗口大小变化而改变,echarts本身提供了一个resize()方法,然后我们需要用一个函数实现浏览器窗口监听,最初我选用的是window.onresize方法,当页面只有一个图表时可以…...
【2023年第十一届泰迪杯数据挖掘挑战赛】B题:产品订单的数据分析与需求预测 建模及python代码详解 问题一
相关链接 【2023年第十一届泰迪杯数据挖掘挑战赛】B题:产品订单的数据分析与需求预测 建模及python代码详解 问题一 【2023年第十一届泰迪杯数据挖掘挑战赛】B题:产品订单的数据分析与需求预测 建模及python代码详解 问题二 1 题目 一.问题…...
【蓝桥杯嵌入式】第十三届蓝桥杯嵌入式国赛客观题以及详细题解
题1 概念题。 USRAT:异步串口通信,常用于数据传输;SW-DP:SWD 的全称应该是 The Serial Wire Debug Port (SW-DP),也就是串行调试端口,是 >ARM 目前支持的两种调试端口之一;JTAG-DP:另一个调试…...
在软件开发中正确使用MySQL日期时间类型的深度解析
在日常软件开发场景中,时间信息的存储是底层且核心的需求。从金融交易的精确记账时间、用户操作的行为日志,到供应链系统的物流节点时间戳,时间数据的准确性直接决定业务逻辑的可靠性。MySQL作为主流关系型数据库,其日期时间类型的…...
19c补丁后oracle属主变化,导致不能识别磁盘组
补丁后服务器重启,数据库再次无法启动 ORA01017: invalid username/password; logon denied Oracle 19c 在打上 19.23 或以上补丁版本后,存在与用户组权限相关的问题。具体表现为,Oracle 实例的运行用户(oracle)和集…...
日语AI面试高效通关秘籍:专业解读与青柚面试智能助攻
在如今就业市场竞争日益激烈的背景下,越来越多的求职者将目光投向了日本及中日双语岗位。但是,一场日语面试往往让许多人感到步履维艰。你是否也曾因为面试官抛出的“刁钻问题”而心生畏惧?面对生疏的日语交流环境,即便提前恶补了…...
linux之kylin系统nginx的安装
一、nginx的作用 1.可做高性能的web服务器 直接处理静态资源(HTML/CSS/图片等),响应速度远超传统服务器类似apache支持高并发连接 2.反向代理服务器 隐藏后端服务器IP地址,提高安全性 3.负载均衡服务器 支持多种策略分发流量…...
【力扣数据库知识手册笔记】索引
索引 索引的优缺点 优点1. 通过创建唯一性索引,可以保证数据库表中每一行数据的唯一性。2. 可以加快数据的检索速度(创建索引的主要原因)。3. 可以加速表和表之间的连接,实现数据的参考完整性。4. 可以在查询过程中,…...
IGP(Interior Gateway Protocol,内部网关协议)
IGP(Interior Gateway Protocol,内部网关协议) 是一种用于在一个自治系统(AS)内部传递路由信息的路由协议,主要用于在一个组织或机构的内部网络中决定数据包的最佳路径。与用于自治系统之间通信的 EGP&…...
【JVM】- 内存结构
引言 JVM:Java Virtual Machine 定义:Java虚拟机,Java二进制字节码的运行环境好处: 一次编写,到处运行自动内存管理,垃圾回收的功能数组下标越界检查(会抛异常,不会覆盖到其他代码…...
c++ 面试题(1)-----深度优先搜索(DFS)实现
操作系统:ubuntu22.04 IDE:Visual Studio Code 编程语言:C11 题目描述 地上有一个 m 行 n 列的方格,从坐标 [0,0] 起始。一个机器人可以从某一格移动到上下左右四个格子,但不能进入行坐标和列坐标的数位之和大于 k 的格子。 例…...
cf2117E
原题链接:https://codeforces.com/contest/2117/problem/E 题目背景: 给定两个数组a,b,可以执行多次以下操作:选择 i (1 < i < n - 1),并设置 或,也可以在执行上述操作前执行一次删除任意 和 。求…...
Nginx server_name 配置说明
Nginx 是一个高性能的反向代理和负载均衡服务器,其核心配置之一是 server 块中的 server_name 指令。server_name 决定了 Nginx 如何根据客户端请求的 Host 头匹配对应的虚拟主机(Virtual Host)。 1. 简介 Nginx 使用 server_name 指令来确定…...
