已安装的意外 fsck

Ber*_*erk 0 linux data-recovery ext3

我不小心在安装的分区上运行了“fsck”,这是我唯一的分区。现在我无法启动。它是 Fedora 13,文件系统应该是 ext3。

我已经用 ubuntu 11.10 从 USB 启动了。我发现 lost+found 是空的。我找不到我的文件。有没有办法恢复它们?

我只想保存我的一些文件。

Sam*_*org 9

立即行动(做和不做):

  • 立即umount /dev/sdaX分区,或者如果它是不可能做mount -o remount,ro /dev/sdaX哪里/dev/sdaX是你的分区的设备节点。
  • 不要向包含您要恢复的文件/数据的分区写入任何内容。
  • 不要运行任何文件系统修复工具(fsck 或类似工具)或任何可以修改文件系统或磁盘内容的实用程序。
  • 在初始阶段备份准备就绪之前,请勿尝试挂载/使用该分区。

开始恢复之前:

在尝试从损坏的文件系统中恢复任何文件之前,您应该始终制作磁盘或分区映像。当您拥有映像文件时,如果恢复过程出现问题并且情况变得更糟,您可以随时回滚。

显着的好处

  • 您可以复制备份并同时运行不同的恢复方法,从而有效地节省整个恢复过程所花费的时间。
  • 如果恢复出现严重错误,您可以从头开始重新启动整个恢复过程[恢复工具失败、进一步的数据损坏、磁头崩溃等导致原始源无法操作,...]
  • 在特定情况下,直接在您最有价值的数据所在的设备上工作是非常糟糕的主意。

准备恢复:

有多种方法和实用程序可以帮助创建映像,一个示例是使用名为dd. 此实用程序可以将每一位从 HDD 复制到文件。

但是,以这种方式进行磁盘映像可能会占用大量磁盘空间,2000GB 磁盘的 2000GB 文件,因为dd不查看文件系统或存储到硬盘的数据,而只是尝试复制它可以看到的每一位。必须使用压缩(至少对于更大的磁盘),即使使用最快的压缩方法,它仍然可以从文件中消除大多数零[ RLE ]。本示例将磁盘复制/dev/sda/mount/backups/disk1.img.bz2.

# Disk image + compression with bzip2:
dd if=/dev/sda of=/dev/stdout bs=1M | bzip2 > /mount/backups/disk1.img.bz2
# Or compression with gzip:
dd if=/dev/sda of=/dev/stdout bs=1M | gzip > /mount/backups/disk1.img.gz
Run Code Online (Sandbox Code Playgroud)

如果您从有缺陷的来源获取图像,则使用ddrescue而不是ddddrescue 是类似的实用程序,但它可以在出现错误时重试/跳过扇区)。

如何恢复文件:

EXT 文件系统的良好文件恢复实用程序是extundeleteext3grep

debugfs可能会有所帮助,但需要对底层文件系统进行一些了解,您可以尝试它是否可以读取您的文件系统。查看和复制文件的查看catdump提供debugfs
请参阅http://carlo17.home.xs4all.nl/howto/undelete_ext3.html
http://www.cyberciti.biz/tips/surviving-a-linux-filesystem-failures.html

testdisk 是另一个用于从磁盘查找和修复分区表的实用程序。

fsck -t ext3 -f -y 也值得一试,但请记住,这将直接写入源,因此请确保您有备份。

photorec如果以上都失败了试试这个。Photorec将尝试通过标头查找文件,因此它只能恢复此处列出的已知类型但它可能至少可以恢复某些内容,因为它不需要了解有关文件系统的任何信息,而是直接处理原始数据。但是,如果文件不连续,则某些文件可能无法完全恢复。另一个具有同样功能的实用程序是ForemostMagicr Rescue

几点注意事项:

请记住,某些恢复/检查实用程序也可能通过损坏数据使情况变得更糟,这就是为什么您确实应该在继续恢复之前首先创建完整磁盘备份的原因。

磁盘映像压缩可以使用LZ4DEFLATE有效完成,因为它们都具有良好的 RLE 支持,当然任何无损算法都可以(或多或少有效)。

Google 上还有许多其他恢复实用程序。