中企动力 > 商学院 > 怎么做数据恢复
  • ?

    揭秘硬盘数据恢复全过程!原来只需这三步!

    若化生

    展开

    恢复硬盘数据其实并不是一项复杂的工程,除非是硬盘磁头损坏,需要开盘这类原因,一般情况下想要恢复硬盘数据也十分简单,那要如何做呢?

    第一步,打开迷你兔数据恢复工具,选择【硬盘恢复】功能并点击进入

    第二步,进入功能页面后,选择需要恢复的硬盘分区,进行完全扫描

    第三步,完全扫描结束后,在软件扫描到的丢失数据列表里手动勾选需要恢复的数据,然后保存在安全的分区之中,硬盘数据就恢复出来了。

  • ?

    电脑误删数据要怎么恢复?简单三步就能搞定

    安慰

    展开

    对于不常用、不需要的数据,我们常选择删除。可麻烦就是突然某一天,突然想起被删的数据还是有用的……可已经删除了要怎么找回?小编在这里就给大家分享一下电脑误删数据的恢复方法。

    第一,打开桌面上的迷你兔数据恢复工具,选择“删除恢复”。这个功能适用于任何数据删除情况,包括:误删、清空回收站、永久删除。

    第二,点击进入“删除恢复”的页面后,选择丢失数据的磁盘进行扫描。只要数据没被新数据覆盖,软件都能扫描到的。

    第三,手动勾选需要恢复的误删文件,选择将它们保存在安全的磁盘当中(未丢失过数据的磁盘)

    迷你兔数据恢复工具分为免费版、个人版和商用版,在功能完全相同的情况下,免费版可最多支持恢复3G大小的数据。希望大家也养成重要数据备份的好习惯,如果不幸丢失,可使用迷你兔数据恢复。

  • ?

    四个关于数据恢复的技巧

    冷梅

    展开

    没有必要完全扫描。因为,任何一款数据恢复软件在扫描的时候都会先分析文件的目录结构,因此,只要在软件扫描数据目录完成之后,就可以停止扫描,然后根据目录去查找丢失的文件,这样做能省去大量的时间。

    NTFS格式最为安全 。NTFS分区的磁盘,数据恢复软件使用了一个比较巧妙的方法,它不是读取MFT的信息而是读取目录结构,实际上并没有真正进行簇扫描,这样一来就省去了大量的时间,而事实证明,这种歪门的方法是可行的,所以只要读取到MFT数据就能100%恢复文件。所以NTFS比FAT要安全很多。

    簇范围自定义 。顾名思义这种方式的最大好处就是能缩短扫描时间,至扫描指定范围的簇大小,从而缩短消耗时间。

    文件格式过滤器的巧用。没有使用过数据恢复的人往往会被软件的恢复能力而吃惊,因为它不仅仅恢复你想找回的丢失的数据,还将你之前删除过的许多数据都显示出来, 因此设置适当的文件格式很有必要,这样能在很大程度上节约时间。

  • ?

    这些好用的数据恢复工具你都不知道?

    伊迪丝

    展开

    相信大家在生活中也会遇到手机中的一些数据丢失的问题,比如说短信,通讯录照片等等。今天小编就为大家推荐几种好用的数据恢复工具,

    1、360手机数据恢复大师

    你可以直接用手机连接,然后在电脑上进行数据的获取,然后进行数据的快速恢复。

    2、手机数据恢复精灵

    就拿手机短信为例子来说:首先,在他的手机上安装“手机数据恢复精灵”,然后运行的话,进入你就能看到“短信恢复”这一选项,点击,在等待几分钟后,你就能看到被删除的短信记录了,然后你就能选择你想要回复的内容进行恢复了。

    3、万能数据恢复大师

    当你连接上电脑之后,你可以使用万能手机恢复大师来进行收集数据恢复,首先需要先获取手机中的数据才能进行数据的找回。

    你最喜欢哪一种工具,有没有你经常使用的呢?

  • ?

    如何恢复重置后的手机数据?恢复手机数据的方法

    白竹

    展开

    手机重置后如何恢复数据?重置手机后想要恢复数据该怎么办?现在很多小伙伴会因为玩手游而导致手机内存不足变得卡顿起来,想要清理内存又不知道从何下手,所以会出现干脆还原手机初始数据算了,重置手机之后,我们最关注的应该是如何恢复手机数据了吧,下面就来给大家介绍一下如何恢复重置后的手机数据。

    我们在重置手机之前,将相对重要的手机数据进行备份,或者可以选择上传到云服务里面,现在的安卓手机一般都拥有这个功能,我们选择重要的数据后上传就可以了,或者在点击恢复出厂设置时,对需要恢复的手机数据进行备份,恢复到以后,点击还原所有设置可以了。

    但是如果我们没有做上面的准备功能,直接对手机进行了重置,想要恢复手机数据该怎么做呢?其实如果没有进行备份也是可以进行恢复的,只要我们在手机上安装一个手机数据恢复精灵,然后根据我们所想要恢复的数据类型选择相对于的恢复功能就可以了。

    以上就是两种不同的恢复方法,当你重置手机后想要找回之前的数据,就可以根据你的情况来进行选择操作。

  • ?

    手机数据恢复太简单,旧手机不要再乱扔了

    沧颜

    展开

    总有许多人都喜欢把旧手机给以旧换新或者是直接卖掉,这样还可以换回来一点什么。但是,他们根本不知道这样会造成哪些后果,总以为手机恢复出厂设置了就能删除自己手机上所有的数据。但当他们看到这款软件之后,就不会这么说了。现在的科技太进步,数据恢复的操作太简单,不管你是丢失还是误删,都可以轻轻松松的找回来。

    互盾安卓恢复大师,一款专门恢复数据的软件,不管是聊天记录、照片、短信还是通讯录,它统统能恢复。

    首先:在常用的电脑浏览器上搜索“互盾安卓恢复大师”,将软件下载安装至电脑上之后,将误删微信聊天记录的安卓手机连接至电脑上,打开手机的调试模式。然后运行恢复软件,界面上有三种的恢复选项:一键恢复、免root恢复、手动恢复。这里根据实际情况选择“一键恢复”模式。随后手机开始自动获取手机的root权限,获取成功之后开始读取手机信息。

    读取完成之后,在界面上方显示有设备名称、系统版本、连接状态信息,确认无误之后需要在下方的两种扫描模式中选择一个对手机进行扫描,这里选择“快速扫描”,随后点击“开始扫描”按钮,软件就开始扫描工作了。

    扫描结束之后,在界面左侧你以为删除的数据就都会出来了。

    所以,以后旧手机千万别乱丢,保护好自己的隐私。而且,自己的手机误删了数据也可以用它来恢复,安全而又快捷方便。

  • ?

    实操有效的数据恢复小工具

    元若云

    展开

    借助专业的工具和手段对数据进行读取、抢救和恢复的技术称为数据恢复技术。

    根据不同的存储介质,数据恢复可分为硬盘数据恢复、移动存储设备及多媒体卡数据恢复、光盘数据恢复、软盘数据恢复。本文分别介绍数据无法正常读取的原因及恢复方法。

    硬盘数据恢复

    故障原因:

    1.物理故障

    包括电机不转、通电后磁头错位、磁头损坏、盘片划伤等,可采用更换、加载、定位等方法进行数据修复。

    2.其他原因

    系统不能正常启动密码或权限丢失MBR分区丢失误操作误删除误分区病毒破坏黑客攻击RAID磁盘阵列失效

    恢复数据包括:Office文档、图片、视频、数据库文件、邮件等

    推荐工具:

    R-Studio

    美国的R-tools公司的核心产品,目前市面上认可度比较高的数据恢复工具,可针对文档、图片、视频、文件、数据库文件等超过200种文件类型进行恢复,并支持对分区以及Raid阵列的恢复。

    Ontrack EasyRecovery

    操作简单的数据恢复工具,针对常见的文档、图片、视频、文件等数据类型可以进行快速的扫描和恢复。

    Recover数据恢复三件套

    澳大利亚经典数据恢复软件,分为文件恢复、图片恢复和邮件恢复三个组件,每个组件各司其职,其中文件恢复组件是核心组件,具备其他两个组件的功能,可以对常见文件、图片、视频、邮件等进行数据恢复。

    Stellar Phoenix Windows Data Recovery

    印度Stellar公司出品,专门针对Windows系统中的文件恢复,可对文档、图片、视频、邮件以及常用文件恢复。

    Stellar SQL Database Toolkit(SQL数据库恢复工具组)

    Stellar公司产品,主要针对SQL数据库的文件恢复。

    Stellar Outlook Toolkit(Outlook邮件恢复工具组)

    Stellar公司产品,针对Outlook的专门工具,可以对损坏Outlook文件进行修复,并支持对Outlook生成的pst文件进行备份、复制、拆分等操作。

    移动存储设备及多媒体卡数据恢复

    故障原因:

    常见短路、过电损坏、芯片损坏、闪存无法读取等

    设备包括:U盘、闪存、Mp4、CF、SD、XD、MMC、SM、SMC、记忆棒等

    推荐工具:

    效率源Flash

    光盘数据恢复

    故障原因:盘片划伤

    推荐工具:

    VMI Hybrid2.0光盘修复工具

    VMI2550i光盘修复工具

    软盘数据恢复

    故障原因:

    数据介质损坏出现的电路故障、磁头偏移等

    恢复方法:采用更换、加载、定位等方法进行数据修复

  • ?

    电脑数据恢复,最简单的五步操作

    Debra

    展开

    我们在使用电脑的时候,如果电脑出现卡顿的情况,那么我们就会对电脑上的文件进行清理,我们在清理文件的时候,如果因为错误的操作而导致电脑里重要的文件删除了,那么我们应该怎么将我们误删的文件恢复?电脑误删文件怎么恢复?

      为了恢复我们电脑误删的文件,我们需要使用专业的数据恢复软件进行恢复,在这里我们只需要使用强力数据恢复软件这款数据恢复软件我们电脑误删的文件就可以快速恢复了,接下来我就来告诉大家如何利用这款软件恢复我们电脑上误删的文件。

    1、首先我们需要将强力数据恢复软件下载到电脑上,然后我们运行这款软件,打开软件之后,我们可以看到软件界面上有“快速扫描”和“深度扫描”两大功能,如果我们想要最大程度的找回删除的文件,那么我们可以选择“深度扫描”进行扫描。

    2、点击进入之后,我们需要选择删除的文件所在的硬盘,然后点击“开始扫描”选项。

    3、接下来软件就会对我们所选的硬盘进行深度扫描了,等待软件扫描完成之后,我们即可进行接下来的操作。

    4、等待软件扫描完成之后,我们就可以在软件的界面当中查找我们想要恢复的文件,我们找到误删的文件之后,点击“下一步”按钮。

    5、接下来我们点击“浏览”选项,选择我们误删文件需要存储的位置,然后点击“恢复”那么我们电脑里误删的文件就可以恢复了。

      我们按照上述方法进行恢复,我们电脑上误删的文件就可以恢复,以后我们再次遇到误删文件的情况,就可以使用这款软件进行恢复。

  • ?

    如何进行硬盘数据恢复?

    Sophia

    展开

    导语:硬盘发生故障时很可能会导致重要数据的丢失。这时,你应尽快进行硬盘数据恢复从而找回宝贵的文件,您可以使用高效、便捷和免费的硬盘数据恢复软件。本文详细列出硬盘数据丢失的原因以及解决方法。

    对于硬盘的重要性,相信大家都了解的非常清楚,作为电脑中的必需品,它为我们的数据存储工作带来了很大的帮助。作为数据存储的核心,硬盘的数据安全问题受到人们越来越多的关注,所以,为了大家的数据安全,大家需要保护好硬盘,避免硬盘出现各种数据丢失问题。可是,在硬盘的使用过程中,大家经常因为各种原因造成硬盘数据丢失,这将给用户带来巨大的损失。那么,应该如何解决硬盘数据丢失的问题呢? 硬盘数据恢复是一种非常有效的方法。

    为什么硬盘数据会丢失?

    关于硬盘数据丢失问题,相信很多朋友都碰到过,为什么硬盘数据会丢失呢?这里为大家简单介绍一下常见的硬盘数据丢失原因,希望可以帮助大家有效避免硬盘数据丢失情况的发生。

    (1)误ghost

    用户在重装系统或者恢复系统的时候,将恢复分区选择成了恢复磁盘,即是在ghost的界面上把local-partition-from image选择为了local-disk-from image。完成后,整个硬盘就变成了一个c盘,其他分区数据全部丢失。

    (2)软件冲突

    用户使用类似PQ、分区助手等工具进行分区合并时,由于其他软件对硬盘的独点性或者是权限原因,分区操作被强制中断,分区表就会发生错乱或改写而造成分区丢失。

    (3)意外断电

    当用户正常使用硬盘时,由于突然断电会对硬盘造成较大的损伤,如数据错乱、数据丢失、分区错乱或者是硬盘出现坏道等,从面造成了数据丢失。

    (4)误操作

    误删除文件:重要文件被当成是不需要的文件给删除了;当我们意识到文件的重要性时,却发现文件并不存在回收站,无法从回收站中找回了。

    误格式化:你可能不太了解误格式化硬盘是怎样做到的呢。比如电脑需要重装系统,系统盘将会被格式化,那此时硬盘将会被误格式化。

    误清空回收站:正常删除文件的时候,实际并没有从电脑中彻底的删除,而是该文件出现在回收站中,如需要把文件彻底从电脑中删除,需要手动清空回收站。如此,我们将无法从回收站中还原删除的文件。

    误删除分区:在电脑的使用过程中,分区丢失或误删除可能是因为误删除文件而导致的。

    (5)电脑蓝屏(死机)

    使用电脑的过程中,突然出现死机蓝屏,有时候还会提示某个分区无法正常读写,这时候只能重启,但重启后却发现无法正常进入系统,甚至连DOS也进不去。从光盘启动后查看C盘,然后会发现C盘是空的,一个文件也没有。

    (6)存储设备损坏造成的数据文件丢失

    存储设备,一般都有一定的使用条件和使用期限。如果使用不当,便极有可能造成存储设备的损坏。如,电脑硬盘因温度过高,硬盘因外力撞击等。这时,很可能造成大量文件的丢失。

    (7)电脑中毒

    病毒感染是会破坏电脑性能,导致性能速度下隆,还会删除了重要的文件,造成很大的损失。

    如何从硬盘中找回丢失的重要文件?

    其实文件丢失、删除是将文件从原来的状态改变成分散的数据形式存放在移动硬盘中,那么我们将无法在界面中找到此文件,以为文件丢失了。其实只要能够将文件的数据找回来,并将文件的数据重塑,那么原来“丢失”的文件又能重现在我们的眼前。但是万一数据遭到了破坏,那么将永远无法将文件数据合并还原。因此,当出现文件丢失时,请停止一切操作,不要往内存放文件写入数据,以防造成文件数据丢失。

    Windows 系统并不具备恢复丢失数据的功能。对于电子信息方面的专家,恢复硬盘中的数据只需轻松简单几个点击。然而,对于电脑的初学者来说,可能有点困难。若想从硬盘中恢复不见了的数据,都叫兽建议你使用简单而又搞笑的数据恢复软件。然而,从众多的数据恢复软件中选择一款适合自己使用的软件,并非易事。

    具体如何寻找一款专业、安全可靠的数据恢复软件,请查看移动硬盘无法识别怎么办?

  • ?

    简易数据恢复方案实战:流程和工具

    温妙梦

    展开

    数据恢复有没有简易方案?

    IT工程师一般都知道如何操作和使用文件和目录。但是,对于系统如何构建出、抽象出文件和目录,一般就不熟悉了。至于更下层的概念,可能大家知道最多的就是驱动了。所以,为了规避这点,可行的简易方案之一,就是以黑箱方式使用testdisk等工具,在我们在对底层了解不多甚至一无所知的情况下,进行数据恢复(商业工具,恢复效果估计更好,当然商业工具的价格也更好)。但是,对于工程师而言,多数时候,仅仅以黑箱方式依赖某些工具进行数据恢复是不够的。

    数据恢复,经常是突发事故响应中关键而又耗时的一步。多数情况下,工程师往往并非专司数据恢复,操作环境往往是生产环境,趁手工具难以部署,执行操作要遵循种种约束,加之业务中断的压力。这种情形下,工程师很可能还需要推定数据恢复的结果/耗时等信息,提供数据供决策者使用。很明显,如果你准备考验一下自己的细致、耐心、知识和技能,数据恢复将是个不错的课题。当然,有一点是明确的,只是以黑箱方式使用testdisk等工具进行数据恢复,解决以上问题是不可能的。那么,有没有其他简易方案呢?

    这里,我们以一个实际的case为例,讨论一下,在只使用UNIX常见工具(dd/grep/strace等)的情况下,如何简单、快捷的恢复数据。

    预先准备

    工具

    我们要用到以下工具

    功能

    示例

    bc

    计算器

    echo 'ibase=2^3;i=0107000;ibase=2^3+2;i/512' | bc -l

    dd

    检查或者拷贝磁盘/分区的内容,可以是几个扇区,也可以是几个字节

    dd if=/dev/sdb bs=1 count=64 skip=64 2>/dev/null | od -v -tx1

    grep

    搜索制定字符串

    od

    把二进制内容以ASCII或者16进制显示出来,搭配dd使用可以代替二进制编辑器

    strace

    追踪应用的执行路径和对数据处理的流程

    strace ps

    排查和诊断就是数据处理

    如果对数据处理了解不多,请参考OSEMN

    obtaining data/获取数据

    crubbing data/清洗数据

    exploring data/探索数据

    modeling data/建模数据

    interpreting data/解释数据

    测试环境

    使用Virtualbox,基于CentOS/Fedora/debian/Ubuntu搭建Linux实验环境。只需要学会strace工具和如下系统调用,就足以追踪系统如何处理诸如LVM物理卷元数据这样过的问题。

    name

    open

    打开一个文件,返回一个文件描述符供后续读写操作使用

    dup/dup2

    复制文件描述符

    lseek

    将读写指针移动到指定位置,后续操作从此指定位置读写

    close

    关闭文件描述符

    read

    读操作

    数据恢复的原理和流程

    什么是元数据?

    我们以大家都熟悉的磁盘作为存储设备的例子。

    现代操作系统都会在磁盘上建立多个分层结构来管理和控制磁盘。比如,磁盘分区,分区上建立物理卷,物理卷上建立卷组,卷组上建立逻辑卷,逻辑卷上建立文件系统,就是这样的一个例子。如果你不熟悉LVM,请参考Logical Volume Manager。

    这些分层的结构都是很类似的。以磁盘分区为例。所谓分区,以大家最为熟悉的MBR: Master Boot Record结构为例。其实是第一个扇区记录了各个分区的起始扇区,大小和类型。系统需要时,比如启动过程中,系统只要从磁盘的第一个扇区读取这些数据即能拿到各个分区的数据。

    具体看看分区的数据结构。以fdisk为例,分区的数据结构定义为

    struct dos_partition { unsigned char boot_ind;

    我们看看具体分区的例子,验证一下数据结构

    分区使得磁盘上的扇区有了差别。第一个扇区(其实其编号是0),因分区数据记录其上而扮演特殊角色。明显,对系统而言,管理和操作分区实际上就是读写第一扇区上的对应记录而已。

    类似分区信息这种系统用以管理某层资源的数据就是元数据。

    系统在磁盘上建立的各个分层结构,都有类似分区结构的数据结构。以LVM结构为例,我们可以把磁盘记录和LVM工具报告的数据做一对比。LVM数据的从第2个扇区开始,卷组数据在第8个扇区中,可以用dd命令提取相关扇区来验证LVM的数据结构。

    下面是一份完整的LVM元数据信息,有兴趣者可以逐一清点各个对象。

    [root@pusf ~]# pvdisplay;vgdisplay;lvdisplay

    元数据和数据:数据损坏分类

    系统把磁盘的扇区分成两种来支持分区:第一扇区和所有其他非第一扇区。并且在第一个扇区上记录分区信息,即元数据。而其他非第一扇区则供分区层使用,从磁盘的视角看,其他非第一扇区则是数据部分。我们逐层考察下磁盘、分区和LVM结构

    系统启动时,会逐层读取各层元数据,创建各层数据结构。如果某一层元数据损坏或者丢失,那么系统就没有办法完成创建各层数据结构的任务。这种情况下,从客户角度看,很可能就是数据损坏了。比如,如果你把第一个扇区用\0覆盖一遍,那么系统就识别不到分区内容了。当然这种情况下分区层以上的内容,比如物理卷信息,系统也无法处理了。因此,对于数据恢复任务而言,如果元数据损坏,则修复元数据总是必须的,而且往往是第一步。

    当然,如果数据损坏了,即使元数据完好无缺,那么数据也是损坏了。比如,你误删了一个文件,那么,分区结构再完好对于文件被删也于事无补。

    基于以上分析,我们可以把数据损坏简单分三类类:元数据损坏、数据损坏或者前面两种损坏类型的混合型损坏。

    元数据修复可以简易处理

    以基于磁盘的分区、LVM以及文件系统为例。分层结构的数据格式都有严格的格式(比如分区的数据结构就是一个C的struct),出现位置也固定(有关分区的元数据记录在第一个扇区的446~462字节之间),而且这些数据结构往往都带有魔数(比如,分区的类型83),而且常用的分层结构,也不外乎分区、LVM以及文件系统等几种。因此,对于元数据以及系统如何处理元数据,我们都容易追踪和检查。因此,可以预期,修复元数据,有简易方案。

    原理

    如果有数据损坏,那么除非有日志、备份,或者数据本身有逻辑可供使用,否则数据是不能恢复了。比如,通常的文件删除操作,系统只是解除了文件名称和文件内容相关间的联系而已。文件本身的内容还是记录再磁盘上。这种情况下,只要重建文件名称和文件内容间的联系即可恢复文件。

    相对而言,简单情形的是元数据损坏。如果只是元数据损坏,而且我们知道正确的元数据。因为元数据操作,不会触及数据部分,因此,我们只要重建元数据部分即可恢复数据。如果涉及到多层,则逐层恢复即可。以分区丢失为例。

    比如我们有一块数据盘,整盘我们只是用fdisk分了一个区,现在分区丢失了。这种情形下,只要用fdsik,按照默认情形,重新分区就能恢复分区。

    就这种情形,我们给出一个可用的分析流程。

    症状和初步排查

    症状

    客户反馈

    降配重启后,系统无法启动

    排查发现客户一逻辑卷无法挂载导致重启失败。在/etc/fstab中注释掉逻辑卷的挂载配置,系统启动成功。

    但是客户的逻辑卷上有重要数据。此逻辑卷在数据盘上,数据盘大小是2TB。此磁盘全部2TB全部分配给一个分区,此分区上创建有LVM结构。

    分区数据如下

    [root@localhost ~]# fdisk -l -u /dev/vdbDisk /dev/vdb: 2199.0 GB, 2199023255552 bytes

    初步排查

    首先确定分区上是否有数据,通过查看一些扇区,我们就会有很大的概率确认这一点。当然也可以逐扇区确认。

    逐扇区确认,可以用如下命令办理。假设磁盘是/dev/vdb。

    max_sector_to_check=nrsectorfor i in $(seq 0 ${max_sector_to_check});do dd if=/dev/vdb bs=512 count=1 skip=${i} 2>/dev/null | sha256sum;done | sort -n | uniq;

    当然,也可以通过抽样检查来确认。这种方法通常是检查磁盘分区的前面一部分扇区。比如,下面的例子,通过检查前面几十个扇区,我们可以确认磁盘上确有数据。

    [root@localhost ~]# dd if=/dev/vdb1 bs=512 count=60 2>/dev/null | od -tx10000000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00*0007000 f9 80 00 00 f9 80 01 00 f9 80 02 00 f9 80 03 000007020 f9 80 04 00 f9 80 0c 00 f9 80 0d 00 f9 80 18 000007040 f9 80 28 00 f9 80 3e 00 f9 80 79 00 f9 80 ab 000007060 f9 80 38 01 f9 80 6c 01 f9 80 45 04 f9 80 b0 040007100 f9 80 1a 06 f9 80 d0 0c f9 80 84 1e 00 00 00 000007120 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00*0017000 fa 80 00 00 fa 80 01 00 fa 80 02 00 fa 80 03 000017020 fa 80 04 00 fa 80 0c 00 fa 80 0d 00 fa 80 18 000017040 fa 80 28 00 fa 80 3e 00 fa 80 79 00 fa 80 ab 000017060 fa 80 38 01 fa 80 6c 01 fa 80 45 04 fa 80 b0 040017100 fa 80 1a 06 fa 80 d0 0c fa 80 84 1e 00 00 00 000017120 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00*0027000 fb 80 00 00 fb 80 01 00 fb 80 02 00 fb 80 03 000027020 fb 80 04 00 fb 80 0c 00 fb 80 0d 00 fb 80 18 000027040 fb 80 28 00 fb 80 3e 00 fb 80 79 00 fb 80 ab 000027060 fb 80 38 01 fb 80 6c 01 fb 80 45 04 fb 80 b0 040027100 fb 80 1a 06 fb 80 d0 0c fb 80 84 1e 00 00 00 000027120 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00*0037000 fc 80 00 00 fc 80 01 00 fc 80 02 00 fc 80 03 000037020 fc 80 04 00 fc 80 0c 00 fc 80 0d 00 fc 80 18 000037040 fc 80 28 00 fc 80 3e 00 fc 80 79 00 fc 80 ab 000037060 fc 80 38 01 fc 80 6c 01 fc 80 45 04 fc 80 b0 040037100 fc 80 1a 06 fc 80 d0 0c fc 80 84 1e 00 00 00 000037120 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00*0047000 fd 80 00 00 fd 80 01 00 fd 80 02 00 fd 80 03 000047020 fd 80 04 00 fd 80 0c 00 fd 80 0d 00 fd 80 18 000047040 fd 80 28 00 fd 80 3e 00 fd 80 79 00 fd 80 ab 000047060 fd 80 38 01 fd 80 6c 01 fd 80 45 04 fd 80 b0 040047100 fd 80 1a 06 fd 80 d0 0c fd 80 84 1e 00 00 00 000047120 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00*0057000 fe 80 00 00 fe 80 01 00 fe 80 02 00 fe 80 03 000057020 fe 80 04 00 fe 80 0c 00 fe 80 0d 00 fe 80 18 000057040 fe 80 28 00 fe 80 3e 00 fe 80 79 00 fe 80 ab 000057060 fe 80 38 01 fe 80 6c 01 fe 80 45 04 fe 80 b0 040057100 fe 80 1a 06 fe 80 d0 0c fe 80 84 1e 00 00 00 000057120 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00*0067000 ff 80 00 00 ff 80 01 00 ff 80 02 00 ff 80 03 000067020 ff 80 04 00 ff 80 0c 00 ff 80 0d 00 ff 80 18 000067040 ff 80 28 00 ff 80 3e 00 ff 80 79 00 ff 80 ab 000067060 ff 80 38 01 ff 80 6c 01 ff 80 45 04 ff 80 b0 040067100 ff 80 1a 06 ff 80 d0 0c ff 80 84 1e 00 00 00 000067120 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00*0074000[root@localhost ~]#

    接下来使用testdisk工具恢复数据。尝试数次,testdisk工具总是在扫描到2%时停滞,处理过程不能继续。

    初次恢复尝试

    分区还在,但是LVM结构丢失,经检查,由LVM工具链维护的备份数据/etc/lvm/backup/vg_xxxxxx文件还在。因此,这种情形下,按照我们的恢复流程,只要在分区之上,尝试重建LVM和文件系统,应该就可以解决问题。

    [root@localhost ~]# pvdisplay /dev/vdb

    根据备份数据恢复LVM结构,可以参考Recovering Physical Volume Metadata。可惜的是,我们第一步就折戟沉沙了。

    [root@localhost ~]# pvcreate --uuid "X1cHlO-kdFk-RZIM-1L12-qHit-0QA5-C1fZxm" --restorefile /etc/lvm/backup/vg_xxxxxx /dev/vdb1

    看样子,分区的数据有些地方出错了。根据上面命令报错的信息,对比LVM的备份数据和分区数据,很快我们就发现了问题。现有分区记录的其拥有的扇区数目,少于其上LVM卷组记录的扇区数量。

    问题出在哪里?

    因为种种原因,我们不能确认分区信息和LVM备份数据为何不一致。但是,我们可以进一步从磁盘上提取、分析数据。因为有关分区的元数据在(分区在),所以我们进一步检查磁盘上还有没有有关LVM的元数据?这只要使用下面的命令行

    dd if=/dev/vdb1 bs=512 count=128 2>/dev/null | od -tc

    结果及其结果分析如下

    所以,磁盘上还有有关LVM的元数据,但是为什么系统没有凭借这些数据构建出LVM结构呢?我们创建一个测试环境,用strace追踪下系统处理LVM物理卷元数据的执行路径。如下命令即可

    strace -s 512 pvdisplay

    当然,更好的办法是把strace记录放置到文件中,以备仔细检查

    starce -o path_to_strace_log -s 512 -f -ff pvdisplay

    我们组合使用strace和grep命令来确认系统默认的LVM物理卷位置。如果你没有耐心分析下面的数据,请跳过直接看后面的截图

    strace -o /tmp/pvdisplay-strace.log -s 512 pvdisplaygrep grep -E '^open|^lseek|^read' /tmp/pvdisplay-strace.log

    数据清洗结果如下。如果没有耐心分析,请跳过直接看下面的分析截图

    [root@localhost ~]# grep -E '^open|^lseek|^read|^close' /tmp/pvdisplay-strace.log

    很明显,系统预期LVM元数据是在分区的第8个扇区,但是在需要做数据恢复的磁盘上,LVM的元数据却是在第71个扇区,而分区的起始扇区是2048,因此,LVM数据根本不在分区内。这就是为什么磁盘上还有LVM元数据,系统却没有识别出来LVM的原因。

    既然系统是因为有关LVM的元数据所在扇区不对而导致系统无法识别LVM结构,设想通过重新分区,我们把有关LVM元数据调整到分区的第8个扇区。稍加计算,就会发现,只要把分区的起始扇区从第2048个扇区调整到第63个扇区即可。不仅如此,通过调整分区大小,我们同样也解决了磁盘分区扇区数不足的问题

    数据恢复

    较新的fdisk工具,不允许起始扇区小于2048,因此,我们用parted工具来调整分区的起始扇区。

    调整过程是先删掉扇区,而后再创建之。而结果正如我们所预期的,分区调整完成,客户的数据立刻恢复了。物理卷、卷组、逻辑卷、文件系统以及数据,都完好无损。

    结语

    从处理这个实际case可以看出,如果知道如何识别各层元数据,比å...

怎么做数据恢复

所有视频需要登录后,才能观看

请先登录您的帐号,即可完整播放,如果您尚未注册帐号,请先点击注册。

img

在线咨询

建站在线咨询

img

微信咨询

扫一扫添加
动力姐姐微信

img
img

TOP