当前位置: 首页 > news >正文

如何恢复删除的数据(以损坏的U盘为例)

目录

  • 引言
  • 数据恢复的原理
  • 数据恢复的方法以及推荐工具
  • 下载链接

引言

在日常的工作学习生活中,非常重要的一件事情就是养成备份重要数据的习惯。这不仅仅是为了让自己图个安心,更多是想要防止意外发生。有时候错删了一些文件或者存储数据的U盘损毁,如果在这个时候有备份文件存在就会避免很多问题的产生。不过即使是再严密的防护也总有失误的时候。这个时候我们就需要对数据进行恢复来获得已经丢失的文件。

博主经常遇到U盘数据损坏需要修复的情况,因此在这里描述下自己数据恢复采用的方式。目前可以使用的数据恢复软件有很多,但大多都是仅允许免费恢复部分数据,全部的数据恢复需要开通VIP或者缴纳一定的费用。这次博主准备推荐一款免费的数据恢复工具,同时简单的介绍一些数据恢复的基本原理,软件的名字叫R-Studio,在文章的末尾附有下载链接。

数据恢复的原理

数据保存在硬盘中的(或者其它存储介质),当系统读取文件时,会从硬盘的目录区DIR读取了文件的相关信息,例如文件名,文件大小,文件的修改日期,文件的位置(数据区DATA的簇号),之后根据这些信息就可以知道数据的位置,再对数据进行读取。而硬盘在记录文件时,先要将文件的信息:文件名,文件的大小,文件的修改日期(不包括文件的位置)记录到DIR区,之后在DATA区选一块空地,放进去,顺便往DIR区记录文件的位置。

操作系统删除文件的方式很简单,只是把DIR区文件的第一个字符改为E5(常规的删除方式,如果采用数据覆盖的方式,数据也不能恢复了)这也就是说,文件的数据并没有被覆盖,只是将原本文件占用的空间设置为了可用,因此也就为为恢复创造了可能。因此我们可以知道删除文件无非就是在对应的记录数据位置信息抹掉一半,或者给你标注这个内容已删除。(如:书本某一内容在第35页,它把3抹掉,就只打***课在第X5页,我们要做的就是翻开所有带5的页数去寻找数据。FAT32就是这么干的,NTFS则就更简单了,直接告诉你这一节课作废)。但是真正的数据还是存在磁盘中的,即使你把整个目录全部撕毁(一般的格式化),但是我们可以通过手动一页一页的翻,也是肯定能找到。这一类删除往往只是一个假象,只要技术得当,找到对应的目录页,或者辛苦一点,慢慢的找总能找到你想要的,这也就是数据恢复的真正实现的技术核心。

数据恢复的方法以及推荐工具

R-studio是一款功能强大的数据恢复软件,它以扫描快、恢复成功率高著称,采用独特的数据恢复技术,支持对NTFS、ReFS、FAT/exFAT、Ext2FS/Ext3/Ext4、UFS、HFS等分区文件系统恢复数据。

使用R-studio工具恢复损坏U盘数据的具体步骤如下:

1.选择需要恢复数据的盘符并进行数据扫描
在这里插入图片描述
2、选择扫描范围,可以自定义进行选择。
在这里插入图片描述
3、磁盘比较大的话,需要扫描几个小时,具体需要看被扫描的文件多少而定。

4、扫描完成之后点击显示文件按钮。

6、显示出文件后勾选需要恢复的文件,选择目标输出文件夹便可以将文件恢复。
在这里插入图片描述

下载链接

链接:https://pan.baidu.com/s/19ci2q1ZbStj5k7kQTjQEaQ
提取码:k5n9

相关文章:

  • uverbs的交互方式——ioctl和write
  • Hadoop-Yarn
  • mysql面试题
  • Vue-条件渲染和循环渲染
  • 二、前端-VUE(2)
  • 在腾讯云服务器的Centos上从零开始部署并运行TinyWebServer服务器,过程记录(非常详细)
  • springboot系列(二十):如何通过redis实现手机号验证码功能 |超级详细,建议收藏
  • 原始套接字
  • 【C语言刷LeetCode】1953. 你可以工作的最大周数(M)
  • 猿创征文|Python基础——Visual Studio版本——Web开发
  • 【C语言刷LeetCode】395. 至少有 K 个重复字符的最长子串(M)
  • 利用 HomeAssistant 实现电脑远程开关机
  • 练习31-35:多表关联查询、多条件自连接查询、子查询、窗口函数等
  • windows下安装protocol buffer
  • Kubernetes 调度器学习
  • 【Amaple教程】5. 插件
  • 002-读书笔记-JavaScript高级程序设计 在HTML中使用JavaScript
  • HTTP中GET与POST的区别 99%的错误认识
  • javascript数组去重/查找/插入/删除
  • JavaScript异步流程控制的前世今生
  • Quartz初级教程
  • supervisor 永不挂掉的进程 安装以及使用
  • tab.js分享及浏览器兼容性问题汇总
  • 从0到1:PostCSS 插件开发最佳实践
  • 得到一个数组中任意X个元素的所有组合 即C(n,m)
  • 力扣(LeetCode)22
  • 前端每日实战:61# 视频演示如何用纯 CSS 创作一只咖啡壶
  • 使用Maven插件构建SpringBoot项目,生成Docker镜像push到DockerHub上
  • 一起来学SpringBoot | 第三篇:SpringBoot日志配置
  • 在Docker Swarm上部署Apache Storm:第1部分
  • 找一份好的前端工作,起点很重要
  • d²y/dx²; 偏导数问题 请问f1 f2是什么意思
  • 关于Kubernetes Dashboard漏洞CVE-2018-18264的修复公告
  • ​MySQL主从复制一致性检测
  • ​你们这样子,耽误我的工作进度怎么办?
  • # 计算机视觉入门
  • #define、const、typedef的差别
  • #LLM入门|Prompt#2.3_对查询任务进行分类|意图分析_Classification
  • (2020)Java后端开发----(面试题和笔试题)
  • (3)选择元素——(14)接触DOM元素(Accessing DOM elements)
  • (9)YOLO-Pose:使用对象关键点相似性损失增强多人姿态估计的增强版YOLO
  • (分布式缓存)Redis哨兵
  • (九)信息融合方式简介
  • (四)c52学习之旅-流水LED灯
  • (一)u-boot-nand.bin的下载
  • (转)jQuery 基础
  • .equals()到底是什么意思?
  • .net mvc 获取url中controller和action
  • .net 怎么循环得到数组里的值_关于js数组
  • .NET设计模式(11):组合模式(Composite Pattern)
  • .net实现头像缩放截取功能 -----转载自accp教程网
  • .NET中使用Protobuffer 实现序列化和反序列化
  • .net最好用的JSON类Newtonsoft.Json获取多级数据SelectToken
  • @WebServiceClient注解,wsdlLocation 可配置
  • [《百万宝贝》观后]To be or not to be?