nsdy 发表于 2008-11-7 15:05:09

关于在安装双系统时的疑惑

我的电脑有一个xp每次在安装fedora or debian时 总是在分区的时候看见那个 作为主分区 或者强制为主分区

机子上有一个xp
下面是我的fedora分区情况

boot 100M
/15G
swap 1G
/home

其中boot 为主分区

主分区::启动分区
我只是想知道在什么情况下应该应该把linux所用的分区设为主分区 为什么要设为主分区 即: / 可以不可以设成主分区 为什么

[ 本帖最后由 nsdy 于 2008-11-7 15:57 编辑 ]

jiangtao9999 发表于 2008-11-7 19:48:42

楼主你知道什么是主分区,什么是启动分区吗?

nsdy 发表于 2008-11-11 12:42:32

不知道
我想知道是不是在安装每一个linux操作系统的时候都应该设置一个主分区 应该设置那个

jiangtao9999 发表于 2008-11-11 14:35:20

主分区和什么系统没关系。
主分区是位于 MBR 扇区中的 4x16 字节数据段。这个是 MSDOS/IBM PC 引导程序的传统设定。MBR 分区包含 MBR 引导程序 + 分区表,计算机启动时 BIOS 会读取整个 MBR 扇区 512 字节(只有 512 字节)。这样 MBR 引导程序可以直接读取分区表内容,来确定继续启动系统的程序位置(512 字节 - 4 x 16 字节 - 2 字节 55AA 标志 = 446 字节的程序什么都干不了的)。
在这里的 4 个分区表位置来表示的分区,就叫做主分区。

很明显,计算机发展了,4个位置肯定是不够的,这个时候就出现了为了兼容而准备的“扩展分区”,其实就是把某一个主分区的“类型 ID”改个数字。之后,所有的软件、系统看到这个标志,就把这个主分区当成扩展分区,去这个扩展分区的数据开始位置去寻找逻辑分区表,逻辑分区表就是这个扩展分区的再分区表,划分出来的分区叫做逻辑分区。
逻辑分区表是链式结构,他表明一个逻辑分区的属性后,还会给出下一个逻辑分区的开始位置,下一个逻辑分区的开始保存了同前一个分区方式保存的数据后,同样再提供下一个逻辑分区的位置,直到逻辑分区结束。

主分区和扩展分区、逻辑分区介绍完了。再说说启动分区。

MBR 程序仅仅是一个过度,他的目的就是初始化环境,之后把系统的启动权利继续交给主分区上面的引导程序继续进行真正的系统启动。因为 MBR 运行时,只有 BIOS 提供的中断功能,而且还处于 x86 的最古老的兼容模式(保护模式)运行。这样就进一步导致446 字节的 MBR 程序什么都干不了的。所以 MBR 需要 4 个分区中有一个分区是“启动”分区,用来启动计算机的系统。这个时候,含有“激活”属性的分区就是用来表示即将被启动的分区,MBR 程序会把它的引导部分的程序读取到内存并且运行。来解决 446 字节无法完成的工作。
这个被激活的主分区就叫做启动分区。

注意 grub 和 lilo 不是根据 MS-DOS 分区表里面的信息来启动系统的,他是根据自己被安装时保存的下一级启动程序的位置来直接进行启动的。因为 MBR 之外的地方,有很多还是没有使用的数据空间,他们可以用来保存启动程序。这样一步一步传递,可以绕过分区表的限制来启动任何位置的一个系统引导程序。但因为他们仍然运行在有限制的环境,所以依然会碰到 BIOS 寻址空间不够,导致不能启动太过靠近硬盘空间尾部的引导程序。这个时候 /boot 的分区效用就可以显现出来,grub 摸到靠近前排的 /boot ,找到 Linux 内核,内核启动后,回自己提供足够的功能来实现任何一个硬盘空间位置的数据读写。

所以大家一般只要 / 分区足够靠前,或者引导程序(grub 、lilo )支持内核所在的分区,就不需要 /boot 分区。
Linux 跟随 UNIX 传统出现在服务器上,这个时候这些服务器都是特殊结构的硬盘存储,比如网络集群,硬盘 RAID ,这个时候需要先启动内核来提供驱动程序后,才能继续完成系统的全部启动功能。这个时候 /boot 的用处就体现出来了。
页: [1]
查看完整版本: 关于在安装双系统时的疑惑