如何破坏服务器系统,如何修正文件系统超块中毁坏的幻数

环境 平台: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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值