boot loader 分成两个阶段来执行
stage 1: 第一阶段为boot loader 的主程序,这个主程序必须要被安装在开机区,亦即MBR或者super block.因为MBR很小,
所以,这个stage 1 通常仅安装boot loader 的最小主程序,并没有安装loader的相关设定档。
stage 2: 第二阶段为加载 boot loader 的所有设定档与相关的环境参数档案。设定档都在/boot下面。
。。。。。
针对开机的项目,boot loader可以做到:
1. boot loader 可以直接指定并取用 kernel 档案, 来加载到主存储器当中
2. 也可以将loader的控制权移交给下一个loader
换名话,boot loader 除了可以直接指定核心档案来开机之外,也可以指定某个super block 当中的boot loader 接管开机
的核心加载流程。
假设在MBR安装了grub这个同时认识windows与linux的档案系统的boot loader,同时假设我的/dev/hda2当中的super block也安
装了linux的grub,且/dev/hda1的super block则是安装windows的boot loader。此外,我的linux的核心档案放置在/dev/hda2/里
面的/boot/vmlinuz,那么我的MBR的grub至少可以做到
直接指定核心(/dev/hda2/boot/vmlinux)来进行开机
将控制权交给/dev/hda2 super block 当中的grub管理
将控制权交给/dev/hda1 super block 当中的windows的loader来管理
我们的linux可以选择将boot loader 安装在MBR或者是super block当中。但windows系统则几乎预设强制会同时安装在MBR与super block当中。
我的理解是:
1.super block 超级块只有一个
2.MBR 引导扇区在每个盘符里面都有?(hda1, hda2.....)
3.我在安装linux系统的时候,只要将boot loader信息写到磁盘中的(hda1)的MBR里面就可以了,
但要保证该磁盘是主逻辑分区?在读磁盘的时候就会出现
1. redhat version
2. windows xp perfissional
3. windows 7 expression
这样的界面
4. 如果先装了linux 再安装windows的话,可以通过安装spfdisk的软件在MBR中就可以识别了
wang7131984 于 2009-04-29 11:43:44发表:
MBR是每个盘都有,不是每个分区(是hda,hdb,.....),通常是位于0号磁道。MBR是用来加载引导程序的,并不是用来加载操作系统的。
当你开机时,BIOS内置的检测程序(已经固化)会进行开机自检并在MBR中(MASTER的MBR)中加载开机引导程序。(这也就不难理解为什么MBR总是在0号磁道,如果MBR老是变更位置,那我岂不是要修改BIOS程序)
MBR中的开机引导程序将在你选择操作系统之后将在你安装操作系统的那个主分区将操作系统的某些核心文件加载到内存并创建相应的进程,进行一系列的初始化.....
而超级块,从字面意义上就不难理解它,它是用来保存元信息的。你的分区格式是EXT3还是EXT4还是NTFS,VFAT...要让操作系统知道它就必须保存这些格式的结构信息,同时哪一个BLOCK是空的,哪一个索引节点还没有使用,这都需要超级块来保存。