选择一个引导器
完成配置Linux内核、安装系统工具和编辑配置文件,现在是时候去安装Linux安装的最后一个重要的片:引导器。
引导器负责在引导过程中启动内核——如果没有它,系统将不知道按下电源键后将如何进行。
默认:使用GRUB2
过去,Gentoo Linux建议使用的是一个现在叫作
传统GRUB
的引导器。顾名思义,老的GRUB包不再积极地维护并且被GRUB2所取代。关于传统GRUB的更多信息,请参考在Gentoo维基上的
GRUB
文章。
安装GRUB2
- 使用UEFI时,用户需要在emerge GRUB2之前添加GRUB_PLATFORMS="efi-64"到make.conf来让这个包建立为EFI功能的:
root #
echo GRUB_PLATFORMS="efi-64" >> /etc/portage/make.conf
root #
emerge --ask sys-boot/grub:2
如果GRUB2在未先添加
GRUB_PLATFORMS="efi-64"
到
make.conf
时就已经emerge过,可以添加这一行(像上面显示那样)然后通过
emerge
的
--update --newuse
选项来重新计算
世界包集
:
root #
emerge --ask --update --newuse --verbose sys-boot/grub:2
GRUB2软件现在已经安装到系统中了,但是还没有激活。
配置GRUB2
接下来,通过
grub2-install
命令安装GRUB2所需的文件到
/boot/grub/
目录。假设第一块磁盘(引导系统的那块)是
/dev/sda
,将使用下面的一条命令:
- 使用UEFI时:root #grub2-install --target=x86_64-efi --efi-directory=/boot
接下来,基于用户在
/etc/default/grub
文件和
/etc/grub.d
中特别配置的脚本文件来生成GRUB2。在大多数场景中,不需要由用户来配置,GRUB2就可以自动检测出哪个内核用于引导(位于
/boot/
中最高的那一个)以及根文件系统是什么。
要生成最终的GRUB2配置,运行
grub2-mkconfig
命令:
root #
grub2-mkconfig -o /boot/grub/grub.cfg
Generating grub.cfg ...Found linux image: /boot/vmlinuz-3.16.5-gentooFound initrd image: /boot/initramfs-genkernel-amd64-3.16.5-gentoodone
需要注意至少找到一个Linux镜像在命令的输出中,它们是用来引导系统的。如何使用一个initramfs或用
genkernel
建立内核,同样会检测到正确的initrd 镜像。如果不是这样,进入到
/boot/
并使用
ls
命令检查内容。如果文件确实不存在,回到内核配置和安装的介绍。
重启系统
退出chroot环境并unmount全部已持载分区。然后敲入一条有魔力的命令来初始化最终的、真实的测试:
reboot
。
root #
exit
cdimage ~#
cd
cdimage ~#
umount -l /mnt/gentoo/dev{/shm,/pts,}
cdimage ~#
umount /mnt/gentoo{/boot,/sys,/proc,}
cdimage ~#
reboot