之前安装Gentoo Linux的时候,都是给它专门分配了一个boot分区。最近又装了几次之后,开始考虑到boot分区确实是没有必要的,因为实际上boot与root分区的写入不是那么频繁,完全可以合并成一个分区。在网络上看了一些人的介绍,也赞成这一点,但具体的做法上却很少有人说明清楚。我尝试着这么做的时候,发现出了一点问题,后来仔细想想,其实问题的起因非常简单。我们可以比较这2种做法的差异,一看即知问题所在:
在boot独立分区的情况下,实际上是挂载到“/boot”目录之下,也就是说写到boot分区里面的文件,是通过root文件系统的“/boot”目录来完成的,而boot文件系统里面并不存在“boot”目录这样的目录;
在boot分区不存在的情况下,“/boot”目录之下文件是写到root文件系统里面的,相对前一种情况的区别是,这些文件在自身的文件系统之中是确确实实地存在“boot”目录之下。
这样的说明看起来好像很绕口,我换个方法来解释一下吧。
对于第一种情况,当我们把boot分区挂载到其它系统的“boot”目录时,那么它里面象grub这样的目录,完整路径应该是“/boot/grub“;
而另一种情况下,当我们把root分区挂载到其它系统的“boot”目录时,它已经不是root文件系统了,同样存入的目录完整路径却是”/boot/boot/grub“!!!
为什么会这样呢?这是因为我们安装grub的时候运行的”emerge grub“,它认定的是“/boot”这样的路径,也就是说它是通过root文件系统来操作的。
接下来我们要运行grub这个工具,它却不是通过root文件系统来操作,而是直接通过分区来操作,实际上它不需要“boot”这个目录名。
所以如果我们想让boot分区合并到root分区里面,可以在安装grub之后,先把“boot”目录下的”grub“目录移动到根目录之下,待grub工具执行完成之后再恢复原状就可以了。
不知道这样是不是已经说明白了?
此外,我把安装之后的Gentoo Linux的一些重要文件也备份下来了,下次安装只要把stage文件解压之后,再把备份文件恢复上去就可以了,而不需要一步一步地按照教程上面的要求来做,安装过程变得非常之简单。这里我把相关的文件点一下吧。
首先就是“/boot”目录,内含grub配置和内核;
第二,”\lib\modules“目录之下还有一些内核模块也是必需的;
第三,与用户、用户组账户相关的文件(在“/etc”目录下):group、group-、gshadow、gshadow-、passwd、passwd-、shadow、shadow-;
最后,其它一些比较杂的配置,根据个人需要而定:
主机名配置文件:/etc/hosts和/etc/conf.d/hostname
网络配置文件:/etc/init.d/net.eth0
自启动配置:/etc/runlevels/default时区配置文件:/etc/localtime
自动挂载文件系统配置:/etc/fstab