一、主引导扇区

主引导扇区位于硬盘的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. inflate的基本用法,类似于findviewbyId

    Inflate()作用就是将xml定义的一个布局找出来,但仅仅是找出来而且隐藏的,没有找到的同时并显示功能.最近做的一个项目就是这一点让我迷茫了好几天. android上还有一个与Inflate()类 ...

  2. Java实现注册时发送激活邮件+激活

    最近从项目分离出来的注册邮箱激活功能,整理一下,方便下次使用 1.RegisterController.java package com.app.web.controller; import java ...

  3. 使用Bower作为Web包管理器

    Bower是一个简单易用的Web包管理器,通过它我们可以非常简便的安装各种Web框架和库,同时它也负责管理不同包之间的关系依赖. 安装Bower Bower需要 npm 和 Git 的支持,在安装Bo ...

  4. CountUp.js – 让数字以非常有趣的动画方式显示

    CountUp.js 无依赖的.轻量级的 JavaScript 类,可以用来快速创建以一种更有趣的动画方式显示数值数据.尽管它的名字叫 countUp,但其实可以在两个方向进行变化,这是根据你传递的 ...

  5. 用SVG绕过浏览器XSS审计

    [Translated From]:http://insert-script.blogspot.com/2014/02/svg-fun-time-firefox-svg-vector.html === ...

  6. Python十六进制与字符串的转换

    电脑上装了Python2.7和3.3两个版本,平时运行程序包括在Eclipse里面调试都会使用2.7,但是由于某些原因在cmd命令行中输入python得到的解释器则是3.3, 一直没对此做处理,因为这 ...

  7. SharePoint 2013 同步FBA认证用户

    SharePoint 开启了基于FBA的身份认证,经常会遇到用户组用户的问题,当我加入一个AD账号,无法同时加入Form认证的用户,这时,只能手动添加,比较麻烦:所以,写了一个服务,用来每天晚上同步一 ...

  8. ViewPager的使用小技巧

    1.在ViewPager中默认加载当前屏幕上的界面和左右相邻界面的数据从而实现页面滑动的快速切换.可以通过调用setOffscreenPageLimit(int)方法,定制预加载相邻页面的数目. 2. ...

  9. IOS常用第三方开源类库&组件

    1.AFNetworking AFNetworking 采用 NSURLConnection + NSOperation, 主要方便与服务端 API 进行数据交换, 操作简单, 功能强大, 现在许多人 ...

  10. Sqlite3中存储类型和数据类型结合文档解析。

    sqlite3是个很小的数据库,运行在手机,机顶盒上....那它就不可能像musql,sqlserver那么规范,有很多的数据类型,之前我也以为它定义了很多数据类型,其实不是他就5个存储类,那么多数据 ...