如何使用 Linux 恢复分区和数据 - 教程

如何使用 Linux 恢复分区和数据 - 教程

我的 Linux 系统有问题,我无法访问任何东西。因此,我尝试从实时发行版启动并将我的主文件夹保存到外部硬盘中。

我以前将 /home 放在逻辑分区中。

现在从实时发行版启动后,我无法在侧面板中看到我的主分区。以下是

parted -l  

在此处输入图片描述

testdik

在此处输入图片描述

编辑:启动修复输出:http://paste.ubuntu.com/6437066

答案1

如果/home在原始 Linux 操作系统中查看时也完全为空,您可能需要查看本文(“恢复丢失的分区”部分)。可能是您覆盖了分区表/dev/sda(丢失sda2等)。您可以运行上述测试磁盘实用程序来分析分区是否可以挽救。对于您的情况,您应该使用sda而不是sdb他们使用的。

可以找到从覆盖的分区表中恢复的指令这里。我复制了以下相关内容:


如何使用 Linux 恢复分区和数据 - 教程

恢复丢失的分区

分区不再显示的原因可能有很多。例如,您可能意外在错误的硬盘上创建了新的分区表。在设置多重引导设置时可能会发生这种情况。

为了向您展示真实的灾难场景,我将模拟分区丢失的情况。我们的测试机是 Fedora 16 Verne,带有 KDE。我们将在用于数据的辅助磁盘 /dev/sdb 上尝试我们的小灾难游戏,尽管这种问题也可能发生在系统分区上。在这种情况下,您必须使用实时 CD 来尝试恢复您的机器。

我们将通过在 GParted 中创建一个新分区表来销毁 /dev/sdb 的分区表。我们将忽略磁盘上已经有一个分区表的事实。这样,我们将消失分区,使它们对系统不可见。对于普通用户来说,数据似乎永远丢失了。好吧,在健康的系统上,情况应该是这样的:

在此处输入图片描述

因此我们销毁了分区表。现在我们将使用测试磁盘,一款由cgsecurity.org。我之前在各种文章中多次提到过这个程序,但我们从未真正在愤怒中使用过它。今天,我们将探索它的功能,并学习如何使用它。

TestDisk 在 shell 中以文本向导的形式运行。它是一个交互式工具,会询问您几个问题以尝试挽救您的数据。第一个问题是决定是否要保留日志以供将来检查。如果您正在进行取证,那么您可能想这样做。

在此处输入图片描述

我们将从分析开始。我们不知道情况如何,也不知道情况有多糟糕。由于您可能不记得确切的磁盘几何形状,因此使用分析(注意正确的英文拼写)是找出先前分区的存在和位置的最佳方法。

在此处输入图片描述

下一步是选择我们要使用的设备。在本例中是 /dev/sdb。

在此处输入图片描述

现在,选择分区表类型。对于大多数人来说,它将是 Intel/PC。

在此处输入图片描述

我们开始分析:

在此处输入图片描述

我们很幸运。TestDisk 能够找到分区。尽管旧分区表已被破坏,但它只是一个指向实际数据的起始和结束地址的指针。磁盘表面没有损坏,因此我们的数据应该在那里。

在此处输入图片描述

现在,我们需要将分区信息写入磁盘。也可以更改分区特性,如类型和标志。

在此处输入图片描述

成功了!砰,我们又恢复了工作。现在,这意味着我们有一个正常的分区表,我们的分区可以使用,但这并不意味着某些数据没有被永久覆盖或永久销毁。我们将在下面进一步探讨分区和数据恢复的第二部分。目前,情况看起来不错。

在此处输入图片描述

答案2

看起来您没有主分区。
分区 1 - 大小为 316GB,位于 320GB 驱动器上。
我认为主分区就在那里。

答案3

您可能想尝试一下fixparts,这是许多发行版(Debian 类、Fedora、RedHat 等)中提供的出色工具,或者您可以从 SourceForge 下载它,详情请参阅此网页

使用的原因fixparts很简单:在上面引用的网页中,其作者指出:

它可以修复大小错误的扩展分区。这些分区通常用作逻辑分区的占位符,但某些分区工具会错误计算扩展分区的大小,从而导致问题。FixParts 的设计方式是自动进行此类修复,因此,如果这是磁盘的唯一问题,您可以启动该程序,然后立即保存分区表(如后面的“保存更改”部分所述),无需进行任何手动更改,程序就会修复该问题。

......

该程序执行的第一个检查是查找杂散的 GPT 数据。如果磁盘之前在 Macintosh 或其他方面使用过,然后重新用作传统 MBR 磁盘,则此类数据可能会保留在磁盘上。虽然从技术上讲,这种剩余数据不应该成为问题,因为 GPT 规范明确指出此类磁盘不是 GPT 磁盘,因此应将其视为 MBR 磁盘,但某些实用程序可能会因 MBR 和 GPT 数据的存在而感到困惑。因此,FixParts 在启动时会检查这种情况。

...请注意,TestDisk 有时会创建大小不适当的扩展分区,因此您可能需要在使用 TestDisk 后使用 FixParts。

所有这些情况都可能与您的问题相关。

将现有的分区表保存在安全的地方是明智的(如果你使用的是实时发行版,请小心,它添加的内容可能是不稳定的!),方法是

 sfdisk -d /dev/sdc > parts.txt

(稍后可以通过

 sfdisk -f /dev/sdc < parts.txt

),之后您可以fixparts按如下方式启动:

 fixparts /dev/sda 

之后,再次引用作者的话,

FixParts 检查它在磁盘上找到的分区的有效性,并会自动(悄无声息地)对找到的某些问题进行调整。因此,此时您可能会发现分区表没有问题。您还可能会看到主分区状态与逻辑分区状态发生了一些变化,甚至会遗漏分区。

相关内容