从今天起,木木同学要开始学习linux了,先开始第一个知识点哈:
1、 硬盘的命名:xx前面两个字母标明了硬盘的类型,通常是hd (ide磁盘)或者 是 sd(scsi磁盘); y第三个字母,表示第几个硬盘,代表了你插在主板的哪个接口上,例如:/dev/hda 表示第一个IDE硬盘,/dev/sdb 表示第二个SCSI磁盘。N 第四个数字,表示第几个分区。
2、 在硬盘里面有分为两个区域,一个是放置这个硬盘的信息区,我们称为 Master Boot Recorder, MBR ( 主要开机扇区 ), 一个则是实际档案数据放置的地方。MBR 可以说是整个硬盘最重要的地方了,因为在 MBR 里面记录了两个重要的东西,分别是:开机管理程序,与磁盘分割表 ( partition table )
主引导记录(MBR,Master Boot Record)是位于磁盘最前边的一段引导(Loader)代码。它负责磁盘操作系统对磁盘进行读写时分区合法性的判别、分区引导信息的定位,它由磁盘操作系统在对硬盘进行初始化时产生的。
通常,我们将包含MBR引导代码的扇区称为主引导扇区。因这一扇区中,引导代码占有绝大部分的空间,故而将习惯将该扇区称为MBR扇区(简称MBR)。由于这一扇区承担有不同于磁盘上其他普通存储空间的特殊管理职能,作为管理整个磁盘空间的一个特殊空间,它不属于磁盘上的任何分区,因而分区空间内的格式化命令FORMAT. COM不能清除主引导记录的任何信息。 主引导扇区由三个部分组成(共占用512个字节): 1.主引导程序即主引导记录(MBR)(占446个字节) 可在FDISK程序中找到,它用于硬盘启动时将系统控制转给用户指定的并在分区表中登记了的某个操作系统。 2.磁盘分区表项(DPT,Disk Partition Table) 由四个分区表项构成(每个16个字节)。 负责说明磁盘上的分区情况,其内容由磁盘介质及用户在使用FDISK定义分区时决定。(具体内容略) 3.结束标志(占2个字节) 其值为AA55,存储时低位在前,高位在后,即看上去是55AA(十六进制)。1.MBR的读取
2.MBR的组成
一个扇区的硬盘主引导记录MBR由如图6-15所示的4个部分组成。 ·主引导程序(偏移地址0000H--0088H),它负责从活动分区中装载,并运行系统引导程序。 ·出错信息数据区,偏移地址0089H--00E1H为出错信息,00E2H--01BDH全为0字节。 ·分区表(DPT,Disk Partition Table)含4个分区项,偏移地址01BEH--01FDH,每个分区表项长16个字节,共64字节为分区项1、分区项2、分区项3、分区项4。 ·结束标志字,偏移地址01FE--01FF的2个字节值为结束标志55AA,如果该标志错误系统就不能启动。0000-0088 | Master Boot Record 主引导程序 |
主引导 程序 |
0089-01BD | 出错信息数据区 | 数据区 |
01BE-01CD | 分区项1(16字节) | 分区表 |
01CE-01DD | 分区项2(16字节) | |
01DE-01ED | 分区项3(16字节) | |
01EE-01FD | 分区项4(16字节) | |
01FE | 55 | 结束标志 |
01FF | AA |
3.MBR中的分区信息结构
占用512个字节的MBR中,偏移地址01BEH--01FDH的64个字节,为4个分区项内容(分区信息表)。它是由磁盘介质类型及用户在使用 FDISK定义分区说确定的。在实际应用中,FDISK对一个磁盘划分的主分区可少于4个,但最多不超过4个。每个分区表的项目是16个字节,其内容含义如表6-19所示。 表6-19 分区项表(16字节)内容及含义存贮字节位 | 内容及含义 |
第1字节 | 引导标志。若值为80H表示活动分区,若值为00H表示非活动分区。 |
第2、3、4字节 | 本分区的起始磁头号、扇区号、柱面号。其中: 磁头号——第2字节; 扇区号——第3字节的低6位; 柱面号——为第3字节高2位+第4字节8位。 |
第5字节 | 分区类型符。 00H——表示该分区未用(即没有指定); 06H——FAT16基本分区; 0BH——FAT32基本分区; 05H——扩展分区; 07H——NTFS分区; 0FH——(LBA模式)扩展分区(83H为Linux分区等)。 |
第6、7、8字节 | 本分区的结束磁头号、扇区号、柱面号。其中: 磁头号——第6字节; 扇区号——第7字节的低6位; 柱面号——第7字节的高2位+第8字节。 |
第9、10、11、12字节 | 本分区之前已用了的扇区数。 |
第13、14、15、16字节 | 本分区的总扇区数。 |
4.MBR的主要功能及工作流程
启动PC机时,系统首先对硬件设备进行测试,测试成功后进入自举程序INT 19H,然后读系统磁盘0柱面、0磁头、1扇区的主引导记录(MBR)内容到内存指定单元0:7C00地址开始的区域,并执行MBR程序段。 硬盘的主引导记录(MBR)是不属于任何一个操作系统的,它先于所有的操作系统而被调入内存,并发挥作用,然后才将控制权交给主分区(活动分区)内的操作系统,并用主分区信息表来管理硬盘。 MBR程序段的主要功能如下: ·检查硬盘分区表是否完好。 ·在分区表中寻找可引导的“活动”分区。 ·将活动分区的第一逻辑扇区内容装入内存。在DOS分区中,此扇区内容称为DOS引导记录(DBR)。 硬盘逻辑驱动器的分区表链结构 硬盘是由很多个512字节的扇区组成,而这些扇区会被组织成一个个的“分区”。 硬盘的分区规则是:一个分区的所有扇区必须连续,硬盘可以有最多4个物理上的分区,这4个物理分区可以是4个主分区或者3个主分区加一个扩展分区。在DOS/Windows管理下的扩展分区里,可以而且必须再继续划分逻辑分区(逻辑盘)。 从MS-DOS3.2问世以后,用户就可以在一个物理硬盘驱动器上划分一个主分区和一个扩展分区,并在扩展分区上创建多个逻辑驱动器,也即我们常说的一个物理盘上多个逻辑盘。 举一个例子,一个10G的硬盘,安装Windows,有C:、D:、E:三个逻辑盘,那么它的分区情况可以是如下的方式: 分区一:主分区2GB,格式化为C:盘。 分区二:扩展分区8GB。它被再划分为两个各4GB的逻辑盘,格式化为以D:和E:盘。 在一个划分有多个主分区的硬盘上,则可安装多个不同的操作系统。如Windows、Linux、Solaris等。每个操作系统自己去管理分配给自己的分区。但是,每个操作系统对分区的操作方式是不同的。对于DOS/Windows来说,它能够把它所能管辖的一个主分区和一个扩展分区格式化,然后按照 C:、D:、E:逻辑盘的方式来管理。而Linux则不同,它是把“分区”看作一个设备,既没有“扩展分区”的概念,也没有“逻辑盘”的概念。 1.逻辑盘的链接关系 在FAT 文件系统中,硬盘的逻辑盘字符用字符C:、D:、E:、...、Z:来表示。主分区一般被格式化成C:盘,从D:盘开始的逻辑盘是建立在扩展分区之上的。在系统进行读写操作时,DOS首先查看主引导记录(MBR)中的分区信息表,分区项将指向活动主分区的DOS引导记录(DBR)。 MBR中的分区表位于0柱面、0磁头、1扇区内,以位移1BEH开始的第一分区表作为链首,有表内的链接表项指示下一分区表的物理位置(xx柱面、0磁头、1扇区),在该位置的扇区内同样位移1BEH处,保存着第2张分区表,依次类推,直至指向最后一张分区表的物理位置(yy柱面、0磁头、1扇区)。因该分区表内不存在链接表项,即作为分区表链的链尾。如图6-17所示。 硬盘 第一个虚拟 第二个虚拟 第三个虚拟 MBR分区表 MBR分区表 MBR分区表 MBR分区表定义C:盘 | ------------> | 定义D:盘 | -----------> | 定义E:盘 | ------------> | 定义F:盘 |
描述剩余空间 | 描述剩余空间 | 描述剩余空间 | 描述剩余空间 | |||
未用 | 未用 | 未用 | 未用 | |||
未用 | 未用 | 未用 | 未用 | |||
55AA | 55AA | 55AA | 55AA |