科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网服务器频道如何修正文件系统超块中毁坏的幻数

如何修正文件系统超块中毁坏的幻数

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

通过 root 用户权限,使用 od 命令显示文件系统的超级块,如下例中所示: od -x -N 64 /dev/lv02 +0x1000  此处 -x 标志显示十六进制格式的输出,-N 标志指示系统格式化偏移参数(+)中不多于 64 个的输入字节,这指定了文件中开始文件输出的位置。

来源:天新网 2008年6月11日

关键字: 服务器 操作系统 JFS 文件系统

  • 评论
  • 分享微博
  • 分享邮件

  环境 平台:pSerIEs

  软件版本:AIX5L

  问题 如何修正文件系统超块中毁坏的幻数?

  解答 如果毁坏了文件系统的超级块,则不能访问该文件系统。下面介绍修复由毁坏的幻数引起的超级块错误的方法。

  在以下情况中,假定 /home/myfs 是逻辑卷 /dev/lv02 上的 JFS 文件系统。

  1. 使用以下命令卸下您猜测可能遭到毁坏的 /home/myfs 文件系统:

  umount /home/myfs

  2. 要确认对文件系统的毁坏,请对文件系统运行 fsck 命令。例如:

  fsck -p /dev/lv02

  如果是对超级块毁坏,则 fsck 命令返回以下消息之一:

  fsck:不是 AIXV5 文件系统

  或

  不是识别的文件系统类型

  3. 通过 root 用户权限,使用 od 命令显示文件系统的超级块,如下例中所示:

  od -x -N 64 /dev/lv02 +0x1000

  此处 -x 标志显示十六进制格式的输出,-N 标志指示系统格式化偏移参数(+)中不多于 64 个的输入字节,这指定了文件中开始文件输出的位置。以下是输出示例:

  0001000 1234 0234 0000 0000 0000 4000 0000 000a

  0001010 0001 8000 1000 0000 2f6c 7633 0000 6c76

  0001020 3300 0000 000a 0003 0100 0000 2f28 0383

  0001030 0000 0001 0000 0200 0000 2000 0000 0000

  0001040

  在上述输出中,请注意 0x1000(1234 0234)处毁坏的幻值。如果创建文件系统时接受了所有缺省值,则幻数应该为 0x43218765。如果覆盖了任何缺省值,则幻数应该为 0x65872143。

  4. 使用 od 命令来检查第二个超级块的 magic number 是否正确。以下是示例命令及其输出:

  $ od -x -N 64 /dev/lv02 +0x1f000

  001f000 6587 2143 0000 0000 0000 4000 0000 000a

  001f010 0001 8000 1000 0000 2f6c 7633 0000 6c76

  001f020 3300 0000 000a 0003 0100 0000 2f28 0383

  001f030 0000 0001 0000 0200 0000 2000 0000 0000

  001f040

  请注意 0x1f000 处的正确幻值。

  5. 将第二个超级块复制到主超块。以下是示例命令和输出:

  $ dd count=1 bs=4k skip=31 seek=1 if=/dev/lv02 of=/dev/lv02

  dd: 1+0 records in.

  dd: 1+0 records out.

  6. 使用 fsck 命令来清除由使用第二个超块引起的不一致文件。例如:

  fsck /dev/lv02 2>&1 | tee /tmp/fsck.errs

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章