Fedora还是比较常用的,于是我研究了一下Fedora启动菜单。喜欢软件的朋友可以来看看。前些天Fedora启动grub.conf丢失,无法进入系统。不过,grub启动管理器还好好的,只好通过grub命令行来手动引导启动系统了。
在“从硬盘安装Fedora启动菜单 ”中曾经稍微提到过,grub是一个多系统的启动管理器,不但有Linux版本的grub,也有windows版本的grub。上次从硬盘安装系统用的就是windows版本的grub。可以说,grub是一个非常强大的多系统启动管理器,具有多重系统引导,交互式操作,可设置grub启动密码,可映射硬盘,可以定制开机画面等等特点。通过命令行启动系统就是交互式操作的一个应用,至于其它应用,这里就不再一一列出。想要深入了解它的话,可以看一下grub的手册:http://www.Linuxsir.org/main/doc/grub/grubmanual/index.html 说来惭愧,我还没完全看过。
闲话少说,安装Fedora启动菜单先把通过命令行启动系统的过程列出来。为了解释方便,特标上行号:
1 root (hd0,2)
2 kernel /vmlinuz-2.6.26.5-28.fc8 ro root=/dev/VolGroup00/LogVol00 rhgb quiet
3 initrd /initrd-2.6.26.5-28.fc8.img
4 boot
怎么样?Linux的启动命令行是不是很简洁啊?下面就一一解释这几命令。
第1行命令:指定/boot所在的分区。
要是不知道自己的/boot分区在哪里,没关系,先输入root (hd0,然后按Tab键,它会显示可能的分区,然后根据分区类型判断/boot分区。我就是这么做的......所以Tab键是Linux里很好用的一个键。这里指定/boot分区并不是必须的,在这里省略的话要在kernel以及initrd中指定,即:kernel (hd0,2)/vmlinuz-2.6......和initrd (hd0,2)/initrd-2.6......
关于"hd0,2”,是指第一块硬盘的第三个分区,这是一个主分区。
Linux里的分区表示方法有两种:一是像"hd0,2"这种纯数字表示法,它是以"hd0,0"开始,意思是第一块硬盘的第一个分区;第二块硬盘就是hd1。还有一种是hda1这一种,它也表示第一块硬盘的第一个分区;第二块硬盘就是hdb。两种表示法用在不同的场合,纯数字表示法一般用在grub中指定/boot分区;第二种方法是日常使用的表示法,硬盘挂载等都用这种表示法。关于主分区与扩展分区,这里稍微提一点:扩展分区是从hdx5或 hdx,4开始的,其中x代表硬盘号。要更加详细的了解Linux的分区表示法,Google一下。
第2行命令:指定内核映像及根分区。
输入kernel /vmlinuz,然后按Tab键补全内核映像全名;补全以后可以看到我的Fedora启动内核映像是vmlinuz-2.6.26.5-28.fc8。如果有一个以上的内核,它会全部显示出来让你选择(这种情况遇到过,从8升级到9以后,我的启动菜单里就有了两个映像)。还有就是,我的/boot分区不是在根分区中,而是一个独立的分区;如果/boot分区不是一个独立分区,而是位于根分区中,就要这样写: kernel /boot/vmlinuz-2.6.26.5-28.fc8 ro root=/dev/VolGroup00/LogVol00 rhgb quiet,下面的initrd要写成:initrd /boot/initrd-2.6.26.5-28.fc8.img。映像后面的部分是用来指定根分区的,要手动输入。ro的意思是read only,root=/dev/VolGroup00/LogVol00是根分区位置,rhgb意思是图形化启动过程,quiet意思是不要显示启动信息。在实际操作中,我发现内核映像以后的部分其实不是必须的;也就是说,即使不输入这部分内容,不指定根分区,不指定图形化启动过程,不省略启动信息,也可以正确启动。对于不必指定根分区,是否跟我的系统是单内核有关系?
这行命令要多理解一下。首先,vmlinuz中,vm是指vritual memery,linuz的意思是说,这一个经过压缩的内核映像。还有,这一行命令中的root跟第一行命令中的root表达的不是同一意思。第一行命令中的root指的是Fedora启动分区,即/boot分区;第二行命令中的root指的是系统的根分区,即/分区。要详细理解两者的区别,就牵涉到Linux 文件系统及目录结构,它是Linux中关键性的概念之一,我会找个时间写一些关于它东西,浅谈一下我对它的理解。"root="后面的"/dev /VolGroup00/LogVol00"就是根分区的位置;看起来是不是怪怪的?因为我的根分区用的不是普通的硬盘分区,而是逻辑卷,术语叫 LVM(logical volume manager)。这个也是Linux里一个很重要的东西。LVM要结合Linux硬盘分区及目录结构来理解Fedora启动,这里就不谈了,否则会越扯越远,偏离正题。
【编辑推荐】