Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1287937
  • 博文数量: 632
  • 博客积分: 2778
  • 博客等级: 大尉
  • 技术积分: 3387
  • 用 户 组: 普通用户
  • 注册时间: 2012-05-31 09:09
个人简介

123

文章分类

全部博文(632)

文章存档

2014年(36)

2013年(33)

2012年(563)

分类: LINUX

2014-03-07 09:01:58

原文地址:BIOS、MBR、PBR等基础知识 作者:ztguang



BIOS、MBR、PBR等基础知识,兼谈U盘、移动硬盘以及操作系统的安装与启动基本原理
2009年03月23日 星期一  08:48
    一、基本概念
     1、BIOS的概念
  BIOS(Basic Input/Output
System,基本输入输出系统)全称是ROM-BIOS,是只读存储器基本输入/输出系统的简写,它实际是一组被固化到电脑中,为电脑提供最低级最直接
的硬件控制的程序,它是连通软件程序和硬件设备之间的枢纽,通俗地说,BIOS是硬件与软件程序之间的一个“转换器”或者说是接口(虽然它本身也只是一个
程序),负责解决硬件的即时要求,并按软件对硬件的操作要求具体执行。
     BIOS,它在计算机系统中起着非常重要的作用。一块主板性能优越与否,很大程度上取决于主板上的BIOS管理功能是否先进。
     BIOS芯片,在主板上表现为一块长方型或正方型芯片,BIOS中主要存放:
     1、自诊断程序:通过读取CMOS RAM中的内容识别硬件配置,并对其进行自检和初始化;
     2、CMOS设置程序:引导过程中,用特殊热键启动,进行设置后,存入CMOS RAM中;
     3、系统自举装载程序:在自检成功后将磁盘相对0道0扇区上的引导程序装入内存,让其运行以装入DOS系统;
主要I/O设备的驱动程序和中断服务;
    由于BIOS直接和系统硬件资源打交道,因此总是针对某一类型的硬件系统,而各种硬件系统又各有不同,所以存在各种不同种类的BIOS,随着硬件技术的发展,同一种BIOS也先后出现了不同的版本,新版本的BIOS比起老版本来说,功能更强。
  2、MBR的概念
     主引导扇区位于硬盘的0磁道0柱面1扇区,共512bytes,由三大部分组成:
     硬盘主引导记录MBR(Master Boot Record)占446bytes
     分区表DPT(Disk Partition Table)占64bytes
     硬盘有效标志(Magic Number)占2bytes。AA和55被称为幻数(Magic Number),BOIS读取MBR的时候总是检查最后是不是有这两个幻数,如果没有就被认为是一个没有被分区的硬盘
   
主引导扇区包含的MBR、DPT、MN,这3个区域是操作系统无关的,在每块硬盘上都存在;MBR是一段可执行程序,由各个操作系统写入不同的代码。
MBR的存储空间限制为446字节,MBR所做的唯一的事情就是装载第二引导装载程序。Windows产生的MBR装载运行PBR;GRUB产生的MBR
装载运行grldr。
     3、操作系统引导过程
    主引导记录(MasterBootRecord,MBR):512字节,位于硬盘的第一个扇区;可存放一小段程序及主分区表。MBR的boot
code占用其中的前446个字节,随后的64个字节为DPT(Disk Partition Table,硬盘分区表)。
    XP系统引导过程是,BIOS自检后,DPT把系统控制权交给硬盘第一个分区的PBR(Partition Boot
Record),XP的PBR会去找这个分区的ntldr,之后是boot.ini,选择启动的系统后load注册表,交控制权给ntoskrnl,然后
加载驱动,系统配置等等。
   
Vista的PBR不再找ntldr,而是找bootmgr,这个文件也是保存在硬盘第一个分区的根目录下.之后,bootmgr去找同路径下
的\boot\BCD. BCD这个文件实际是一个注册表文件,里面的数据保存了系统的引导信息,如果是多系统引导,会提供引导的界面内容.
如果是单Vista系统,控制权会交给winload.exe,之后再去找ntoskrnl.exe.
  扩展引导记录(ExtendedBootRecord,EBR):512字节,位于扩展分区的第一个扇区,存放逻辑分区信息。
  分区引导区(PartitionBootRecord,PBR):512字节,位于每个非扩展主分区及每个逻辑分区的第一个扇区;可存放小段程序。
  活动分区(ActivePartition):可将所有主分区和逻辑分区中的一个标识为Active,表示系统启动时即加载运行其PBR程序的分区。
     DBR : DOS引导记录(DOS Boot Record)应称为OBR(OS Boot Record),意思是活动分区的PBR,即操作系统引导记录。
    二、分区概念
     一个硬盘的分区有Primary(主分区)、Extended(扩展分区)、Logical(逻辑分区)三种。
     1、主分区
   
如果你只有一个硬盘,那么这个硬盘肯定应该有一个主分区,以前DOS必须在主分区才能启动。建立主分区的最大用途便是安装操作系统,另外如果你有多个主分
区,那么只有一个可以设置为活动分区(Active),操作系统就是从这个分区启动的,当然了,只允许有一个活动分区,所谓的“激活分区”就是将某个主分
区设置为活动分区。
     2、扩展分区
     因为主分区有先天的限制(最多只能有4个),扩展分区就是为了解决这种限制应运而生的,但是需要记住的是:它可是不能直接用来保存资料的,扩展分区的主要功能就是让你在其中建立逻辑分区,而且事实上只能建立20多个。
     3、逻辑分区(逻辑驱动器)
  
从上面的介绍你可以了解到,逻辑分区并不是独立的分区,它是建立在扩展分区中的二级分区,而且在DOS/WINDOWS下,这样的一个逻辑分区对应于一个
逻辑驱动器(Logical Driver),我们平时说的D: E:........一般指的就是这种逻辑驱动器。
    4、分区的限制
  
一个硬盘最多只能划分为4个主分区,或者是3个主分区加上一个扩展分区,这是因为在硬盘的开头,也就是主引导扇区总共512字节存放着MBR占
446bytes,DPT分区表占64bytes以及硬盘有效标志占2bytes,由于记录空间只有那么大,所以也只能记录这4个分区的信息。
  三、一般单操作系统启动过程
  1.BIOS加载并启动保存在硬盘MBR中的引导程序,该引导程序一般在操作系统安装时写入
  2.MBR引导程序扫描所有分区表,找出活动分区(WindowsMBR程序只会在MBR中的分区表中查找活动分区,即Windows只能安装在主分区;Linux无此限制)
  3.MBR引导程序加载并启动保存在活动分区PBR中的引导程序
  4.活动分区PBR中的引导程序加载并启动安装在其上的操作系统(例如对Win98,定位并执行io.sys;对WinXP,定位并执行
ntoskrnl.exe;对于Linux,定位并执行vmlinuz-xxx内核映像)。显然PBR引导程序与操作系统密切相关,一般在操作系统安装时
写入。
  总结为:BIOS–>MBR—>PBR–>OS files
  四、修改标准过程实现按需启动指定操作系统
  使用BootLoader等软件置换MBR中的引导程序或PBR中的引导程序,如Windows的NTBoot
Loader,Linux下的Lilo、Grub等。Windows NTBoot
Loader一般用于在一台机器上安装多个Windows系统;Lilo或Grub用于在一台机器上安装多个Linux系统或同时安装Linux和
Windows系统。
  五、MBR损坏及修复
     mbr的损坏不会危及数据,复也很简单,重写mbr就是,dos下面的fdisk/mbr即可修改DOS引导,像DISKGEN等工具修改MBR更是随手拈来。
     六、从U盘或移动硬盘启动操作系统的步骤:
     1、U盘格式化后(FAT32或NTFS都可以),把U盘激活成活动分区(可使用DiskGenius硬盘分区软件)
     2、写入U盘活动分区的PBR,以达到PBR读取bootmgr文件的目的(可使用Vista或windows7自带的 bootsect.exe 进行操作)
     3、复制相应启动文件到U盘根目录
     4、修改bios启动顺序从U盘启动即可
     移动硬盘:开机识别成 USB-HDD
     在XP中格式化成FAT32、NTFS格式的U盘:开机出现在BIOS的Removable Device中,识别成USB-ZIP,默认为主分区非活动分区。可以用DiskGenius激活为活动分区,再开机识别为USB-HDD。
     量产成HDD的U盘:开机出现在BIOS的Hard Disk中,识别成USB-HDD,默认自动设置为活动分区。
               
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

MBR和PBR中都记录了哪些信息,还有这些记录的顺序是什么!~ 磁盘用GHOST对拷以后会出现磁盘签名的冲突问题




MBR 和PBR 里面都是写的引导程序,这些东西都是使用汇编语言写的。在启动计算机时,引导过程一般是这样的:加电之后BIOS 获得控制权,并且搜索引导介质,按照CMOS 里面记载的引导介质的顺序确定引导介质,一般就是硬盘,也可以是光驱或者USB 设备等;如果由硬盘来引导计算机的话,BIOS 会将控制权交给硬盘的MBR ,也就是主引导记录,MBR 里面的程序会将控制权交给某个分区的PBR (也叫DBR),像Windows 是只能由活动的主分区来引导的,就是MBR 将控制权交给活动主分区的PBR ,Linux 则不同,像Ubuntu (其他的Linux 发型版本不了解,只了解Ubuntu )的引导程序不仅可以安装在非活动的主分区,甚至可以安装在逻辑分区!PBR 里面的引导程序会在它所在的分区搜索引导配置文件,根据引导配置文件来引导操作系统;引导过程结束。
如果安装有多个操作系统的话,在启动计算机时,会有一个引导项选择菜单,这就是写在引导配置文件里的内容。Windows Vista 和Windows 7 的引导配置文件是活动主分区根目录之下的\boot\bcd 文件,由该分区根目录下的Bootmgr 来引导。Windows XP 的引导文件是NTLDR ,引导配置文件是boot.ini ,都是在活动主分区的根目录下的。现在Ubuntu 的引导程序是grub2 ,引导配置文件是grub.cfg ,以前引导程序是grub ,引导配置文件是menu.lst 。好像没有类似NTLDR 或者Bootmgr 的引导文件,(有很多在Windows 下使用GRLDR 和GRLDR.MBR 文件来添加引导项的,就是用的grub 引导程序)应该是写入PBR 里面了的,直接搜索boot 目录下的grub.cfg 或者menu.lst 文件,引导计算机的,在boot 目录还有一些内核和驱动文件。
使用Ghost 备份分区或者磁盘,它是按照扇区备份的,同时也会备份分区的PBR 或者磁盘的MBR 。需要注意的是,分区表的信息也是写在MBR 里面的,主引导扇区是一个扇区,512 字节,其中引导程序只占用了446 字节,分区表占用64 字节,结束标志字占用2 字节,固定为55 AA 。Ghost 磁盘对拷可能会造成磁盘的分区表错误,因为两个磁盘的扇区数目不可能完全相同,磁盘对拷时,如果源磁盘比目的磁盘大,应该是无法完成拷贝的,如果目的磁盘比源磁盘大的话,



阅读(1418) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~