意外格式化了 ext4 分区

意外格式化了 ext4 分区

我刚刚使用 gparted 将 ext4 分区格式化为 fat32。

我愚蠢地关闭了 gparted,然后才意识到我可以使用撤消功能。我目前正在尝试使用 gparted 恢复文件系统,我觉得格式化为另一种分区类型对我没有任何好处,而不是意外删除分区。

对恢复分区或数据有任何帮助吗?

答案1

我想到的是相簿,通常与以下内容一起打包TestDisk

PhotoRec 忽略文件系统并追踪底层数据,因此即使媒体的文件系统已严重损坏或重新格式化,它仍能工作。

名字的由来照片图形录制但它承认更多比图片文件更

答案2

我犯了一个愚蠢的错误,不小心格式化了一个分区。我当时正在上网本上安装一个名为 crunchbang 的 Linux 发行版,这样我就不必每周都带着笔记本电脑去上课了。我打算为此格式化一个 USB 闪存驱动器,但令我沮丧的是,我将一个包含超过 500GB 数据的 ext4 分区格式化为 fat32。以下是我所学到的知识的总结:

如果文件系统损坏,您可以尝试恢复文件系统本身或单个文件。无论文件系统的状态如何,都可以恢复单个文件,但如果要处理大量数据,这种方法的缺点是几乎完全无用。当您恢复单个文件时,您将丢失数据的整个目录结构(即组织和文件名)。就我而言,这完全没用,因为我需要花数年时间才能筛选并重命名所有这些音乐文件和其他垃圾文件。此外,在许多情况下,程序无法找到文件的特定开始和结束块(纯文本文件几乎总是这种情况),您最终可能会(像我一样)将每个 mp3 文件分成一百个 1-5 秒的片段。

在尝试任何操作之前,请先通读本文...(您会在底部找到制作磁盘映像的说明,但应先完成此操作)

如果您的情况不同(例如恢复少量数据或寻找特定的可搜索数据),那么单个文件恢复可能是一个不错的选择。我找到的免费实用程序有:

PhotoRec [没有足够的回复来发布链接]

ForeMost [没有足够的回复来发布链接]

(为方便您使用,两者都位于 ubuntu 存储库中)


如果您想要恢复整个分区,那么您应该考虑使用一款名为 TestDisk 的软件。这款软件也在 ubuntu 存储库中,并且它有一个不错的 curses GUI,可让事情变得更容易。[回复量不足,无法发布链接]

TestDisk 与所有类型的文件系统兼容,包括 ext2/3/4、ntfs、fat 等......(并且二进制文件在 Windows 和 UNIX 兼容版本中发布)不幸的是,使用该实用程序数小时后,TestDisk 能够找到我的旧分区,但根 inode 已被破坏,因此我放弃使用 TestDisk 并决定尝试手动恢复 ext 备份超级块。


如果你关心的是 Linux ext2/3/4 分区,那么你会发现这些实用程序很有用(它们肯定已经在你的 Linux 机器上了)

这将用于计算在您要在相关分区上创建 ext 文件系统时备份超级块的位置,mke2fs(创建扩展 2 文件系统)用于 ext2/3/4

这将用于尝试使用备份超级块之一 e2fsck(扩展 2 文件系统检查)恢复文件系统,也适用于 ext2/3/4

有关如何使用这些实用程序手动恢复 ext 超级块的说明,请参见此处: http://ing-tani.blogspot.com/2013/01/repair-broken-ext4-superblock-in-ubuntu.html

附注:如果你的分区表是完整的(我的情况不是这样),那么你也许可以像这样使用 dumpe2fs: http://www.cyberciti.biz/faq/linux-find-alternative-superblocks/

如果您无法使用这些实用程序来找到备份超级块(也许您弄乱了多个分区,因此您不知道它们从哪里开始/结束),您可能会发现一个名为 gpart 的程序(不要与 gparted 或 parted 混淆......它们完全不同)虽然我不确定它是否支持比 ext2 更新的 linux 文件系统。如果您现在正处于这种情况,那么可能是时候开始担心了。


使用最后一种方法,我成功地恢复了整个分区,保存了顶级目录名称(所以我不得不重命名大约 6 个顶级文件夹,但它们下面的所有内容都保留了下来)成功!

对我来说,另一件极其重要的事情是创建混乱磁盘的备份映像(在尝试恢复时,我至少两次恢复了该映像),因此在使用这些实用程序之前,首先要在您的机器或外部驱动器上找到一些可用空间。

如果您弄乱的驱动器是 sda,并且您想将图像存储在您名字的主目录中,例如:dd if=/dev/sda of=/home/yourname/sda.img.bak bs=512

在恢复尝试失败后恢复映像:dd if=/home/yourname/sda.img.bak of=/dev/sda bs=512

如果您只对第一个分区感兴趣,那么您当然可以使用 /dev/sda1,但是由于其中一些实用程序会改变分区表,因此对整个磁盘进行映像可能是更好的主意。

另外,如果你使用 dd 进行大型操作,查看进度条会很有帮助,你可以使用名为 pv 的实用程序来报告数据通过管道的进度 [NOT ENOUGH REP TO POST LINK]

例如:pv -tpreb /​​dev/sda | dd of=/home/yourname/sda.img.bak bs=512

顺便说一句:有些人建议制作备份映像并直接对其进行操作,但我发现在磁盘本身上操作更容易(更容易安装)


总之,如果你已经做到了这一点,我希望你永远不需要使用这些工具来恢复你的数据。但如果你确实需要,也许这个例子会让你更容易一点(我花了很多时间在网上搜索这些信息,很多人告诉我这是不可能的)

附言

如果您的磁盘物理损坏,那么您将无法使用 dd 进行映像处理,因为它会因读取错误而中止。您也许可以使用 GNU dd_rescue(但这看起来需要一些工作和大量时间)[回复量不足,无法发布链接]

相关内容