grub2进入稳定分支

来源:互联网 发布:网络视听许可证好办吗 编辑:程序博客网 时间:2024/05/25 19:59

今天同步portage的是有受到一封news,标题是GRUB2 migration,告诉我grub2已经进入稳定分支,将安装到我的gentoo中,并替代grub legacy。提供了一个很好的文档grub2-migration.xml。以下是我从grub legacy迁移到grub2的过程,希望能提供一些有价值的参考。

1、升级到grub2软件包

一般在严格按照Handbook安装gentoo的时候,都会安装一个bootloader,Handbook默认曾经是grub,所以你必然执行过

# emerge grub
那么,在你同步portage后升级时

# emerge -uDN world

grub2会安装到gentoo中,而

# emerge --depclean

会卸载grub legacy。然后你就可以手工删除/boot/grub了,grub.conf和menu.lst也没什么价值可以删了,grub2会重新生成/boot/grub下需要的所有东西。

(现在手册已经改成了

# emerge sys-boot/grub:0
安装grub legacy。
# emerge sys-boot/grub:2
安装grub2。相信grub2替代grub legacy是趋势,我认为Handbook会在未来某一天还原到emerge grub,而emerge sys-boot/grub:0作为一个额外选择。本括号内都是废话希望没有打扰到你。)

2、配置一些配置文件

grub2一切都是自动的。配置文件在/etc/grub.d下,话说这里没有什么可以改动的。还有就是重要的/etc/default/grub。

3、安装grub2到/boot/grub,并生成配置文件

# grub2-install --grub-setup=/bin/true /dev/sdaInstallation finished. No error reported.# grub2-mkconfig -o /boot/grub/grub.cfgGenerating grub.cfg ...Found linux image: /boot/kernel-3.2.12-gentooFound initrd image: /boot/initramfs-genkernel-x86_64-3.2.12-gentoodone
4、(如果你需要)安装grub2到MBR来作为默认bootloader

# grub2-install /dev/sdaInstallation finished. No error reported.
我的选择:由于我是有XP的ntloader作为我的默认bootloader,ntloader启动grub4dos(PE工具箱),grub4dos启动grub2(gentoo中,随gentoo升级)。我需要grub4dos(实质就是grub legacy,命令相同)链式启动grub2(gentoo中)。

我的/boot就是XP的C:盘,grub4dos的配置文件menu.lst就在C:盘根目录下。反正找到grub4dos的menu.lst,增加

title GRUB2 Chainloadroot (hd0,0)kernel /boot/grub/i386-pc/core.imgboot
就可以通过“GRUB2 Chainload”这个启动项从grub4dos链式启动到grub2。

更多选择请参考文档:

[1] http://www.gentoo.org/doc/en/grub2-migration.xml
[2] https://wiki.gentoo.org/wiki/GRUB2_Quick_Start
[3] https://wiki.gentoo.org/wiki/GRUB2

一些问题的答案:

1、你还记得大明湖畔的dolvm么?

如果你是用genkernel编译的内核,而且使用了LVM(LVM2)卷管理。你一定还记得那个内核参数dolvm,全部展开形式是:root=/dev/ram0 dolvm real_root=/dev/vg/slash

在grub2中加入这个参数的方法如下:

vim /etc/default/grubGRUB_CMDLINE_LINUX="dolvm
或者如我这样的旧版Handbook遵循者完美主义者是这样写的:
</pre><pre name="code" class="plain">GRUB_CMDLINE_LINUX="dolvm real_root=/dev/vg/slash"GRUB_DEVICE=/dev/ram0

原创粉丝点击