系统诊断小技巧(9):如何从Ext3或者Ext4文件系统推断分区位置-阿里云开发者社区

开发者社区> 宁希波若> 正文

系统诊断小技巧(9):如何从Ext3或者Ext4文件系统推断分区位置

简介: 扩容失败或者系统重启后分区丢失,需要文件系统推定分区位置。我们这里给出一个自动化的工具
+关注继续查看

注意:

  1. 下面的命令都以/dev/vdb为操作目标,请按照实际情况调整。
  2. 我们假设扇区大小为512字节。如果有不同,请调整。
  3. 部分系统,fdisk命令默认的单位不是扇区大小。所以使用fdisk命令时,我们总是使用-u选项。如果使用parted,则进入后先执行unit s命令。
  4. (较新)fdisk工具默认分区位置是2048。如果需要定制分区的起始扇区,请使用parted工具。

如果需要从Ext3/4文件系统托定分区位置,简单、实用的方法是检查文件系统模数所在位置。熟练的同学可以手工检测。把检测到的结果与完好的文件系统数据对比分析,推断分区位置是很简单的过程。

这里,操作比较麻烦的是寻找模数所在位置和从之推算分区的其实位置。那么,能不能自动化这个检测过程呢?答案是肯定的。

dd if=/dev/vdb bs=512 count=4096 2>/dev/null | \
od -tx1 | perl -ne '
    chomp;
    if (/^([0-7]+)\s # 磁盘数据的位置
       ([0-9a-f][0-9a-f]\s){8} # 越过无关数据
       53\sef\s # 模数
       0[124]\s00\s0[123]\s00\s # 文件系统状态和出错后的行为配置
       /x) {
             my $s=int((oct $1)/512)-2;
             print qq[$s $_\n];
            }'

先确认分区情况。这里提醒大家总是记得使用-u选项。这样我们得到磁盘和分区信息都是以扇区(512byte)为单位的。

fdisk -l -u /dev/vdb

我们给出一个分区和文件系统完好的例子

image

祝大家玩的愉快。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
ECS运维:操作系统有异常?诊断日志来帮忙!
操作系统配置不当或程序过载可能会造成ECS系统内核崩溃,这将导致夯机、异常重启或无法正常启动等问题。为了分析根本原因,运维人员通常要查看系统日志,但此时也许实例已经无法正常远程连接,使得分析诊断非常困难。阿里云提供了一键查看系统日志和屏幕截图功能,为运维人员提供一个方便的工具,支持系统故障的分析。
7060 0
从Windows以AD域用户身份挂载使用阿里云SMB协议文件系统
在完成AD域接入之后,用户即可开始以AD域用户身份挂载使用阿里云SMB协议文件系统了。本文介绍了几种SMB文件系统的挂在方式以及简单的ACL特性使用方法的演示。
5039 0
【Nature重磅】再创纪录!百余家实验室近150位科学家联合开发超级AI系统,精准诊断近100种脑癌
距离我们上次报道张康教授的重磅AI研究还不到一个月,来自全球100多个实验室的近150位科学家联合在顶级期刊《自然》发文,他们开发了一个超级AI系统,基于肿瘤组织DNA的甲基化数据,可以准确区分近100种不同的中枢神经系统肿瘤。
3620 0
+关注
宁希波若
Linux系统黑客,传统意义上的。多时候栖身C库和内核交界处。
23
文章
0
问答
来源圈子
更多
作为全球云计算的领先者,阿里云为全球230万企业提供着云计算服务,服务范围覆盖200多个国家和地区。我们致力于为企业、政府等组织机构提供安全可靠的云计算服务,给用户带来极速愉悦的服务体验。
+ 订阅
文章排行榜
最热
最新
相关电子书
更多
《Nacos架构&原理》
立即下载
《看见新力量:二》电子书
立即下载
云上自动化运维(CloudOps)白皮书
立即下载