美文网首页我用 LinuxLinuxLinux学习之路
如何修复 filesystem superblock 损坏

如何修复 filesystem superblock 损坏

作者: jouyouyun | 来源:发表于2018-08-04 16:32 被阅读85次

    本周去某公司调试系统,他们硬件测试部分送来了一台系统无法进入的机器,让我看下是系统原因还是 SSD 硬件有问题。

    拿到机器开机后,没有正常的进入系统,直接进入了initramfs mode, 并有filesystem invalid superblock checksum error 的错误提示,遂告诉他们是系统的 filesystem 挂了。

    然后开始查找修复方法,最后找到了方法并修复了机器,在此记录一下。


    修复方法

    下面的命令都是在initramfs shell中执行的。

    1. 先确定你系统所在的分区

    可以执行 lsblk 来查看分区信息,然后确定,假设是 /dev/sdaX

    1. 列出分区的superblock备份信息

    执行命令 mke2fs -n /dev/sdaX,将会看到以下输出:

        mke2fs 1.44.2 (14-May-2018)
    
        /dev/sda7 有一个 ext4 文件系统
    
            上一次挂载于 /, 时间 Thu May 17 17:15:32 2018
    
        Proceed anyway? (y,N) y
    
        创建含有 7864320 个块(每块 4k)和 1966080 个inode的文件系统
    
        文件系统UUID:dd407bb8-e38a-42f8-ae3f-38081af46323
    
        超级块的备份存储于下列块:
    
            32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,4096000
    
    

    输出中最后的那些数字就是用来恢复的。

    1. 从备份中恢复

    先使用备份中列块的第一个 number 进行恢复,命令:e2fsck -b 32768 /dev/sdaX -y, 执行完成后重启。

    如果重启还是进不了系统,就换一个 列块 number 继续恢复,然后重启,直至成功。

    相关文章

      网友评论

      • 有只大白猫:希望作者可以写的详细点,以后发更多技术性文章,加油

      本文标题:如何修复 filesystem superblock 损坏

      本文链接:https://www.haomeiwen.com/subject/bqymvftx.html