无忧启动论坛

标题: 每一个分区都有PBR吗? [打印本页]

作者: wenliangyu    时间: 2009-7-16 22:09
标题: 每一个分区都有PBR吗?
网上看到这样的介绍:
“ XP系统引导过程是,BIOS自检后,DPT把系统控制权交给硬盘第一个分区的PBR(Partition Boot Record),XP的PBR会去找这个分区的ntldr,之后是boot.ini,选择启动的系统后load注册表,交控制权给ntoskrnl,然后加载驱动,系统配置等等。
 分区引导区(PartitionBootRecord,PBR):512字节,位于每个非扩展主分区及每个逻辑分区的第一个扇区;可存放小段程序。


不太明白,是不是每个分区都有PBR?PBR是不是和MBR一样和操作系统无关?分区的PBR是格式化后就自动有吗?将主分区设为活动后,MBR引导后控制权就交给这个设为活动的分区的PBR?也就是我将某个主分区(非默认的C盘)激活后,将NTLDR、boot.ini复制到该分区,就能实现从该分区启动吗?

谢谢指教!
作者: fujianabc    时间: 2009-7-16 22:39
pbr就是启动扇区,一般分区格式化后就会有启动扇区,fat12/16分区是512字节,ntfs分区是8192字节

大部分分区类型都有启动扇区,但一部分linux分区没有启动扇区
作者: wenliangyu    时间: 2009-7-16 23:05
我又理解了一下,不知对不对?PBR和MBR相对操作系统无关的是存放引导程序代码的位置,Windows建立引导系统的MBR时,写入的是引导Windows的代码,如果是别的引导器,会写入别的代码。Windows的分区都会有存放PBR代码的扇区位置,但是不代表每个分区都是有引导程序的。

我知道Window下修复、重建MBR的方法,但是不知道怎么在分区建立可以引导NTLDR的分区引导程序呢?
作者: lvyanan    时间: 2009-7-17 08:17
所谓PBR的描述是不正确的,在所有正规硬盘分区技术交流场合,都看不到这样的称谓,建议还是使用DBR为好,无忧启动论坛不应该开这样一个先例,免得让数据恢复界的朋友笑话,大家可以看看戴士剑编著的《数据恢复技术》第二版和马林编著的《数据重现》,也可以到比较专业的硬盘技术论坛看看,你将看不到关于PBR的描述,坚持使用PBR不利于技术交流,至少是很别扭的,这种错误的说法,居然会成为一种流行,可见其流毒之广,如不认真纠正,必将继续误导更多的网友,希望大家从我做起,不要以讹传讹了,无忧作为一个较为严谨的技术论坛,不能因此授人笑柄!
作者: lfhrsm    时间: 2009-7-17 10:36
我说么看了半天都看不懂什么是PBR。原来就是指DBR啊。呵呵。咱只研究windows系统。所以知道这个,每个分区前面是EBR,EBR之后是DBR。就这样。
作者: Zokor    时间: 2009-7-17 12:11
原帖由 lvyanan 于 2009-7-17 08:17 发表
所谓PBR的描述是不正确的,在所有正规硬盘分区技术交流场合,都看不到这样的称谓,建议还是使用DBR为好,无忧启动论坛不应该开这样一个先例,免得让数据恢复界的朋友笑话,大家可以看看戴士剑编著的《数据恢复技 ...


关于PBR是什么,我是从Pauly的BOOTICE那里知道的,不过很好理解,

Pauly的解释很易懂


主引导记录(MBR)
MBR,全称为 Master Boot Record 或 Main Boot Record,即主引导记录。位于磁盘第一扇区。它由四部分组成,主引导记录MBR、磁盘签名、硬盘分区表DPT和硬盘有效标志。
不同类型的 MBR 有着不同的用途,如 MS 的 MBR 会搜寻第一个活动的主分区,然后从这个分区启动;GRUB4DOS 的 MBR 则会到所有硬盘所有分区根目录去寻找 grldr,然后启动这个文件;Lvyanan 的 1JF9 则会给出提示并等待用户按键然后启动相应分区。

分区引导记录(PBR)
PBR,全称 Partition Boot Record,分区引导记录。或称 VBR(Volume Boot Record),DBR(DOS Boot Record)。位于分区的起始部分,用于启动该分区上的某程序会某操作系统。如,GRUB4DOS 的分区引导记录会加载这个分区上的 grldr 然后启动这个文件;NTLDR 类型的 PBR 会加载这个分区上的 ntldr 来启动 XP 系统

TT截图未命名.jpg (60.56 KB, 下载次数: 107)

TT截图未命名.jpg

作者: Climbing    时间: 2009-7-17 13:26
标题: 回复 #4 lvyanan 的帖子
看不出PBR会流出什么毒?不就是Partiton Boot Record嘛,说白了就是分区引导扇区,这能流什么毒呢?专家的专著说的就是千古不易的真理?广大人民群众就不能创造一些喜闻乐见的专业词汇?连外国人都接受了long time no see 或者 give you some color see see这样的句式,我就看不出搞计算机的为什么就不能说PBR而非要用DBR来代替。好比,“油条”被官方叫开了民间就不能叫“果子”了,何况,DBR也不见得就是多么精确合理的一个词汇。

说到分区引导扇区,一般来说,只存在于主分区,对于扩展分区(Extend Partition)或者逻辑分区来说,分区引导扇区是没有意义的。

引导扇区跟操作系统和文件系统是密切相关的,它的作用就是用来从某文件系统上引导某操作系统。而传统的MBR一般来说与文件系统和操作系统无关(它的作用就是找到活动分区并加载该分区的引导扇区),当然,MBR也是一段代码,完全可以通过编程的手段提供更多的功能(从而颠覆传统的MBR的功能),例如,grub4dos的mbr代码就集成了多种文件系统的访问代码,从而可以直接访问多种文件系统上的文件。很多第三方的MBR代码还会实现一个多分区启动管理软件的功能,提供分区引导菜单、密码保护等更复杂的功能,例如bootstar、Boot Magic、spfdisk等等。
作者: Pauly    时间: 2009-7-17 14:29
事实上,数据恢复界的人把它叫做 DBR 是因为他们叫错了,或者说固步自封,他们一直这样叫是因为他们一直犯错。

Wikipedia 上使用的词条为 VBR(Volume Boot Record),并称 PBR 不严谨。参考:

http://en.wikipedia.org/wiki/Boot_sector
http://en.wikipedia.org/wiki/Master_boot_record
http://en.wikipedia.org/wiki/Volume_boot_record
作者: netwinxp    时间: 2009-7-17 14:31
DBR也就是DOS Boot Record,个人对之颇为耿耿于怀,难道我们把NTFS的$BOOT也叫做DBR就很合适?另外,叫成VBR也不见得多合适,该缩写目前更多的用在“动态压缩率”,用卷引导记录反而更容易引起混乱,而且把分区叫成基本卷也过于勉强了。其实应该是DISK BOOT RECORD比较合适,因为BPB+引导程序的架构本来就是来自于软盘,逻辑分区其实就是模拟一个容量巨大的软盘。
另外就是EBR问题,其实在绝大多数情况下,扩展分区0扇区仅有两个分区项和AA55H这个结束标记,称它为Boot Record合适吗??

[ 本帖最后由 netwinxp 于 2009-7-17 14:40 编辑 ]
作者: yichya    时间: 2009-7-17 15:53
好多 *BR,晕啦。。。

要我说,统一叫‘引导记录’多省事。
作者: cnszhlb    时间: 2009-7-17 16:41
这么多的叫不以我已经眼花了。
作者: wenliangyu    时间: 2009-7-18 08:38
标题: 回复 #6 Zokor 的帖子
这里的说法有点不清楚。比如:关于MBR里说,GRUB4DOS 的 MBR 则会到所有硬盘所有分区根目录去寻找 grldr,然后启动这个文件;关于PBR里也说,GRUB4DOS 的分区引导记录会加载这个分区上的 grldr 然后启动这个文件。
  那么到底是MBR去引导grldr还是PBR去引导grldr。我估计应该是MBR去每个分区寻找PBR,PBR再加载grldr吧?
作者: wenliangyu    时间: 2009-7-18 08:44
原帖由 Climbing 于 2009-7-17 13:26 发表
... 很多第三方的MBR代码还会实现一个多分区启动管理软件的功能,提供分区引导菜单、密码保护等更复杂的功能,例如bootstar、Boot Magic、spfdisk等等。


那么PBR呢?也是有代码吧?操作系统格式化分区会自动生成PBR代码吗?(安装操作系统过程是可以生成对应的MBR代码。)用什么软件可以编辑或者生成PBR代码?我知道BootIce可以。Windows自身用什么软件呢?
作者: yichya    时间: 2009-7-18 10:14
FORMAT一个分区就是为了生成BPB和FAT。
作者: ck    时间: 2009-7-18 10:45
DBR(DOS BOOT RECORD)
OBR(OS BOOT RECORD)
PBR(Partition Boot Record)
VBR(Volume Boot Record)
谁主沉浮?
作者: xtay004    时间: 2009-7-18 11:16
@climbing"说到分区引导扇区,一般来说,只存在于主分区,对于扩展分区(Extend Partition)或者逻辑分区来说,分区引导扇区是没有意义的。"
@winnetxp"另外就是EBR问题,其实在绝大多数情况下,扩展分区0扇区仅有两个分区项和AA55H这个结束标记,称它为Boot Record合适吗??"
斗胆问一句:此图关于扩展分区的引导扇区的描述是错误的么?

我目前的看法是:
如果如两位所说扩展分区没有引导扇区,xp的MBR指向活动分区的PBR,PBR找ntldr加载引导系统。对于扩展分区的系统,因为出现选择菜单的时候ntldr就已经加载,选择扩展分区的系统就直接用目前的ntldr直接引导。
如果有,ntldr再加载扩展分区的引导扇区重新加载ntldr这样也可以引导系统。或者即使有也可以不用,用上边的方法引导。
对于目前的GRUB2和GRUB4DOS
既然本身带有了文件系统的访问代码,就可以直接加载ntldr或者linux对应的文件来引导系统,无视PBR的引导代码了~
或许这也是fujianabc 所说的某些linux分区不需要PBR的原因~因为MBR已经够强壮~

[ 本帖最后由 xtay004 于 2009-7-18 11:56 编辑 ]
作者: fujianabc    时间: 2009-7-18 18:39
原帖由 xtay004 于 2009-7-18 11:16 发表
如果有,ntldr再加载扩展分区的引导扇区重新加载ntldr这样也可以引导系统。或者即使有也可以不用,用上边的方法引导。
对于目前的GRUB2和GRUB4DOS
既然本身带有了文件系统的访问代码,就可以直接加载ntldr或者linux对应的文件来引导系统,无视PBR的引导代码了~
或许这也是fujianabc 所说的某些linux分区不需要PBR的原因~因为MBR已经够强壮~

ntldr加载了扩展分区的引导也没用,ntldr不能从直接从扩展分区加载的,而且ntldr不独取扩展分区上的boot.ini

至于我说的一些linux分区没有引导扇区,有两层意思
1、linux通过lilo/grub/syslinux等加载内核来启动,而lilo/grub/syslinux等一般不是通过启动扇区来加载的
2、linux的swap分区,当然没启动扇区了,swap分区连文件都没有
作者: jamesdai2002    时间: 2009-7-18 19:53
个人觉得还是lvyanan (井底蛙) 建议的DBR说法比较严谨, 因为硬盘不仅仅工作在x86平台,也许是SUN, HP, apple 或者其他嵌入式硬件平台, 现在大家所说PBR都是microsoft dos发展而来的。
作者: qtwdftxvt    时间: 2009-7-18 20:46
今天见大家讨论,真是精彩啊,我看也没必要揪住 DBR 和 PBR 不放,无非一个是 “DOS 引导记录”,一个是“分区引导记录”嘛,每个主分区或逻辑盘都有“分区引导记录”,都是格式化是形成的,只是逻辑盘不存在激活或引导的概念,有“分区引导记录“也没有用啊,DBR 只是在研究 DOS 时遗留的产物,个人认为目录还是应该叫 PBR 更合理一些。
作者: lvyanan    时间: 2009-7-19 09:42
使用业界公认的标准称谓的意义,就在于方便技术交流,不容易产生概念上的歧义,我在此争论这个问题,并非是守旧,而是为了避免交流上的障碍,难道大家就只在无忧上交流吗?追溯DBR产生的由来,DBR的确是由DOS BOOT RECORD而来,现在这只是一个公认的名称而已,就像熊猫更应该称之为猫熊一样,熊猫属于熊科动物,准确的说应该叫“猫熊”,但却偏偏被命名为“熊猫”。。。。。。
DBR是在分区格式化为磁盘的过程中产生的,并非是在分区划分中就出现的,因此严格地讲,DBR这个结构是伴随逻辑磁盘的建立而出现的,它本身就是定义磁盘文件系统的,现在很多人把分区和逻辑磁盘混为一谈,产生概念错误就是难以避免的了,PBR的概念也是这样产生的,分区在没有格式化前是没有稳定定义的,只有在格式化产生磁盘结构后,DBR才产生出来,DBR中的BPB表定义了磁盘的基本结构,DBR与操作系统的关系是紧密相关的,分区则不然,即使你确定了分区属性,但格式化的时候可以很容易的改变其属性,该属性即使被改为其它兼容文件系统属性,也不会影响到逻辑磁盘的使用,比如对一个格式化成NTFS磁盘的分区表项属性,我们将其07属性改为FAT16的06属性值,在使用中,系统仍然是根据DBR来识别磁盘文件系统的,并不依赖分区表项的属性值识别,把一个磁盘数据结构,强加上分区数据结构的名头,难道不贻笑大方吗?对此我是觉得很悲哀的,不说了,随它去吧。
建议大家到【中国硬盘基地技术论坛】去看看:http://bbs.intohard.com/index.php

[ 本帖最后由 lvyanan 于 2009-7-19 10:49 编辑 ]
作者: xtay004    时间: 2009-7-19 11:21
大家的出发点都是好的,毕竟每个人对事物的认知程度不同,对事情的看法也就不同,这是很正常的。
为一个技术问题伤了感情就划不来了。
netwinxp  lvyanan  climbing fujianabc 四位位大侠都是我敬重的人物。
作者: bgwhw    时间: 2009-7-19 13:19
井底蛙的见解有道理,统一名称和概念,便于交流!
作者: yyjdelete    时间: 2010-3-23 08:48
谢谢各位的解答
顶上去给更多人看看
……………………
看了这篇帖子终于要明白了,不过还要理理……
作者: atiger    时间: 2010-3-25 21:01
对,有些问题就需要统一
作者: cnstars    时间: 2010-3-27 23:40
有的,用过ICEBOOT就知道其中的原理了
作者: yulon    时间: 2010-3-28 16:46
原帖由 yichya 于 2009-7-17 15:53 发表
好多 *BR,晕啦。。。

要我说,统一叫‘引导记录’多省事。


要我说,

MBR 应该改名为 OBR (One Boot Record) 一级引导记录
PBR 应该改名为 TBR (Two Boot Record) 二级引导记录

多好记,省事啊···

[ 本帖最后由 yulon 于 2010-3-28 16:48 编辑 ]
作者: wfdm3    时间: 2011-12-5 09:16
楼上回复的也是有道理的,与其在这争论PBR与DBR的区别,倒不如直接讨论他们的功用,的确是用bootice就马上明白其作用,就是一级和二及引导记录的问题么。明白了系统启动原理,就不难了。
作者: ziyoudu    时间: 2011-12-5 10:51
反对固步自封         



叫 PBR          很好




欢迎光临 无忧启动论坛 (http://bbs.wuyou.net/) Powered by Discuz! X3.3