西西河

主题:【原创】我的Gentoo经历 -- 瓦斯

共:💬30 🌺69 新:
全看分页树展 · 主题 跟帖
家园 【原创】用软盘启动gentoo修理硬盘主引导分区

我的硬盘上以前只有一个微软的视窗系统,后来为了安装linux就用pqmagic把原有的微软视窗分区减小一点,腾出一点空间来给linux使用。

安装linux之后,都会在主引导区(mbr)写下grub的引导程序启动/boot中的grub各个阶段,然后出现多重启动菜单,可以选择启动微软视窗或各种linux。我曾经在我的不大的硬盘中同时安装了xp、ubuntu和gentoo。

最近的xp有点毛病就重装了一遍,这就重写了一次硬盘的mbr,使得启动程序直接启动xp,也就是说多重启动菜单没有了,linux就没有机会启动了。

我知道我的gentoo都还好好地在那里,只是一时在xp中看不到而已。我已经学了一年的linux,不是一个刚刚学linux的了,我知道我不需要再花很多时间去重装一个linux来获得多启动菜单。

有几个方案可以修复主引导区,把硬盘拔下来插到另一台有linux的机器上,或者反过来把有linux系统的硬盘拔过来启动修改,或用gentoo安装光盘来启动后进入的简单linux环境来修改,或者你的主板足够新可以支持从usb设备装有linux移动硬盘的......我想了一会儿,觉得最简单的方法还是用软盘启动硬盘上已有的gentoo根分区,获得完整的linux环境之后,再运行grub重写mbr就应该可以解决了。现在的首要问题是有一张linux启动软盘,如果没有就自己做一张(怎么做?下次再写)。

现在假设手里已经有一张linux启动盘。

由于软盘的容量有限,基本上无法把最简单的gentoo包含进去(这个问题值得进一步探讨),我的启动软盘实际上只有一个/boot/grub下的文件和引导记录,不过,这就足够了。

我用这个软盘启动,在软盘的/grub下面有menu.lst文件,里面就是多重启动菜单的设置,我们已经预先把硬盘上的/boot和/所在的硬盘分区写在相应的地方了,所以用这样的软盘启动,直接就会把你带到硬盘上曾经装好的gentoo linux中去。

实际操作过程中,我没有去改写软盘上的menu.lst文件,那是一张去年学习ubuntu时做的一个启动软盘,上面的菜单指向的都是ubuntu的内核,并不能直接启动gentoo内核(文件名都不同)。不过,这都没有关系,grub是共同的。我在软盘启动了多重启动菜单时,随便选了一个ubuntu项,按e键进行修改:

1、把root设定为硬盘上/boot所在的分区,例如root (hd0,0)

2、把kernel 设定为硬盘上/boot中的kernel文件名。在grub的微linux环境中编辑命令行实在是一件非常爽的感觉,因为以前记不住gentoo的内核那么长的文件名啊!西西河请尽量在他的linux启蒙读物基于Linux内核的开放源代码操作系统的组成中介绍的tab大法在这里显示出了强大的威力,我打了kernel (hd0,0)/boot/空格,按了一下tab键,我那些在硬盘上的内核文件都显示出来了。看到这些文件时,虽然还没有成功,但我已经明白我即将成功了。这里很重要的是要在kernel 后面加上(hd0,0)或实际上其他分区的绝对名字,不能像在硬盘上启动那样简单地打上kernel /boot/kernel-xxxx-xxx之类的,那样grub会在软盘中找内核文件,如果软盘能够存的下就好了!

3、如果有initramfs之类的就再添加一行initrd (hd0,0)/boot/initramfs-xxxx-xxxx之类的,不要担心文件名太长会打错,有tab大神罩着呢。

都打好了吗?在grub中按b启动,如果顺利地话就看到你在硬盘上的内核欢快地启动了,然后要你登录输入口令。如果前面的命令有错,grub还可以让你回去修改,修改之后在启动。

进入我的gentoo linux之后,就是运行grub还我河山了,夺回被xp抢占的mbr。下次重启之后就可以见到grub的多重启动菜单了。

我在这个过程中还出了一点小麻烦,就是不同版本的grub的写的mbr记录和stag文件必须配套,不然也不能启动。

我去年装ubuntu的时候,grub是0.96,今年又装gentoo的时候grub已经是0.97版了。我一开始只是简单地用0.97版的grub去重写硬盘的mbr,而没有更新/boot/grub下面的0.96版的stag等文件,结果启动后就一个光标在闪烁无法前进。又用软盘第二次启动之后,把grub重新编译了一遍,更新了/boot/grub下面的文件,再次重启之后就看到原先的多重启动菜单了。

关键词(Tags): #gentoo#grub#linux

本帖一共被 3 帖 引用 (帖内工具实现)
全看分页树展 · 主题 跟帖


有趣有益,互惠互利;开阔视野,博采众长。
虚拟的网络,真实的人。天南地北客,相逢皆朋友

Copyright © cchere 西西河