Chinaunix首页 | 论坛 | 博客
  • 博客访问: 54107
  • 博文数量: 22
  • 博客积分: 975
  • 博客等级: 准尉
  • 技术积分: 222
  • 用 户 组: 普通用户
  • 注册时间: 2009-03-02 21:41
文章分类
文章存档

2011年(8)

2010年(8)

2009年(6)

我的朋友

分类: LINUX

2010-07-16 17:03:18

 
 
文件系统中存储的最小单位是块(Block),一个块究竟多大是在格式化时确定的,例如mke2fs-b选项可以设定块大小为1024、2048或4096字节。
 
例如:文件系统是1MB的分区,每个块是1KB,应该有1024个块,第0个块是启动块,除去启动块还有1023个块,分别编号为1-1023
 
启动块(Boot Block)的大小是确定的,就是1KB,启动块是由PC标准规定的,用来存储磁盘分区信息和启动信息,任何文件系统都不能使用启动块。----摘自《linux c 编程一站式学习》,不知道现在有没有变化。
 
文件系统信息如类型(ext2,ext3),应该存放在 boot block中。
 
那既然文件系统信息是存放在自身里面的,为什么nand的+25M后分的那些分区,如果把kboot破坏掉,重烧之后
 
原来的分区信息也没有了呢?
分区信息也没有了呢?
没有了呢?
呢??--------刚才上面说的是格式化信息,这里丢失的是分区信息,分区信息【在磁盘中】是存放在0磁道0柱面第一个扇区的。
 
 
硬盘主引导扇区 = 硬盘主引导记录(MBR)+ 硬盘分区表(DPT)
  --------------------------------------------------------------
  物理位置:0面0道1扇区(clindyer 0, side 0, sector 1)
  大小: 512字节
  其中:MBR 446字节(0000--01BD),DPT 64字节(01BE--01FD),结束标志2字节(55 AA)
 
 
  硬盘分区表(DPT)
  ---------------------
  偏移地址 字节数 含义分析
  
  01BE 1 分区类型:00表示非活动分区:80表示活动分区;其他为无效分区。
  
  01BF~01C1 3 *分区的起始地址(面/扇区/磁道),通常第一分区的起始地址开始于1面0道1扇区,因此这三个字节应为010100
  
  01C2 1 #分区的操作系统的类型。
  
  01C3~01C5 3 *该分区的结束地址(面/扇/道)
  
  01C6~01C9 4 该分区起始逻辑扇区
  
  01CA~01CD 4 该分区占用的总扇区数
  
  注释: * 注意分区的起始地址(面/扇区/磁道)和结束地址(面/扇/道)中字节分配:
  
  00000000 01000001 00010101
  ~~~~~~~~ ==^^^^^^ ========
  
  ~ 面(磁头) 8 位
  ^ 扇区 6 位
  = 磁道 10 位
  
  # 分区的操作系统类型(文件格式标志码)
  
  4---DOS FAT16< 32M
  5---EXTEND
  6---DOS FAT16>32M
  7---NTFS(OS/2)
  83---LINUX>64M
  
  DPT 总共64字节(01BE--01FD), 如上所示每个分区占16个字节, 所以可以表示四个分区, 这也就是为什么一个磁盘的主分区和扩展分区之和总共只能有四个的原因.
阅读(1962) | 评论(0) | 转发(0) |
0

上一篇:problems

下一篇:用户空间open()内幕

给主人留下些什么吧!~~