Board logo

标题: MBR和DBR的几个小问题 [打印本页]

作者: qiang942     时间: 2010-9-2 19:55    标题: MBR和DBR的几个小问题

分区产生 MBR 高格产生 DBR。

问题1:这时候的 MBR,DBR是具有实际引导意义的(即包含引导代码)还是只是预留相应的物理扇区 等待后续安装系统再写入相应的代码。

问题2.如果这时候的MBR,DBR具有实际的引导意义了,那么是有通用性的吗。这个通用性只是相对的??

问题3.1如果具有绝对通用性(参见这个帖子 http://www.360doc.com/content/10/0719/23/25127_40186329.shtml
为什么Ghost xp到C盘要写入/修改MBR,分区时产生的MBR不可引导xp吗?

问题4.双系统,C盘预装一个XP,在D盘ghost另外一个xp,那么D盘的ghost xp 还会写入MBR吗??

问题5。如果是安装版的xp 安装时候会写入MBR和DBR吗???问题比较多,希望解答,别跑题哦,嘎嘎!

[ Last edited by qiang942 on 2010-9-2 at 19:56 ]
作者: qzwqzw     时间: 2010-9-2 23:09
1、分区和高格都是基于特定的系统和应用环境的,所以此时产生的MBR,DBR都具体特定的引导意义。也就是说,用DOS的FDISK分区不会产生WIN7的MBR引导记录,用XP的格式化则不会产生DOS的DBR引导记录。

2、MBR、DBR都是基于特定系统和应用环境的,有一定通用性,但比较差。比如NT和DOS之间就很难通用。所以才会有Grub之类引导工具存在的意义。

3、因为缺乏通用性,所以某些镜像恢复工具可能会连带备份好恢复MBR,比如TrueImage,Ghost不太清楚。

4、如果GHOST会修改MBR,那么没理由会因为它不在第一分区就不修改MBR,但因为同属XP系统,所以MBR应该不会有太大变更。

5、安装版XP通常会写入MBR、DBR,但一般在低版本系统向高版本升级的时候,这个变化才比较明显。同系统版本即使有变化也感觉不到。
作者: qiang942     时间: 2010-9-3 09:29


  Quote:
Originally posted by qzwqzw at 2010-9-2 23:09:
1、分区和高格都是基于特定的系统和应用环境的,所以此时产生的MBR,DBR都具体特定的引导意义。也就是说,用DOS的FDISK分区不会产生WIN7的MBR引导记录 ...

非常感谢你这么详细的回答

基于《 问题1》 和《问题5》的解释

我有个想法就是:安装版xp通常会写入MBR和DBR。 是不是准确的说 应该是
重新写入 MBR和DBR

理由是:分区格式化的时候已经产生了MBR和dbr呀,(我猜测dos分区格式化这时候产生的mbr,dbr只能引导dos系统,不能引导高级系统)  所以想要引导 xp 就需要重新写入MBR来引导…………

菜鸟胡思乱想 哈哈

[ Last edited by qiang942 on 2010-9-3 at 13:46 ]
作者: DOSforever     时间: 2010-9-4 22:37
很少看到这样有深度的提问了,这些也是我一直比较模糊的问题,也想就此机会和大家讨论下。下面说说我个人的一点理解和看法,这既是我的回答,也是我的疑问,说的不对的请大家指正:

分区产生 MBR 高格产生 DBR。
——
我也这么认为。但有个名词我想额外的纠正下——DBR,DBR 顾名思义就是“ DOS 引导记录”,但我们讨论的引导记录的范围不仅限于 DOS ,因此我认为应该使用 PBR——“分区引导记录”一词比较好。

问题1:
这时候的 MBR,PBR是具有实际引导意义的(即包含引导代码)不是只是预留相应的物理扇区。至于后续安装系统可能还会再次写入相应的代码,见我后面的问题5。

问题2:
MBR,除由多系统引导管理程序如 GRUB 、System Commander 等生成的外,我认为具有通用性。虽然它们的代码不一样,但不管你是 DOS 生成的还是 Windows 生成的还是其它 OS 或分区工具生成的,MBR 的主要作用就是检查分区表的有效性并从分区表中找出活动分区,然后加载该活动分区的引导扇区从而引导操作系统。
至于 PBR ,各操作系统之间相互没有通用性。当然 MS-DOS 7.x 和 Windows 9x 是个例外,从底层的某些方面来说可以认为是一个操作系统。
相同操作系统之间有通用性吗?这也是我一直迷惑的,也没有花时间去研究下。目前我认为具有一定的通用性,我想引导代码是通用的,所不同的只是分区几何参数的不同。也就是说,假如两个大小完全相同的分区,他们的 PBR 是可以互换的。不过我没做过实验。

问题3和4可以一并来回答
GHOST 在操作的时候是如何处理分区的,特别是对 MBR 和 PBR,也是我一直不解的一个问题,而且 GHOST 有许多如何对扇区进行操作的参数,不同参数会产生不同的影响。
参见我这个问题: http://www.cn-dos.net/forum/viewthread.php?tid=39802

问题5:
我记得安装 Windows 98 的时候会重写 MBR ,安装 Windows XP 的时候也会,PBR 会不会,没注意到。Microsoft 是比较霸道的,它总是喜欢把公用的地方改写成自己的东西。不过安装 Windows 2000 的时候是不会改写 MBR 的。
作者: qzwqzw     时间: 2010-9-5 01:11
MBR的通用性
在Vista、Win7出现以后
硬盘0磁道上就又多了一位不速之客
使得即使在Windows系列内其MBR的通用性也大打折扣
别说其他系列的OS了

PBR的通用性
跨OS就不用说了
同OS之间也会存在问题
这里主要指的是BPB——BIOS参数块
也就是你所说的分区几何参数
及其他一些硬盘相关参数
它与PBR同存于0扇区
有人也把它归为PBR

而BPT的值与OS无关
而是与硬盘大小、类型以及硬盘控制器(南桥芯片)有关
同样一块硬盘,同样一个分区
在不同的主机上格式化其BPT会略有不同
而这直接影响了2K/XP的引导成功与否
前几天我在T21的NB上就碰到了此的问题
折腾了几天连个XP也装不上

98和XP安装时都会写入PBR
这是可以肯定的
否则IO.SYS和NTLDR就可能无法载入引导
一些引导的错误提示也会写在这里
NTLDR is missing之类
同理可证
绝大多数OS安装时都会写入PBR
否则就可能无法完成正常的引导过程

[ Last edited by qzwqzw on 2010-9-5 at 01:15 ]
作者: azziporah     时间: 2010-9-5 01:59
其实LZ这几个疑问,都是因为对MBR和VBR本身不了解。
Volume Boot Record是DBR、PBR等名词的更通用、更准确的名称。

反问你以下问题:

分区是什么?卷是什么?
分区和卷有什么区别?

MBR放在哪里,是什么时候、由什么产生的?
MBR里的每个16-byte的分区表入口,如何定义了一个分区?
MBR里的boot code是什么时候执行的,有什么作用?

VBR放在哪里,是什么时候、由什么产生的?
VBR与卷是什么关系,VBR中的BPB和EBPB定义了一些什么参数?
VBR里的boot code是什么时候执行的,有什么作用?
作者: qiang942     时间: 2010-9-6 17:05


  Quote:
Originally posted by azziporah at 2010-9-5 01:59:
其实LZ这几个疑问,都是因为对MBR和VBR本身不了解。
Volume Boot Record是DBR、PBR等名词的更通用、更准确的名称。

反问你以下问题:

分区是什么?卷 ...

分区设置了一些硬盘参数和指定MBR
分区是将一个基本磁盘上连续的空间分成一个分区
基本磁盘升级为动态磁盘
把磁盘中不连续的空间或者是跨磁盘的空间可以组成一个卷集
(刚在网上查的,卷 之前真不知道什么东西,现在也不太了解,晕~~~)

MBR在分区时候产生,
在0柱面0磁道1扇区
计算机从硬盘启动的时候,把引导代码加载到内存,检查分区表和查找活动的分区

网上还有叫 OBR(OS Boot Record)

VBR是在高格时候产生的
在0柱面1磁道1扇区
MBR引导程序结束后把VBR的引导程序装载到内存中执行
Boot code 引导操作系统的 引导文件 xp的ntldr
作者: azziporah     时间: 2010-9-7 12:09


  Quote:
Originally posted by qiang942 at 2010-9-6 17:05:
分区设置了一些硬盘参数和指定MBR
分区是将一个基本磁盘上连续的空间分成一个分区
基本磁盘升级为动态磁盘
把磁盘中不连续的空间或者是跨磁 ...

这些基本问题,看似简单,却不容易真正理解。行业多年的发展史和厂家之间的不统一都使得情况变得更糟。

分区这个概念源于硬盘,因此一切需以硬盘的立场来思考。然而多年的发展使得分区的概念有所延伸,因此又不能机械地局限于硬盘。

对现代硬盘来说,分区是LBA意义上连续的一堆扇区。这个连续性,只是一个既成事实,没有任何内部物理机制或人为规定来强制连续;只是出于性能等的考虑,所有的分区工具都这样做而已。

而LBA意义上的连续,就是说并非物理上的连续。LBA与物理扇区的映射,是硬盘内部完成的,这套机制复杂而灵活,可以提高硬盘的通用性和稳健性。因此,对现代硬盘来说,CHS(0,0,1)这样的地址是没有意义的,但出于兼容性,CHS(0,0,1)仍然可以被识别,并会转为LBA0。

当我们对一个硬盘进行分区后,一个分区和另一个分区的扇区看起来有什么不同吗?完全没有。那这个硬盘的哪里起了变化?答案就是在磁盘的某些扇区,放置了记录分区情况的信息。所以,分区只是一种人为的格式约定,MBR是一种约定,GPT是另一种约定。如果一个分区工具不认识某种约定,这些信息就对它没有意义,它会认为这是一个原始磁盘,然后尝试进行分区……杯具就这样产生了。

顺带一提,GPT为了避免以上情况,从形式上保留了MBR。

累了,下次继续……
作者: qiang942     时间: 2010-9-7 16:37


  Quote:
Originally posted by azziporah at 2010-9-7 12:09:


这些基本问题,看似简单,却不容易真正理解。行业多年的发展史和厂家之间的不统一都使得情况变得更糟。

分区这个概念源于硬盘,因此一切 ...

期待你的继续啊,在网上看的知识比较零碎
想系统的学一下 这样的知识,能不能推荐些 书籍,我好好看一看
作者: azziporah     时间: 2010-9-7 17:25
入门
http://en.wikipedia.org/wiki/Hard_disk_drive
http://en.wikipedia.org/wiki/Disk_partitioning
http://en.wikipedia.org/wiki/Disk_formatting
http://en.wikipedia.org/wiki/Volume_%28computing%29

进阶
http://www.pcguide.com/ref/hdd/index.htm

终极
http://mirror.href.com/thestarman/asm/mbr/index.html
作者: qiang942     时间: 2010-9-7 22:06
尽力看懂吧!!等我好消息  哈哈~~~
作者: DOSforever     时间: 2010-9-12 14:25    标题: Re: #10 azziporah

你提供的这些资料很好,谢谢你提供的这些链接,有时间的话我仔细看下,还有不明白的再提出来和大家讨论。
作者: zhxy9804     时间: 2010-10-1 20:34
ghostxp到C盘根本就不会写入mbr,也不会激活C盘,指挥写入打包时候带入的pbr,相当于格式化了C盘
作者: netwinxp     时间: 2010-11-26 06:47
GHOSTXP在启动XP时会修改MBR--01B5~01B8处DOWRD的磁盘签名.
作者: zaixinxiangnian     时间: 2010-11-28 14:07
azziporah
初级用户  你的链接全是英文的,看不懂,我想问下,英语学到几级才能看懂那些东西呀?
有没有中文的呀????
作者: gengjunmei     时间: 2011-1-8 18:59

作者: jshan888     时间: 2022-10-21 21:02
学习了,太精深的知识,估计不会了