BIOS、MBR、PBR等基础知识_绿色软件之家

绿色软件之家:您身边最放心的安全下载站! 最新更新|软件分类|软件专题|手机版|系统之家|纯净系统

您当前所在位置:首页操作系统LINUX → BIOS、MBR、PBR等基础知识

BIOS、MBR、PBR等基础知识

时间:2015/6/28来源:绿色软件之家作者:网管联盟我要评论(0)

    一、基本概念

    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,默认自动设置为活动分区。

关键词标签:BIOS,MBR,PBR

相关阅读

文章评论
发表评论

热门文章 安装红帽子RedHat Linux9.0操作系统教程安装红帽子RedHat Linux9.0操作系统教程使用screen管理你的远程会话使用screen管理你的远程会话GNU/Linux安装vmwareGNU/Linux安装vmware如何登录linux vps图形界面 Linux远程桌面连如何登录linux vps图形界面 Linux远程桌面连

相关下载

人气排行 Linux下获取CPUID、硬盘序列号与MAC地址linux tc实现ip流量限制dmidecode命令查看内存型号linux下解压rar文件安装红帽子RedHat Linux9.0操作系统教程Ubuntu linux 关机、重启、注销 命令lcx.exe、nc.exe、sc.exe入侵中的使用方法查看linux服务器硬盘IO读写负载