一、主引导扇区

主引导扇区位于硬盘的0磁道0柱面1扇区,共占用了63个扇区,但实际上只使用了512字节,由三大部分组成:
1、主引导记录MBR(Master Boot Record):占446字节。 负责检查硬盘分区表、寻找可引导分区并负责将可引导分区的引导扇区DBR装入内存,系统由此开始启动
2、分区表DPT(Disk Parttion Table):占64字节,每份16字节的4份硬盘分区表,记载了每个分区类型、大小和分区开始、结束位置等重要内容
3、分区有效标志(Magic Number):占2字节,固定为55AA。
主引导扇区所在硬盘磁道上的其它扇区一般均空出,且这个扇区所在硬盘磁道是不属于分区范围内的,紧接着它后面才是分区内容,操作系统是无法读取的。广义的MBR包括整个扇区(引导程序、分区表、幻数),狭义的MBR仅仅指引导程序,不同操作系统MBR是不同的,用安装盘装系统可以重写硬盘MBR,而GHOST恢复C盘却不行,因此初次装系统或更换操作系统一般都用安装盘安装。

二、逻辑结构图

 

三、BIOS如何加载MBR

电源开启之后,BIOS某个芯片上程序运行,开始检测电脑上的周围设备,检测完毕无误后开始按照管理员设定的BIOS启动顺序进行检测;常见的启动设备包括:光盘、硬盘、USB、网卡。假设设定的顺序就是上述的顺序,BIOS会先检测光盘的第一个扇区,查看扇区中是否有MBR存在,如果不存在则会检测第二个设备硬盘,读取硬盘的第一个扇区,如果没有MRB,则会继续读取USB设备;如果该扇区中有MBR,则会读取MBR程序,如果MBR程序有错误,则BIOS会停止下一个设备的检测,并发出错误信息;如果MBR程序没有错误,则执行MBR程序负责检查硬盘分区表、寻找可引导分区并负责将可引导分区的引导扇区(DBR)装入内存,系统由此开始启动。

四、磁盘分区

由于磁盘分区表只有64字节,每个分区信息需要16字节,也就是只能记录4个分区信息。分区可以是主分区和扩展分区,扩展分区本身没有记录分区信息,而通过扩展分区可以再次分区为逻辑分区,扩展分区最多可以分16个逻辑分区。因此我们可以设置的分区方案:
4个主分区P + 0个扩展分区E
3个主分区P + 1个扩展分区E(N个逻辑分区)
2个主分区P + 1个扩展分区E(N个逻辑分区)
1个主分区P + 1个扩展分区E(N个逻辑分区)

常见的做法是:3P + 1E。但是需要注意的是,在最后一个主分区时或者扩展分区时,一定要将磁盘剩余容量全部分配给该分区,否则硬盘剩余的磁盘空间就不能够再使用了。逻辑分区的编号永远是从5开始,不管有几个主分区,例如只有一个主分区,一个扩展分区,那么逻辑分区也是从5开始编号的。总之P + E <= 4;

五、常见问题

1、区分MBR区、DBR区、FAT区、DIR区、DATA区

1).0磁道0柱面区(MBR),包括广义MBR区 + 剩余未用62扇区。MBR通过检查DPT分区信息引导系统跳转至DBR。
2).DBR区,每个分区前的引导扇区,同时记录本区的参数。对于第一主分区它通常位于硬盘的0磁道1柱面1扇区,是操作系统可以直接访问的第一个扇区,DBR是由高级格式化程序所产生的。
3).其它区域:FAT文件分配表区+DIR根目录区+DATA数据区,操作系统可以直接访问。

2、分区、重装系统、格式化对各区影响

1).PM分区:不更改狭义MBR(446字节),只更改DPT分区表数值,当然也会更改新改变的分区。
2).安装盘装系统:更改狭义MBR(446字节)为相应系统的MBR,更改活动分区的引导扇区DBR为相应类型。
3).Ghost安装系统:不更改MBR,更改Ghost分区的引导扇区DBR为相应类型,不更改活动分区DBR。无论是将其克隆到其它主分区中,还是克隆到逻辑分区中,克隆软件都还将自动完成以下两项工作:一是更改boot.ini等系统文件的内容,使其能在新的分区运行;而是克隆系统文件.gho包中含有原分区的分区引导记录,克隆到其它主分区或逻辑分区时,都将新的分区创建引导分区,并将包中引导程序复制到该引导分区中,但不将该引导分区中的引导程序指向新分区中的系统文件。
4).格式化分区:不更改MBR,更改该分区的引导扇区为当前操作系统的引导扇区DBR为相应类型。

3、windows和Linux的MBR有何不同

像nt 5.x的mbr与nt 6.x的mbr均占用1个扇区,位于0磁道0柱面1扇区上,但是像GRUB4DOS占用多个扇区,它还占用0磁道0柱面部分未用扇区。

4、操作系统从硬盘启动需要哪些条件

1).正确的MBR信息
2).启动分区必须是活动的
3).启动分区上有正确的操作系统引导文件

5、如何设置正确的MBR和活动分区

1).写入MBR信息,可以写列方式:
a.使用光盘安装OS
b.使用光盘引导到复制文件前,或进入命令行fixmbr
c.将硬盘接上电脑,在Windows磁盘工具下初始化磁盘(经测试会写入Win98 MBR)
d.使用BOOTICE/DiskGenius等工具初始化MBR(最新版可写入nt5/nt6的mbr以启动Winxp/Vista/7/8/8.1)
e.使用GHOST全盘恢复(危险!可能更改446后面的分区表)

2)设置活动分区
a.使用光盘安装
b.将硬盘接上电脑,在Windows磁盘工具下设为活动
c.使用DiskGenius等工具

Linux磁盘管理之逻辑结构主引导扇区02的更多相关文章

  1. Linux磁盘管理及LVM讲解(week2_day2)--技术流ken

    硬盘接口 从整体的角度上,硬盘接口分为IDE.SATA.SCSI和SAS四种,IDE接口硬盘多用于家用产品中,也部分应用于服务器,SCSI接口的硬盘则主要应用于服务器市场,而SAS只在高端服务器上,价 ...

  2. Linux磁盘管理及LVM讲解

    硬盘接口 硬盘接口分为IDE.SATA.SCSI和SAS四种, IDE接口硬盘多用于家用产品中,也部分应用于服务器.不支持热添加,比较老. SCSI接口的硬盘则主要应用于服务器市场.linux. 而S ...

  3. 主引导扇区MBR的解析

    http://blog.chinaunix.net/uid-24774106-id-3340397.html 最近排查一个USB相关的故障,由于信息安全就不多说工作上的事情了,顺路学习了MBR的相关知 ...

  4. Linux磁盘管理及Lvm

    1. 硬盘接口 IDE: SATA:常用: SCSI:主要用于高端服务器,linux默认: SAS 2. 硬盘种类 SATA硬盘:串口硬盘,有较强的纠错能力: SCSI 硬盘:默认硬盘: SAS 硬盘 ...

  5. Linux磁盘管理及LVM讲解(1)

    硬盘接口 从整体的角度上,硬盘接口分为IDE.SATA.SCSI和SAS四种,IDE接口硬盘多用于家用产品中,也部分应用于服务器,SCSI接口的硬盘则主要应用于服务器市场,而SAS只在高端服务器上,价 ...

  6. MBR主引导扇区解析

    最近在制作镜像的时候由于需要简单研究了下MBR主引导扇区的结构,这里记录下便于后期温习,下面就直接进入正题: MBR主引导扇区位于磁盘的第一个扇区,即0号扇区,主要由引导代码.分区表.结束标志三部分构 ...

  7. Linux学习之十九-Linux磁盘管理

    Linux磁盘管理 1.相关知识 磁盘,是计算机硬件中不可或缺的部分磁盘,是计算机的外部存储器中类似磁带的装置,将圆形的磁性盘片装在一个方的密封盒子里,这样做的目的是为了防止磁盘表面划伤,导致数据丢失 ...

  8. 【Linux开发】Linux磁盘管理

    第八章 Linux磁盘管理 [查看磁盘或者目录的容量 df 和 du] df 查看已挂载磁盘的总容量.使用容量.剩余容量等,可以不加任何参数,默认是按k为单位显示的:df常用参数有 –i -h -k ...

  9. Linux 磁盘管理

    Linux磁盘管理好坏管理直接关系到整个系统的性能问题. Linux磁盘管理常用三个命令为df.du和fdisk. df:列出文件系统的整体磁盘使用量 du:检查磁盘空间使用量 fdisk:用于磁盘分 ...

随机推荐

  1. 51Node 1483----化学变换(暴力枚举)

    51Node  1483----化学变换 有n种不同的化学试剂.第i种有ai升.每次实验都要把所有的化学试剂混在一起,但是这些试剂的量一定要相等.所以现在的首要任务是把这些化学试剂的量弄成相等. 有两 ...

  2. python 学习笔记9(面向对象)

    面向过程.函数式.面向对象 面向过程:根据业务逻辑从上到下写垒代码 函数式:将某功能代码封装到函数中,日后便无需重复编写,仅调用函数即可 面向对象(Object Oriented Programmin ...

  3. PHP内核探索之变量(1)Zval

    作为数据的容器,我们常常需要跟变量打交道,不管这个变量是数字.数组.字符串.对象还是其他,因而可以说变量是构成语言的不可或缺的基础.本文是PHP内核探索之变量的第一篇,主要介绍zval的基本知识,包括 ...

  4. apache maven pom setting

    <?xml version="1.0" encoding="UTF-8"?> <!-- Licensed to the Apache Soft ...

  5. 【背景建模】PbModel

    PbModel是基于概率模型的背景差分算法,其基本思想是像素点会因光照变化.运动物体经过产生多种颜色值,但是一段时间内,像素点处于静止状态的时间会比处于运动状态的时间长.因而一段时间内,像素点某个颜色 ...

  6. ubuntu 14.04 解决JavaMelody 图片中文乱码

    从windows系统中,copy了MSYH.TTC和MSYHBD.TTC 2个文件到 服务器的%JAVA_HOME%\jre\lib\fonts\fallback 目录中, (如果fallback目录 ...

  7. Code First :使用Entity. Framework编程(4) ----转发 收藏

    第4章 对关系使用默认规则与配置 在第3章,你已经掌握了默认规则与配置对属性以及其在数据库映射的字段的影响.在本章,我们把焦点放在类之间的关系上面.这包括类在内存如何关联,还有数据库中的外键维持等.你 ...

  8. this指向问题

    我今天下午本来想做个就是tr鼠标移出之后过三秒把对应的input添加hiddens类 然后我就这样写了 $('.table>tbody>tr').mouseout(function(){ ...

  9. 10个最好的 JavaScript 动画库和开发框架

    虽然 CSS3 动画功能能够让我们以简单轻松的方式实现动画效果,但是浏览器兼容性问题让人头疼.不过不用担心,我们还有另外的武器——JavaScript,它同样可以帮助你实现各种各样的动画效果,而且借助 ...

  10. mysql行转列、列转行示例

    最近在开发过程中遇到问题,需要将数据库中一张表信息进行行转列操作,再将每列(即每个字段)作为与其他表进行联表查询的字段进行显示. 借此机会,在网上查阅了相关方法,现总结出一种比较简单易懂的方法备用. ...