如何恢复出现“超级块读取失败”的 XFS 文件系统

如何恢复出现“超级块读取失败”的 XFS 文件系统

我有一个来自 Buffalo LinkStation 的磁盘,上面有一个无法安装的 XFS 分区。

将磁盘插入 Ubuntu 盒子上的 SATA->USB 盒。我得到以下信息:

$ sudo fdisk -l /dev/sdb

Disk /dev/sdb: 500.1 GB, 500107862016 bytes
255 heads, 63 sectors/track, 60801 cylinders, total 976773168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1              63      594404      297171   83  Linux
/dev/sdb2          594405     1590434      498015   83  Linux
/dev/sdb4         1590435   976768064   487588815    5  Extended
/dev/sdb5         1590498     1863539      136521   82  Linux swap / Solaris
/dev/sdb6         1863603   976494959   487315678+  83  Linux

问题分区是 /dev/sdb6。

$ sudo xfs_check /dev/sdb6
ERROR: The filesystem has valuable metadata changes in a log which needs to
be replayed.  Mount the filesystem to replay the log, and unmount it before
re-running xfs_check.  If you are unable to mount the filesystem, then use
the xfs_repair -L option to destroy the log and attempt a repair.
Note that destroying the log may cause corruption -- please attempt a mount
of the filesystem before doing this.

因此尝试 xfs_repair -L 选项让我陷入无法摆脱的境地:

$ sudo xfs_repair -L /dev/sdb6
Phase 1 - find and verify superblock...
superblock read failed, offset 382252089344, size 131072, ag 89, rval -1

fatal error -- Input/output error

使用 photorec,我能够从该分区中提取一些文件,因此数据在那里,磁盘物理上可以正常工作。但是,超级块存在问题。

我该如何恢复该分区?

答案1

XFS 重放错误后,根据错误消息尝试再次 MOUNT 该分区。

如果一切都太混乱,我强烈建议下载UFS 探索者帮助从另一个系统进行深度文件恢复。

答案2

当我今天(大约 9.5 小时前)遇到此问题时,上述答案对我没有帮助。我将在此介绍对我有用的解决方案,以及先前答案没有帮助的原因。

症状

  1. 突然之间,任何文件/home或列出的任何目录都无法保存/编辑等。
  2. dmesg在某处显示了xfs_do_force_shutdown called一些其他 xfs 消息。
  3. xfs_repair第一阶段失败,superblock read failed随后fatal error -- Input/output error
  4. 我的磁盘的其余部分运行正常(包括/,只有 ie/home无法工作)。
  5. 尝试mount会导致superblock cannot be found(或类似的)错误,但没有提示下一步该做什么。

解决方案

该解决方案基于这个帖子Nigel Smith,XFS 的主要作者(如果我理解正确的话)。如果之前的链接过时了,我将在这里重新发布这些步骤。所有以下操作都必须按以下方式运行root(显然)。

  1. 对驱动器进行长时间的自检: 。这可能需要一段时间。如果最近有一次长时间的测试(就像我的情况一样),smartctl -t long /dev/sda您也可以使用 运行一次短时间的测试。smartctl -t short /dev/sda
  2. 使用以下任一方法检查测试:smartctl -l selftest /dev/sdasmartctl -a /dev/sda(后者显示所有内容,但您需要的信息几乎在最后)。
  3. 测试报告的最后一列称为LBA_of_first_error。这是磁盘上第一个错误的位置。从最新的测试(将编号为“#1”并位于列表顶部)中,获取显示的数字并将其除以 8 并截断为整数值(请参阅原始帖子以了解原因)。
  4. 然后,您将把这个特定的块清零。这将导致该位置处的特定文件损坏。(但如果你已经用尽了所有其他方法,那么几个损坏的文件就不是什么大问题了。)要做到这一点,请运行以下命令:# dd if=/dev/zero of=/dev/sda conv=sync bs=4096 count=1 seek=*NUMBER_COMPUTED_EARLIER*
  5. 执行简短测试并等待一两分钟以查看结果。重复此操作,直到简短测试不显示任何错误。或者,您可以使用检查错误块的大致数量。smartctl -A /dev/hda | egrep 'Reallocated|Pending|Uncorrectable'在我的例子中,我重复了步骤 1 到 4,直到错误数降到 24 个。
  6. 跑步xfs_repair /dev/sda没有标志-L)。这可能会报告您应该尝试挂载文件系统,因为日志错误。
  7. 尝试安装该系统。就我而言,失败了,因此我必须运行xfs_repair -L /dev/sda删除日志的命令(这可能会导致数据被删除)。
  8. 安装您的文件系统并进行最近备份!

为什么上述解决方案不再有效

  • 最初的帖子已有数年历史。与此同时,XFS 已发生足够多的改变,SuSE 团队认为它足够稳定,可以用作 的主要 FS /home
  • xfs_check已被废弃,取而代之的是xfs_repair -n
  • Debian 的解决方案非常麻烦,而且浪费时间。到目前为止,Debian才不是支持 UEFI 启动,并且该信息不是在他们的下载页面或主要 FAQ 页面上(在他们的 Wiki 上)。因此,为了使用它进行启动,您需要在 BIOS 中禁用 UEFI Secureboot,然后使用密钥进行启动。之后,您会注意到默认安装 xfs 工具。因此,您只会apt-get install xfsprogs意识到,这是 Debian,他们的“稳定”软件包实际上落后了好几年。长话短说,xfs_repair /dev/sda只是永远挂起。无法终止该进程(即使使用 sigterm)。
  • UFS Explorer 是一款付费软件。
  • photorec 仅支持特定文件类型(告别 GPG 密钥),并将所有任意名称的文件恢复到一个文件夹中。祝您好运,完成所有这些操作并找到相关信息。

答案3

我在“sda6”上有 XFS 分区。在 Lubuntu 上,它已损坏,无法修复,也无法在 13.10 上安装 XFS 分区。启动 Lubuntu 时,它显示应该修复并尝试启动修复 XFS 文件系统。当我第一次安装 Lubuntu 时,分区上显示未知

Lubuntu 没有修复。使用命令xfs_check对我来说没有解决。

我终于解决了Debian 7并重新安装。检测到所有文件系统和通常挂载 XFS分割。

我读到过很多 XFS 文件系统的用户,所以我认为这是内核版本变化的问题,因为 Debian 7 使用的是版本3.2并正常挂载 XFS 且没有错误,但在具有最新内核的 Ubuntu 上3.11 无法解决 XFS 文件系统问题

我尝试使用 CentOS 6.5,但是CentOS继续使用 RedHat 和旧的“稳定”内核。它不会被检测到自动 XFS。

我终于上 Debian 7 了备份所有数据在 XFS 分区上并重新创建分区以EXT4


由于 RedHat 不会修复 XFS 读取分区和一些 XFS 问题(谷歌一下有多少用户没有解决 XFS 读取分区)我通常选择使用 Debian 进行备份并更改为与内核 3.11 兼容的新 EXT4/btrfs... 文件系统。

希望有人能帮忙。

答案4

我使用新下载的 Debian 8.7.1 在真实服务器上修复了我的 XFS 分区,只需将磁盘放在此系统上,它就会自动修复。 Centos 5 和 6 无法修复它

相关内容