Sha*_*ane 5 partitioning ext4 gparted fat32 data-recovery
我刚刚使用 gparted 将 ext4 分区格式化为 fat32。
我应该朝哪个方向努力恢复?
我无意中犯了格式化分区的愚蠢错误。我在上网本上安装了一个名为 crunchbang 的 linux 发行版,所以我不必每周都带我的笔记本电脑去上课。我打算为此格式化 USB 闪存驱动器,但令我沮丧的是,我将包含超过 500GB 数据的 ext4 分区格式化为 fat32。这是我学到的东西的总结:
如果文件系统损坏,您可以尝试恢复该文件系统本身或单个文件。无论文件系统的状态如何,单个文件恢复都是可能的,但是如果您处理大量数据,它的缺点是几乎完全无用。当您恢复单个文件时,您将丢失数据的整个目录结构(即组织和文件名)。就我而言,这完全没用,因为我需要花费数年时间来筛选和重命名所有这些音乐文件和其他垃圾。此外,在许多情况下,程序将无法为您的文件找到特定的开始和结束块(纯文本文件几乎总是如此)并且您最终可能(像我一样)将每个 mp3 文件分成一百个 1- 5秒片断。
如果您处于不同的情况(例如恢复非常少量的数据或寻找特定的可搜索数据),那么单个文件恢复可能是您的一个选择。我为此找到的免费实用程序是:
照片记录
和
最重要
(为了您的方便,两者都在 ubuntu 存储库中)
如果您的目的是恢复整个分区,那么您应该寻找一款名为 TestDisk 的软件。这也在 ubuntu 存储库中,它有一个很好的 curses GUI 使事情变得更容易。
TestDisk 兼容所有类型的文件系统,包括 ext2/3/4、ntfs、fat 和其他..(并且二进制文件在 Windows 以及 UNIX 兼容版本中发布)不幸的是,在使用此实用程序数小时后,TestDisk 能够找到我的旧分区,但是根 inode 被破坏了,所以我放弃了使用 TestDisk 并决定尝试手动恢复 ext 备份超级块。
如果您关心的是 linux ext2/3/4 分区,那么您会发现这些实用程序很有用(它们肯定已经在您的 linux 机器上)
这将用于计算备份超级块所在的位置,如果您要在有问题的分区上为 ext2/3/4 创建 ext 文件系统 mke2fs(制作扩展 2 文件系统)
这将用于尝试使用备份超级块 e2fsck 之一(扩展 2 文件系统检查)来恢复文件系统,也适用于 ext2/3/4
可以在此处找到有关如何使用这些实用程序手动恢复 ext 超级块的说明:在 Ubuntu 中修复损坏的 Ext4 超级块。
旁注:如果您的分区表完好无损(对我来说不是这种情况),那么您也许可以像这样使用 dumpe2fs: Linux:查找替代超级块 - nixCraft
如果您无法使用这些实用程序来查找备份超级块(也许您弄乱了多个分区,因此,您不知道它们从哪里开始/结束),您可能会发现使用名为 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 的实用程序通过管道报告数据的进度
例如: pv -tpreb /dev/sda | dd of=/home/yourname/sda.img.bak bs=512
顺便说一句:有些人建议制作备份映像,并直接对其进行处理,但我发现在磁盘本身上工作(更容易安装)并在必要时将映像恢复到磁盘更容易