关于电脑启动流程,MBR,PBR的学学习和理解。

  最近又在折腾系统,在笔记本上安装了03+WIN8PE的组合,Windows 8 ,Ubuntu 14.04和Kali,后续准备再安装MAC,当然那是以后的事了。硬盘的分区和系统分布情况如下:

    MBR:grub4dos

      主分区1(NTFS,2G,活动):安装真个硬盘上所有系统的引导(grub4dos)和03pe+win8pe,PBR为grub2

      主分区2(NTFS,80G):安装Windows 8,PBR为NT6.X的bootmgr引导程序

      扩展分区(850G)

        逻辑分区3,4,5(NTFS)(250G,300G,150G):软件盘,数据盘和工具盘。

        逻辑分区6,7,8(EXT4)(200M,15G,20G) 分别为Ubuntu的 /boot , / 和 /home。PBR用bootice查看为未知。

        逻辑分区9,10,11:分别为Kali的/ ,/home , 和 swap 具体大小记不清了。

  

  以前对电脑启动顺序的理解是:

    1、按下电源键,通电加载BIOS自检。

    2、选择第一启动设备读取主引导记录(MBR)。

    3、主引导记录读取DPT,查找活动分区。

    4、读取活动分区的PBR,通过PRB来加载操作系统选择菜单

    5、加载操作系统内核,启动操作系统。

  由于PBR分为NT5.X,NT6.X,grub2,grub4dos等好几种。按照之前的理解,MBR就是用来查找活动分区,然后活动分区的PRB再来加载对应的引导文件。如nt5.x的PBR在分区根目录下查找NTLDR文件然后加载boot.ini,grub4dos的PBR再分区根目录下查找grldr文件然后加载menu.lst。

  但是MBR也分为NT5X,16.X和grub4dos,UD,UZ等好几种,但一想MBR的功能既然是查找活动分区和读取活动分区的PBR,余下的操作都由PBR来完成,那为什么会有这些不同的MBR,它们之间有什么区别。

  于是用自己的电脑做了下测试。测试前的MBR是grub4dos,活动分区的PBR是grub2(装Ubuntu时被Ubuntu改的),活动分区根目录下引导文件只有grldr和menu.lst,menu.lst引导硬盘上的所有操作系统。

  我先分别将MBR修改为了NT5.X和6.X的MBR,重启电脑后启动引导菜单变成了Ubuntu的启动引导,但我的Ubuntu是安装在逻辑分区的,活动分区没有额外的引导文件。再将活动分区的grldr文件改名,然后将主引导改回grub4dos,开机提示 TRY(HD0,0) NTFS:NO GRLDR 。

  发现当MBR为NTX.X时,系统好像读取了活动分区的PBR(grub2)然后启动了Ubuntu(待百度找资料验证),当MBR为grub4dos时,活动分区上的PBR(grub2)好像没有起作用,MBR直接读取了活动分区上的grldr文件来加载menu.lst文件。到这儿就更疑惑了,这些不同的MBR到底用来干什么的,最后百度在一篇帖子里边找到了答案。

  MBR主要有USB-HDD(+),USB-ZIP(+),USB-FDD,USB-CDROM,NTX.X,grub4dos,grub2,FBINST,PLoP Boot Manager等这几种,不同的MBR启动引导的流程也不尽相同,有的会加载PBR,有的会跳过PBR直接到分区加载文件,这就很好的解释了前面测试时出现的问题。详细信息如下(转自原帖):


模式

MBR(主引导记录)

PBR(分区引导扇区)


备注说明

优点

缺点

    USB-HDD+

     USB-HDD+ /有MBR和分区表

过程:MBR → 分区PBR → 引导文件


NTLDR/GRLDR/SYSLINUX/BOOTMGR..
需激活主分区,从激活的主分区启动
(NTFS分区不支持SYSLINUX下同)

用UltraISO写入USB

兼容性很高,启动成功率很高

兼容性很高

对只支持USB-ZIP模式的电脑则无法启动


     USB-HDD

     USB-HDD /有MBR和分区表
过程:MBR → 分区PBR → 引导文件

NTLDR/GRLDR/SYSLINUX/BOOTMGR..
需激活主分区,从激活的主分区启动

用UltraISO写入USB

兼容性高

硬盘仿真模式,

兼容性较高

对仅支持USB-ZIP的电脑无法启动


     USB-ZIP+

             USB-ZIP+ /有MBR和分区表

过程:MBR → 分区PBR → 引导文件


NTLDR/GRLDR/SYSLINUX/BOOTMGR..
需激活主分区,从激活的主分区启动

用UltraISO写入USB

启动成功率很高
与USB-HDD+接近

支持USB-HDD/USB-ZIP双模式启动

仅支持USB-HDD的电脑会将此模式的U盘认为是USB-ZIP来启动,从而导致4GB以上大容量U盘的兼容性有所降低


     USB-ZIP

         无MBR和分区表
过程:分区PBR → 引导文件

直接从分区引导扇区启动
IO.SYS/NTLDR....

整个盘就是一个分区

用UltraISO写入USB

大容量软盘仿真模式

在一些比较老的电脑上是唯一可选的模式

但对大部分新电脑来说兼容性不好,特别是大容量U盘。


        USB-FDD

                      无MBR和分区表

过程:分区PBR → 引导文件


直接从分区引导扇区启动
IO.SYS/NTLDR....

整个盘就是一个分区

用UltraISO写入USB

软盘仿真模式

在一些比较老的电脑上是唯一可选的模式

启动兼容性差


    USB-CDROM

          光盘模式

整个盘就是一个分区

对应量产工具写入,光盘仿真模式,DOS启动后可以不占盘符,兼容性比较高,新老主板一般都可以。
 

采用量产U盘方式,有些电脑不支持

NT 5.x

NT 5.x /有MBR和分区表
过程:MBR → 分区PBR → 引导文件


NTLDR/GRLDR/SYSLINUX/BOOTMGR..
需激活主分区,只容许1个激活分区

从激活的主分区启动

用分区软件或BOOTICE写入
微软默认的主引导代码

2000、XP、2003等系统默认引导代码

兼容性一般


    NT 6.x

        NT 6.x /有MBR和分区表
过程:MBR → 分区PBR → 引导文件

NTLDR/GRLDR/SYSLINUX/BOOTMGR..
需激活主分区,容许多个激活分区

从第1个激活的主分区启动

用分区软件或BOOTICE写入
微软默认的主引导代码

2000、XP、2003等系统默认引导代码

兼容性一般

grub4dos


      18个主引导扇区 /有MBR和分区表
过程:MBR  → grldr

不需要分区引导
从任意分区根目录grldr启动

用bootlace或BOOTICE写入
需在某分区根目录有grldr文件

可以搜索U盘、硬盘根目录的grldr

兼容性一般


       FBINST

有MBR和分区表 / 前64个扇区一样的引导代码,在主数据区的每个扇区尾部记录扇区号
过程:MBR → UD区→ grldr

无需分区引导
从GRLDR能够识别的UD区文件启动

用fbinst或 FbinstTool写入

目前最强大的USB引导模式,仍在增强中

启动兼容性最高
有个防毒的UD区
1.前64个扇区都有主引导代码
2. C.H.S寻址非常准确

 

PLoP Boot

Manager


             占用62个扇区 /有MBR和分区表

可以实现U盘多分区引导,很酷的图形启动界面

过程:MBR → 分区PBR → 引导文件


NTLDR/GRLDR/SYSLINUX/BOOTMGR..
需激活主分区,从激活的主分区启动

无USB和CDROM、FDD选项的电脑增加支持!

老电脑硬盘上安装,可增加USB启动支持

USB介质上安装,启动兼容性一般

           

各种USB启动模式:

【1】、USB-HDD:(占用1个扇区)硬盘仿真模式,DOS启动后显示C:盘,HP(惠普) U盘格式化工具制作的U盘即采用此启动模式。此模式兼容性很高,但对于一些只支持USB-ZIP模式的电脑则无法启动。
电脑启动后首先读取此MBR,然后从指定的激活主分区启动(所以你要启动的分区必须激活,且有指定的引导文件存在),读入PBR引导扇区,再由引导扇区指定的引导文件,从而启动系统或PE或GRLDR等。。。。
常见引导过程为:MBR → 分区PBR → 引导文件(如:XP的NTLDR,VISTA的BOOTMGR ,GRUB的GRLDR。)

【2】、USB-HDD+:(占用1个扇区)增强的USB-HDD模式,DOS启动后显示C:盘,兼容性极高。其缺点在于对仅支持USB-ZIP的电脑无法启动。
电脑启动后首先读取此MBR,然后从指定的激活主分区启动,读入PBR引导扇区,再由引导扇区指定的引导文件,从而启动系统或PE或GRLDR等。。。。
引导过程为:MBR → 分区PBR → 引导文件

【3】、USB-ZIP:大容量软盘仿真模式,DOS启动后显示A盘,FlashBoot制作的USB-ZIP启动U盘即采用此模式。此模式在一些比较老的电脑上是唯一可选的模式,但对大部分新电脑来说兼容性不好,特别是大容量U盘。
引导过程为:分区PBR → 引导文件

【4】、USB-ZIP+::(占用1个扇区)增强的USB-ZIP模式,支持USB-HDD/USB-ZIP双模式启动(根据电脑的不同,有些BIOS在DOS启动后可能显示C:盘,有些BIOS在DOS启动后可能显示A:盘),从而达到很高的兼容性。其缺点在于有些支持USB-HDD的电脑会将此模式的U盘认为是USB-ZIP来启动,从而导致4GB以上大容量U盘的兼容性有所降低。
引导过程为:MBR → 分区PBR → 引导文件

【5】. USB-FDD:    是指把U盘模拟成软驱模式,启动后U盘的盘符是A:,
引导过程为:分区PBR → 引导文件

【6】、USB-CDROM:光盘仿真模式,DOS启动后可以不占盘符,兼容性比较高,新老主板一般都可以。优点可以像光盘一样使用(如,进行Windows系统安装)。缺点,把U盘量产成该模式时,我们将失去对这部分U盘空间的写权利,剩余空间会被识别成为一个独立的U盘,可以为Removable盘,当然也可以做成Fixed盘,进一步分区。制作时一般需要具体U盘型号/批号所对应的量产工具来制作,对于U盘网上有相应的量产工具。

【7】.FBINST:    (占用64个扇区)FBINST 在MBR的每个扇区(前64扇区)都写入了引导代码,并在每个扇区记录扇区号,这样无论U盘被识别为何种格式,都可以正常启动,启动的时候需要在1~64扇区读取计算好的信息,电脑就可以迅速而正确地获得参数,从而引导UD区的GRLDR,使得电脑正常启动。。。
引导过程为:MBR → UD区 → 引导文件

【8】.GRUB4DOS:(占用18个扇区,老版本占用16个扇区)是强大的引导程序,可以安装在MBR ,也可以安装在分区 PBR ,若安装在MBR,则可以搜索所有分区,启动其指定文件-GRLDR(不需读入分区PBR),从而正常启动。
引导过程为:MBR → grldr

【9】.  NT 5.x:       (占用1个扇区)此MBR依然是从激活的主分区启动,遇到多个激活分区就报分区表错误。
引导过程为:MBR → 分区PBR → 引导文件

【10】. NT 6.x:      (占用1个扇区)此MBR依然是从激活的主分区启动,支持多个激活分区,从第一个激活分区启动。
引导过程为:MBR → 分区PBR → 引导文件

【11】.PLoP Boot Manager(占用62个扇区)* 支持 USB 磁盘启动,其一是从 USB 介质上启动,也能转入到 USB 介质启动(无论 BIOS 是否支持 USB 启动)。从开发日志上看,对于 EHCI/OHCI/UHCI 三种接口是都支持的,但外接 USB HUB 还不支持。这个功能,的确激动人心,虽然之前看 Filo 里面有 USB 栈,是保护模式下的,而这个是实模式下的。 * 支持光盘启动这个是两层意思: 既能从光盘上启动,也能从其他介质启动后转入光驱启动。* 超小体积和对图形界面的支持,只有 40-50kb 的个头,但是能实现 USB 栈,和 cdrom mini 驱动的确是个奇迹,而它还包括了图形支持与启动特效。
引导过程为:MBR → 分区PBR → 引导文件

4. 各种模式兼容性顺序(由强到弱):

1.  fbinst      2.  USB-HDD+       3.  USB-ZIP+       4.  USB-CDROM        5.  USB-HDD       6.  USB-ZIP    7.  USB-FDD/NT5/6/GRUB/PLOP

参考 http://bbs.wuyou.com/forum.php?mod=viewthread&tid=166641

时间: 2024-10-10 06:37:28

关于电脑启动流程,MBR,PBR的学学习和理解。的相关文章

电脑启动流程

今天我们聊聊Windows是如何启动的,因为Linux也是一个系统,你只有知道了 windows如何启动,Linux的启动就迎刃而解了. 大部分人的印象中,电脑启动时,Windows是首先启动.但如果我们仔细一些,可以观察到,在电脑启动的开始几秒里,在屏幕上显示的是一系列图像,俗称"启动界面".Windows的图标是之后才显示的. 对于"启动界面",我们就不截图了,因为不同的电脑,这部分信息是不尽相同的. 为什么呢? 因为这和电脑的硬件有关.实际上,正是电脑的主板(

主引导记录MBR/硬盘分区表DPT/主分区、扩展分区和逻辑分区/电脑启动过程

主引导扇区主引导扇区位于整个硬盘的0柱面0磁头1扇区{(柱面,磁头,扇区)|(0,0,1)},bios在执行自己固有的程序以后就会jump到MBR中的第一 条指令.将系统的控制权交由mbr来执行.主引导扇区主要由三部分组成:主引导记录 MBR(Master Boot Record或者Main Boot Record).硬盘分区表 DPT(Disk Partition Table)和结束标志字三大部分组成. 对于硬盘而言,一个扇区可能的字节数为128×2n (n=0,1,2,3).大多情况下,取n

mbr,gpt,开机启动流程.

启动流程 SystemV 加载 BIOS 的硬件资讯与进行自我测试,并依据配置取得第一个可启动的装置: 读取并运行第一个启动装置内 MBR 的 boot Loader (亦即是 grub, spfdisk 等程序): 依据 boot loader 的配置加载 Kernel ,Kernel 会开始侦测硬件与加载驱动程序: 在硬件驱动成功后,Kernel 会主动呼叫 init 程序,而 init 会取得 run-level 资讯: init 运行 /etc/rc.d/rc.sysinit 文件来准备

(转)硬盘结构,主引导记录MBR,硬盘分区表DPT,主分区、扩展分区和逻辑分区,电脑启动过程

硬盘结构硬盘有很多盘片组成,每个盘片的每个面都有一个读写磁头.如果有N个盘片.就有2N个面,对应2N个磁头(Heads),从0.1.2开始编号.每个盘片的半径均为固定值R的同心圆再逻辑上形成了一个以电机主轴为轴的柱面(Cylinders),从外至里编号为0.1.2…….每个盘片上的每个磁道又被划分为几十个扇区(Sector),通常的容量是512byte,并按照一定规则编号为1.2.3……形成Cylinders×Heads×Sector个扇区. 主引导扇区主引导扇区位于整个硬盘的0柱面0磁头1扇区

Linux开机启动流程及运行级别和常用组合键 == 第一次所学知识框架==

第一次写经验总结 望体谅 linux开机启动过程总结=简化版 1)  加载bios,获取cpu,内存,硬盘 2)  读取MBR,获取bootloader(grub) 3)  根据grub的内容加载内核 4)  内核执行/sbin/init,根据/etc/inittab完成初始化 5)  init执行 /etc/rc.d/rc.sysinit 6)  启动内核模块,根据/etc/modprobe.conf或/etc/modprobe.d/目录下的的文件来加载模块 7)  根据运行级别不同,init

启动流程与主要启动记录区(MBR)

没有运行软件的硬件是没有用的,除了会电人之外..., 而为了计算机硬件系统的资源合理分配,因此有了操作系统这个系统软件的产生.由於操作系统会控制所有的硬件并且提供核心功能, 因此我们的计算机就能够认识硬盘内的文件系统,并且进一步的读取硬盘内的软件文件与运行该软件来达成各项软件的运行目的. 问题是,你有没有发现,既然操作系统也是软件,那么我的计算机又是如何认识这个操作系统软件并且运行他的? 明明启动时我的计算机还没有任何软件系统,那他要如何读取硬盘内的操作系统文件啊?嘿嘿!这就得要牵涉到计算机的启

CentOS开机启动流程简介

我们都知道按下电脑电源键后,屏幕上会一闪而过很多信息,然后显示登录界面,然后输入用户名,密码就可以畅享网络世界了.那么这中间到底发生了什么呢,今天就让我们来简单探讨一下CentOS的简易版开机启动流程吧. 第一阶段:通电自检过程 我们都知道电脑所有数据指令都是在内存上才能被cpu处理的吧,我们还知道内存在断电后其上面的所有数据都会丢失吧,那么开机的时候内存应该是没有东西的吧,那上面都不能干了,更别说启动一个操作系统了,其实啊,我们内存并不只是我们常见的那个内存卡,很多硬件都会映射一段内存到cpu

运维小屌丝的初程关于RedHat启动流程

2013年,头一次听说除了windows系统居然还有其它系统,上网小小的问了下度娘,发现居然已经有在个人电脑上应用的linux系统了,于是很是兴奋的认为,说不定它可以给更多的电脑用户带来不同的体验,虽不能百家争鸣,但总比得上微软一家独大. 可随着接触,发现越来越不是那么一回事,尽管许多的技术大牛嘲讽windows太低端,可linux无论作为电子商务还是个人电脑都有其不足.更多的是大部分的游戏厂商还是愿意在windows下运行. 我想学学看,至少也能多门技术吧.废话不多写点有用的东西吧. 关于系统

centOS 6启动流程

centOS6启动流程 centOS6启动流程 linux内核组成 centos6启动大致流程 1.post加电自检 2.Boot Sequence 3.MBR引导 4.Grub启动 制作initramfs文件 grub.conf的参数 grub的功能 提供启动菜单.并提供交互式接口 加载用户选择的内核或操作系统 为菜单提供了保护机制 安装grub grub-install命令 grub交互式 5.启动 init 进程 6.登录 我们平时使用linux系统,点击电源键,电脑开机到我们输入账号密码