本文将介绍怎样读取一个分区的superblock:

1. 首先我们查看一下在磁盘上有哪些分区,通过fdisk -l

这里有三个分区,我们下面查看/dev/sda3(这是一个device file)

2. 从/dev/sda3拷贝1024B-2048B(这就是superblock的位置)到一个叫superblock的文件

这里我们用到了dd这个工具,它在对磁盘进行这样读写操作时非常有用,具体请见man。

bs=1k 每次读写的块大小

skip=1 偏移多少块开始读(这里块为bs=1k,偏移1,表示从1k开始读)

count=1 读的大小(这里表示读1k)

if,of 分别表示从哪里读和写到哪里去。

这里你也许会问为什么要从1k处开始读,并且就读1k的大小呢?下图就是一个分区的物理存储结构:

从图中我们可以看到第一个Block的第一个1k处是存储的Boot Block,而superblock是从1k开始,大小为1k。

3. 查看superblock文件

用vim打开我们刚才从/dev/sda3复制出来的superblock文件,由于是二进制文件,我们在用vim打开之后要用:%!xxd转换成16进制形式。

到这里其实我们已经看到了在磁盘上superblock的形式了。下面我想验证一个这个superblock的正确性。

首先,通过查看/usr/include/linux/ext3_fs.h头文件中的struct ext3_super_block:

我们可以知道在superblock的头上记录着inodes的个数和block的个数,它们分别是32位。

那从superblock中可以看出:

inodes_count: 0000 3a04(注意:这里是小数端) –> 043a0000 = 70909952

blocks_count: fdc4 3904 –> 0439c4fd = 70894845

那么该如何验证这个结果呢?linux为我们提供了dumpe2fs这个工具:

dumpe2fs /dev/sda3 |less
我们可以看到如下的输出(一部分)

到这里,有关如果看superblock的方法,这里就全部都讲完了,同样我们可以用dd查看磁盘上任意的部分。

[OS][FS]查看ext3文件系统分区的superblock的更多相关文章

  1. 81 dumpe2fs-打印“ext2/ext3”文件系统的超级块和快组信息

    dumpe2fs打印"ext2/ext3"文件系统的超级块和快组信息. 语法 dumpe2fs (选项) (参数) 选项 -b:打印文件系统中预留的块信息: -ob<超级块& ...

  2. ext3文件系统基础

    http://blog.csdn.net/haiross/article/category/1488205/2   block size: 是文件系统最小的单位,Ext2/Ext3/Ext4 的区块大 ...

  3. 在Linux环境中使用Ext3文件系统

      Linux缺省情况下使用的文件系统为Ext2,ext2文件系统的确高效稳定.但是,随着Linux系统在关键业务中的应用,Linux文件系统的弱点也渐渐显露出来了:其中系统缺省使用的ext2文件系统 ...

  4. # linux文件系统(inode block superblock)

    先说一下格式化:每种操作系统所设置的文件属性/权限并不相同,为了存放这些文件所需的数据,因此就需要将分区格式化,以成为操作系统能够利用的文件系统格式.linux的文件格式为Ext2/Ext3,现在好像 ...

  5. Ext3文件系统及JDB介绍

    Ext3介绍 对于ext3文件系统,磁盘空间划分一系列block groups,每个group有位图来跟踪inode和data块的分配和范围.其物理布局如下: Superblock:位于group内第 ...

  6. 高性能Linux服务器 第6章 ext3文件系统反删除利器ext3grep extundelete工具恢复rm -rf 误删除的文件

    高性能Linux服务器 第6章  ext3文件系统反删除利器ext3grep  extundelete工具恢复rm -rf 误删除的文件 只能用于ext3文件系统!!!!!!!高俊峰(高性能Linux ...

  7. EXT3文件系统误删除导致文件系统中的邮件丢失恢复方法

    一.故障描述 由8块盘组成的RAID5, 上层是EXT3文件系统,由于误删除导致文件系统中的邮件丢失 二.镜像磁盘为防止数据恢复过程中由于误操作对原始磁盘造成二次破坏, 使用winhex软件为每块磁盘 ...

  8. Linux ext2/ext3文件系统详解

    转载: Linux ext2/ext3文件系统使用索引节点来记录文件信息,作用像windows的文件分配表.索引节点是一个结构,它包含了一个文件的长度.创建及修改时间.权限.所属关系.磁盘中的位置等信 ...

  9. Linux命令学习—— fdisk -l 查看硬盘及分区信息

    Linux命令学习(3)-- fdisk -l 查看硬盘及分区信息注意:在使用fdisk命令时要加上sudo命令,否则什么也不能输出linux fdisk 命令和df区别是什么? fdisk工具是分区 ...

随机推荐

  1. HDU 3264 区间内的最大最小之差

    题目链接:http://poj.org/problem?id=3264 题目大意:在给定一堆牛的数量以及其高度的时候,每次给定一段区间,求这个区间内最高的牛和最矮的牛的高度之差为多少. 可以直接利用R ...

  2. 【贪心+博弈】C. Naming Company

    http://codeforces.com/contest/794/problem/C 题意:A,B两人各有长度为n的字符串,轮流向空字符串C中放字母,A尽可能让字符串字典序小,B尽可能让字符串字典序 ...

  3. Shell 脚本小试牛刀(5) -- 超便捷脚本之高速ssh 登录其它主机

    假设你也是以Linux 为工作环境的童鞋,那么此文真是捷报!由于我的学习/工作中(特别是近期玩耍树莓派)常常会使用到ssh 登录其它主机,而每次使用ssh 登录都须要输入老长一大串让我非常烦.所以我写 ...

  4. Ribbon简介

    Ribbon简介

  5. CentOS 7下安装Logstash ELK Stack 日志管理系统(下)

    修改防火墙,对外开放tcp/5601 [root@elk elk]# firewall-cmd --permanent --add-port=5601/tcpSuccess[root@elk elk] ...

  6. libevent HTTP client 的实现

    my_conn_ = evhttp_connection_base_new(ev_base_,ev_dns_,host,port); struct evhttp_request *http_req; ...

  7. hi3531 SDK已编译文件系统制作jffs2文件系统镜像并解决这个问题 .

    一, 安装SDK 1.Hi3531 SDK包位置 在"Hi3531_V100R001***/01.software/board"文件夹下,您能够看到一个 Hi3531_SDK_Vx ...

  8. 责任链模式的具体应用 ServiceStack.Redis订阅发布服务的调用

    责任链模式的具体应用   1.业务场景 生产车间中使用的条码扫描,往往一把扫描枪需要扫描不同的条码来处理不同的业务逻辑,比如,扫描投入料工位条码.扫描投入料条码.扫描产出工装条码等,每种类型的条码位数 ...

  9. Android 使用 DownloadManager 管理系统下载任务的方法

    在红黑联盟上看到的.这几天一直考虑做一个Notification 的带下载功能的自己定义通知.但没搞出来.无意中在论坛看到这个.先Mark,明天试试. 从Android 2.3(API level 9 ...

  10. sql server 系统常用函数:聚合函数 数学函数 字符串函数 日期和时间函数和自定义函数

    一.系统函数 1.聚合函数 聚合函数常用于GROUP BY子句,在SQL Server 2008提供的所有聚合函数中,除了COUNT函数以外,聚合函数都会忽略空值AVG.COUNT.COUNT_BIG ...