前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >记一次数据恢复经历

记一次数据恢复经历

作者头像
一条老狗
发布2019-12-26 11:52:52
1.5K0
发布2019-12-26 11:52:52
举报
文章被收录于专栏:极客运维极客运维

有将近一周没有写文章了,经历了一场所有IT从业者的梦魇——数据丢失。一块1T的移动硬盘中,约500G的分区数据无故消失,想必挺多人都遇上过这种事,无奈,尽快尝试恢复,能恢复多少是多少了。

分区格式

由于此块移动硬盘经常要在windows和mac平台来回切换使用,在不纠结单文件4GB的限制的情况下,当时使用的FAT32格式。还好此类格式和NTFS格式较为常见,恢复起来也较为容易。这里要说一下:

  • FAT32格式磁盘可在windows和mac平台读写,但有单个文件4GB限制;
  • NTFS完美兼容windows平台,但在mac平台下,默认为只读,但是通过魔改mac系统配置或者通过第三方插件可以取得写入权限;
  • exfat格式同样兼容windows和mac平台读写,但是此类格式不太稳定,会有丢数据的现象,且一旦出问题,一般技术手段,基本难以恢复数据。

恢复工具

市面上硬盘数据恢复工具很多,大多是无法完全恢复丢失数据的。一般个人不是很重要的数据,且文件格式比较常规的,在数据丢失后立马停止文件写入,尝试修复还是有可能恢复90%+的数据的。这里说一下,我亲身试用过的一些工具,希望可以帮到有需要的朋友们,少走弯路。

  • EasyRecovery (Kroll Ontrack)注意括号内软件厂商名字,由于市面上还有很多国产山寨数据恢复工具也叫EasyRecovery(大小写,空格啥的不同),名字上基本难以区分,所以要注意厂商名字。此款工具在10年前我就有使用过,即便是6.0的老版本,恢复能力也很强,就是扫描速度较慢。曾经恢复了300G的丢失数据,90%基本完美恢复。
  • DiskGenius 老牌工具了,装过系统的应该都知道,在PE里基本都集成的磁盘分区工具,也有数据恢复功能。此次400+G的数据就是使用这个工具恢复的,常规文件格式恢复都OK,但是对PSD,拆分的压缩文件恢复成功率不高。总的来说还是可用的,注意某度下载的大部分最新破解版其实都是免费版,正常使用但是对单个大文件恢复有限制,以至于会误导以为数据无法恢复了。推荐使用4.7或者4.2的老版本有功能完整的破解版。
  • finaldata 口碑在外的数据恢复工具,实际使用恢复情况并不理想,也可能是我找的版本不对。
  • easyrecovery 国产山寨Kroll Ontrack厂商的工具名字,虽然抄袭大厂的工具名字,但是实际恢复能力也不差,基本能恢复。

数据量较大的推荐使用DiskGenius,扫描进度还能存档。数据量不大的可以选择easyrecovery,国外原版或者国产版均可。 具体的恢复过程这里就不细说了,都是windows工具,图形界面,看着就会,主要就是恢复时间较长。

Linux数据恢复

既然说到数据恢复了,我们工作中接触的服务器,还是Linux居多,这里也说说从rm -rf /* 到不跑路的常规救急方法。

在我初出茅庐,刚干运维的那段岁月,也曾年轻气盛,逮哪都是rm -rf *一把梭,终于有一次梭出问题了,把线上数据给梭没了,然后….此处省略中间办公室精彩剧情部分,直接上恢复过程。

1.exundelete恢复Linux文件系统数据

exundelete是用于针对Linux ext3,ex4的文件系统数据恢复的工具,大致原理就是扫出文件系统的inode的信息,然后根据iNode信息结合日志去查询对应的block位置,包括直接块和间接块,然后通过dd命令备份这些信息,恢复数据。

2.exundelete安装

官网下载最新版,extundelete-0.2.4 安装三连,不再赘述

代码语言:javascript
复制
$tar jxvf extundelete-0.2.4.tar.bz2
$./configure
$make
$make install

3.extundelete用法

首先及时卸载需要恢复数据的分区,然后查询分区可恢复的数据信息:

代码语言:javascript
复制
extundelete  /dev/sdc1  --inode 2

恢复单个文件

代码语言:javascript
复制
extundelete /dev/sdb1 --restore-file hosts

恢复一个目录

代码语言:javascript
复制
extundelete /dev/sdb1 --restore-files test/

恢复整个分区

代码语言:javascript
复制
extundelete /dev/sdb1 –-restore-all

经过实际测试,restore-all比较好用,在初次删除后可以很好的恢复文件及目录结构,但是如果我在相同位置新建了相同的文件名或者目录名,就会恢复失败。而恢复单独的文件或者目录则没有成功,也可能是我的姿势不对,基本这些就够用了。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2017-07-25,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 极客运维 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档