我有一个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我已经能够从该分区拉出一些文件,所以数据在那里,磁盘正在工作。 但是,超级块有问题。
我将如何恢复这个分区?
在XFS重播错误之后,尝试按照错误消息重新装入分区。
如果一切太乱,我强烈build议下载UFS资源pipe理器,以帮助从另一个系统的深度文件恢复。
我有“sda6”上的XFS分区。 在Lubuntu它的corrputed,不会修复,并不会在13.10上挂载XFS分区。 在启动Lubuntu的时候就说应该修复并尝试引导来修复XFS文件系统。 当我第一次安装Lubuntu时,在分区上说“ Unknown” 。
Lubuntu没有修复。 对我使用命令xfs_check没有解决。
我终于解决了Debian 7并重新安装。 它检测到所有文件系统和正常挂载的XFS分区。
我读了很多用户的XFS文件系统,所以我认为这是内核版本的变化的问题,因为Debian 7使用3.2版本,并正常安装XFS没有错误,但在Ubuntu最新的内核3.11不会解决XFS文件系统 。
我试过用CentOS 6.5,但是CentOS跟着RedHat和旧的“stable”内核。 它不会自动检测到 XFS。
最后,我已经在Debian 7上备份了XFS分区上的所有数据 ,并将分区重新创build为EXT4 。
由于RedHat不会修复XFS读取分区和XFS的一些问题(谷歌它有多less用户没有解决XFS读取分区)我一般select使用Debian来备份和更改为新的兼容内核3.11到EXT4 / btrfs …文件系统。
希望这个人帮助。
我使用新下载的Debian 8.7.1在真正的服务器上修复了我的XFS分区,只是把磁盘放在这个系统上,然后自动修复。 Centos 5和6不能修复它
当我今天遇到这个问题时(上午9点半左右),上面的答案并没有帮助我。 我将在这里介绍为我工作的解决scheme,以及为什么以前的答案没有帮助的原因。
/home
任何文件都不能被保存/编辑,或者列出的任何目录。 dmesg
显示了一些xfs_do_force_shutdown called
了一些其他的xfs消息。 xfs_repair
在阶段1失败, superblock read failed
然后是fatal error -- Input/output error
/
,即只有/home
不工作)。 mount
会导致superblock cannot be found
(或类似)的错误,但没有提示下一步该怎么做。 解决scheme是基于这个职位 Nigel史密斯,XFS的主要作者(如果我理解正确)。 如果以前的链接过时,我会在这里重新发布步骤。 以下所有操作必须以root
身份运行(显然)。
smartctl -t long /dev/sda
。 可能还要等一下。 如果有相对较近的长时间testing(如我的情况),也可以使用smartctl -t short /dev/sda
进行一个简短的testing。 smartctl -l selftest /dev/sda
或smartctl -a /dev/sda
(后者显示所有内容,但所需信息几乎在最后)。 LBA_of_first_error
。 这是分区上第一个错误的位置。 从最新的testing(将被编号为“#1”并且位于列表顶部),抓取显示的数字并将其除以8并截断为一个整数值(参见原始文章)。 # dd if=/dev/zero of=/dev/sda conv=sync bs=4096 count=1 seek=*NUMBER_COMPUTED_EARLIER*
smartctl -A /dev/hda | egrep 'Reallocated|Pending|Uncorrectable'
查看错误块的近似数量 smartctl -A /dev/hda | egrep 'Reallocated|Pending|Uncorrectable'
在我的情况下,我重复了第1步到第4步,直到下降到24个错误。 xfs_repair /dev/sda
( 不带 -L
标志)。 这可能会报告您应该尝试挂载文件系统,因为日志logging错误。 xfs_repair -L /dev/sda
删除日志日志(这可能会导致数据被删除)。 /home
的主要FS。 xfs_check
已经被废弃,转而使用xfs_repair -n
。 apt-get install xfsprogs
可以实现这个function,这就是Debian,他们的“stable”软件包已经落伍了。 长话短说, xfs_repair /dev/sda
只是永远挂着。 这个过程不能被杀死(即使是使用sigterm)。