心,而
(2)
系统的
MBR
只有一个,那你怎么会有办法同时在一部主机上面安装
Windows
与
Linux
呢?
这就得要回到
第七章的磁盘文件系统
去回忆一下文件系统功能了。
其实每个文件系统
(filesystem,
或者是
partition)
都会保留一块启动扇区
(boot sector)
提供操作系统安装
boot loader
,
而通常操作
系统默认都会安装一份
loader
到他根目录所在的文件系统的
boot sector
上。如果我们在一部主机上
面安装
Windows
与
Linux
后,该
boot sector, boot loader
与
MBR
的相关性会有点像下图:
图
19.1.1
、
boot loader
安装在
MBR, boot sector
与操作系统的关系
如上图所示,每个操作系统默认是会安装一套
boot loader
到他自己的文件系统中
(
就是每个
filesystem
左下½的方框
)
,而在
Linux
系统安装时,你可以选择½
boot loader
安装到
MBR
去,也
可以选择不安装。
如果选择安装到
MBR
的话,那理论上你在
MBR
与
boot sector
都会保有一份
boot loader
程序的。
至于
Windows
安装时,他预设会主动的½
MBR
与
boot sector
都装上一份
boot loader
!所以啦,
你会发现安装多重操作系统时,你的
MBR
常常会被不同的操作系统的
boot
loader
所覆盖啦!
^_^
我们刚刚提到的两个问题还是没有½决啊!虽然各个操作系统都可以安装一份
boot loader
到他们的
boot sector
中,
这样操作系统可以透过自己的
boot loader
来加载核心了。问题是系统的
MBR
只
有一个哩!
你要怎么执行
boot sector
里面的
loader
啊?这个我们得要回忆一下
第二章约略提过的
boot loader
的功能了
。
boot loader
主要的功能如下:
.
提供选单
:用户可以选择不同的开机项目,这也是多重引导的重要功能!
.
载入核心
文件
:直½指向可开机的程序区段来开始操作系统;
.
转½其他
loader
:½开机管理功能转½给其他
loader
负责。
由于具有选单功能,因此我们可以选择不同的核心来开机。而由于具有控制权转½的功能,因此我们
可以加载其他
boot sector
内的
loader
啦!不过
Windows
的
loader
预设不具有控制权转½的功能,
因此你不能使用
Windows
的
loader
来加载
Linux
的
loader
喔!这也是为啥第二章谈到
MBR
与
多重引导时,会特别强调先装
Windows
再装
Linux
的缘故。
我们½上述的三个功能以底下的图标
来½释你就看的懂了!
(
与第二章的图示也非常类似啦!
)