您当前的位置:首页>>技术中心>>数据恢复文章>>正文
 
Ext2 文件系统的硬盘布局
作者: 来源: 日期:2006-3-26 0:19:26  点击次数:

    3 详细的布局情况

    3.1 Super Block

    所谓 ext2 文件系统的 super block,就是硬盘分区开头(开头的第一个 byte 是 byte 0)从 byte 1024 开始往后的一部分数据。由于 block size 最小是 1024 bytes,所以 super block 可能是在 block 1 中(此时 block 的大小正好是 1024 bytes),也可能是在 block 0 中。

    硬盘分区上 ext3 文件系统的 super block 的详细情况如下。其中 __u32 是表示 unsigned 不带符号的 32 bits 的数据类型,其余类推。这是 Linux 内核中所用到的数据类型,如果是开发用户空间(user-space)的程序,可以根据具体计算机平台的情况,用 unsigned long 等等来代替。下面列表中关于 fragments 的部分可以忽略,Linux 上的 ext3 文件系统并没有实现 fragments 这个特性。另外要注意,ext3 文件系统在硬盘分区上的数据是按照 Intel 的 Little-endian 格式存放的,如果是在 PC 以外的平台上开发 ext3 相关的程序,要特别注意这一点。如果只是在 PC 上做开发,倒不用特别注意。

struct ext3_super_block {/*00*/ __u32 s_inodes_count;      /* inodes 计数 */       __u32 s_blocks_count;      /* blocks 计数 */       __u32 s_r_blocks_count;    /* 保留的 blocks 计数 */       __u32 s_free_blocks_count; /* 空闲的 blocks 计数 *//*10*/ __u32 s_free_inodes_count; /* 空闲的 inodes 计数 */       __u32 s_first_data_block;  /* 第一个数据 block */       __u32 s_log_block_size;    /* block 的大小 */       __s32 s_log_frag_size;     /* 可以忽略 *//*20*/ __u32 s_blocks_per_group;  /* 每 block group 的 block 数量 */       __u32 s_frags_per_group;   /* 可以忽略 */       __u32 s_inodes_per_group;  /* 每 block group 的 inode 数量 */       __u32 s_mtime;             /* Mount time *//*30*/ __u32 s_wtime;             /* Write time */       __u16 s_mnt_count;         /* Mount count */       __s16 s_max_mnt_count;     /* Maximal mount count */       __u16 s_magic;             /* Magic 签名 */       __u16 s_state;             /* File system state */       __u16 s_errors;            /* Behaviour when detecting errors */       __u16 s_minor_rev_level;   /* minor revision level *//*40*/ __u32 s_lastcheck;         /* time of last check */       __u32 s_checkinterval;     /* max. time between checks */       __u32 s_creator_os;        /* 可以忽略 */       __u32 s_rev_level;         /* Revision level *//*50*/ __u16 s_def_resuid;        /* Default uid for reserved blocks */       __u16 s_def_resgid;        /* Default gid for reserved blocks */       __u32 s_first_ino;         /* First non-reserved inode */       __u16 s_inode_size;        /* size of inode structure */       __u16 s_block_group_nr;    /* block group # of this superblock */       __u32 s_feature_compat;    /* compatible feature set *//*60*/ __u32 s_feature_incompat;  /* incompatible feature set */       __u32 s_feature_ro_compat; /* readonly-compatible feature set *//*68*/ __u8  s_uuid[16];          /* 128-bit uuid for volume *//*78*/ char  s_volume_name[16];   /* volume name *//*88*/ char  s_last_mounted[64];  /* directory where last mounted *//*C8*/ __u32 s_algorithm_usage_bitmap; /* 可以忽略 */       __u8  s_prealloc_blocks;        /* 可以忽略 */       __u8  s_prealloc_dir_blocks;    /* 可以忽略 */       __u16 s_padding1;               /* 可以忽略 *//*D0*/ __u8  s_journal_uuid[16]; /* uuid of journal superblock *//*E0*/ __u32 s_journal_inum;     /* 日志文件的 inode 号数 */       __u32 s_journal_dev;      /* 日志文件的设备号 */       __u32 s_last_orphan;      /* start of list of inodes to delete *//*EC*/ __u32 s_reserved[197];    /* 可以忽略 */};

本新闻共5页,当前在第2页  1  2  3  4  5  


上一篇:ext2文件系统下恢复误删除的文件
下一篇:Linux文件系统的反删除方法
  北京总部: 4006-505-808
  天 津 部: 4006-505-808
  上 海 部: 4006-505-808
  深 圳 部: 4006-505-808
  广 州 部: 4006-505-808
  重 庆 部: 4006-505-808
  南 京 部: 4006-505-808
  其它地区: 4006-505-808
经典案例
中国石油管理局-Oracle数据库恢
中国网通-IBM EXP300磁盘阵列数
大连鸿德经贸有限责任公司-SQL
中国地质环境监测院-HP LH3000
藁城市东街百货-EFS文件解密成
工商银行某省分行-AIX删除LV数
中央电视台新闻评论部-苹果分
promise乔鼎硬盘阵列数据恢复成
麒麟童文化-苹果分区无法打开,
NAS 8100服务器数据恢复成功 
解决方案
raid磁盘阵列OFFLINE后的应急方
磁盘未被格式化,是否格式化数据
误GHOST、误一键恢复灾难应急方
误删除、误格式化数据灾难应急
LINUX FSCK数据出错灾难应急方
北亚数据恢复 - 联系我们 - 关于北亚 - 友情链接 - 网站地图 - RSS聚合 
版权所有 北亚数据恢复中心
全国统一客服热线:4006-505-808
北京总部:北京市海淀区中关村大街11号E世界A座8层832B室