安装时意外执行 fsck

安装时意外执行 fsck

我意外地在挂载的分区上运行了“fsck”,而这个分区是我唯一的分区。现在我无法启动。它是 Fedora 13,文件系统应该是 ext3。

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

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

答案1

立即采取的行动(要做和不要做的事情):

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

开始恢复之前:

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

显著的好处

  • 您可以复制备份并同时运行不同的恢复方法,从而有效节省整个恢复过程所花费的时间。
  • 如果恢复过程中出现严重问题(恢复工具失败、数据进一步损坏,磁头损坏等导致原始源无法运行,...]
  • 在特定情况下,直接在保存最宝贵数据的设备上进行工作是非常糟糕的主意。

准备恢复:

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

但是,以这种方式创建磁盘映像可能会占用大量磁盘空间,2000GB 的文件占用 2000GB 的磁盘空间,因为dd它不查看文件系统或存储在硬盘上的数据,而是尝试复制它能看到的每一位。必须使用压缩(至少对于更大的磁盘),即使使用最快的压缩方法,它仍然会消除大多数零[放射线剂量率]来自文件。此示例将磁盘复制/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

如果你从有缺陷的源拍摄图像,则使用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如果以上方法均失败,请尝试此方法。摄影记录将尝试通过标题查找文件,因此它只能恢复已知类型此处列出但它可能至少可以恢复一些内容,因为它不需要了解文件系统,而是直接处理原始数据。但是,如果文件不连续,则可能无法完全恢复某些文件。另一个具有类似功能的实用程序是最重要的魔法救援

几点说明:

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

磁盘映像压缩可以有效地完成LZ4或者放气因为两者都具有良好的 RLE 支持,当然任何无损算法都可以(或多或少有效)。

还有许多其他恢复实用程序谷歌

相关内容