开发者社区> 问答> 正文

磁盘扩容后重启实例,使用e2fsck命令时提示:Bad magic number in super-block

问题描述:


磁盘扩容后重启实例,然后按照阿里云官网教程使用fdisk重新分区,最后使用e2fsck和resize2fs来完成文件系统层面的扩容,但这步出现了错误。告知"Bad magic number in super-block"。


解决过程:


这种情况说明工具没有找到正确的super block。通过fdisk -l查看发现多块磁盘的起始分区位置并不一样。





如果说通过fdisk重新分区后将起始分区位置改变了,那么确实就无法找到正确的super block了,所以难怪工具如此提示。
使用分区工具parted检验一下。

1、使用parted工具读取磁盘分区表信息

#parted /dev/xvdb




2、删除该分区表


(parted) rm 1



3、恢复老的分区表。这里猜测之前的起始位置是56扇区,由于parted工具默认启动、结束位置单位都是用容量单位即kB/MB/GB,所以需要通过unit s命令定义默认使用sectors。


(parted)unit s

(parted)rescue 56 5369MB







可以看到老的分区已经乖乖的回来了。但是由于是在扩容所以我们好重建分区表所以修复老分区表只是为了获取之前的起始位置信息。


4、创建新分区。这里需要注意的是parted工具里END的值,由于一般大家都不清楚具体的扇区数量,可以使用容量来替代。

(parted)rm 1
(parted)unit s
(parted)mkpart primary ext3 56 5639MB




至此就将分区表扩容处理完毕了。接下来执行e2fsck和resize2fs都正常了


展开
收起
云栖徒骇 2016-02-23 14:05:05 17429 0
1 条回答
写回答
取消 提交回答
  • 码农|Coder| Pythonista
    学习了
    2016-02-24 05:56:18
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载