首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在MBR中双引导FreeBSD和PC-BSD -与GRUB2?

如何在MBR中双引导FreeBSD和PC-BSD -与GRUB2?
EN

Unix & Linux用户
提问于 2014-10-09 15:28:32
回答 1查看 1.1K关注 0票数 1

我有一台计算机,它的几个操作系统安装在不同的分区上:

  1. FreeBSD
  2. PC-BSD
  3. 索拉里斯
  4. 扩展划分
  5. / -partition for Linux-Mint
  6. Linux的/home
  7. / -partition (以及一切)用于Linux CentOS

我的主要操作系统是Linux,一个Ubuntu的嘲笑。

我在MBR中安装了GRUB2,它(GRUB)使用Linux安装(/boot/grub等)中的数据。

FreeBSD和PC各自在分区中都有自己的第二阶段引导加载程序。Solaris在其分区中有自己的GRUB安装(它充当第二阶段的引导加载程序,使我能够在不同的Solaris内核之间进行选择)。Linux和CentOS是由MBR中的GRUB引导的。

+++

我的问题是FreeBSD和PC-BSD -他们只是不会玩得很好!尽管我已经在两个BSD安装的GRUB条目中指定了不同的根分区等;但不管我从GRUB菜单中选择了FreeBSD还是PC-BSD,相同的根分区都会被引导。

引导*BSD似乎是三个阶段的进程:MBR-加载程序(第一阶段),在BSD-分区中加载第二阶段,最后加载实际的内核(第三阶段)。

最后,我降低了RTFM关于在*BSD中引导的内容,我发现了关于第二阶段BSD-引导加载器(它已经安装在我的两个BSD-分区中)的以下要点:

  • 如果在分区表中没有将BSD-分区标记为活动分区(可引导的),那么加载程序将开始第三阶段加载BSD --在磁盘上的第一个BSD--分区--无论从哪个分区加载第二阶段BSD--内核。在我的例子中,它总是加载FreeBSD (因为它是第一个)。
  • 另一方面,如果一个BSD分区被标记为活动(可引导),这将是BSD内核,将作为第三阶段加载。在我的例子中,我要么总是得到FreeBSD,要么总是得到PC。

一定有办法绕过这件事吗?!也许不知何故跳过了第二阶段,让GRUB直接加载第三阶段的内核-然后根据我的选择不同的内核.或者可能是第二阶段的一些特殊参数或配置--或者是另一种第二阶段加载器?有没有人遇到过类似的问题并解决了这个问题?

PS:在MBR中安装GRUB,覆盖了由FreeBSD (和FreeBSD)安装的第一阶段引导加载程序。但是,我怀疑使用FreeBSD第一阶段是否能够解决我的问题,因为问题是(AFAIK)第二阶段加载器。

EN

回答 1

Unix & Linux用户

发布于 2014-10-11 19:29:51

首先,我不会使用MBR,因为你有4个操作系统,这不会太远。您需要将/boot分区作为主分区而不是扩展分区。所以要么放弃Solaris安装,要么放弃Linux安装。引导到FreeBSD (或PC.不管怎么说,使用GRUB2是很容易的。你只需要定义你的“设置root=.”然后你说"kfreebsd /boot/loader“,就这样了。对于您的类型,我将使用GUID/GPT分区表,在那里您还可以将所有分区拆分到其中,您不需要有额外的BSD切片。

票数 0
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/160242

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档