2006年12月27日星期三

巧用Grub重新引导FreeBSD

    前天,因为我的XP中了病毒,一气之下,重装了.让我郁闷的是重装后BSD无法引导了.

 

    如果当时有光盘的话,我还可以用BSD光盘来修复一下,可是眼下没有BSD光盘,没有任何系统启动盘,怎么呢?

 

    这时我想到了Grub,我可不可以用Grub来引导呢?于是上网查找了一下Grub的用法,脑子一亮,想到了办法.

 

*原理:我一般先说原理的,请大家习惯,因为这比直接告诉你结果更有效 :)

 

    Grub引导无非就是先指定一个root(*也就是根目录),然后指定一下引导kernel.至于Grub中的那些什么clainloader什么的都没多少用处,大家不要被纸老虎吓到.

 

    按上面的原理,我们先来指定root,这个意思就是说让你指定BSD启动区的安装位置.我的BSD是安装在ad0s3上的,也就是说是硬盘的第三个分区,如果你是个细心的人,你应该发现在BSD下用df 的话会看到你的BSD分区是/dev/ad0s3a /dev/ad0s3e /ad0s3f 等.而且,你的BSD的/一般都会是/dev/ad0s3a.所以在这里我们就要指定Grub的root/dev/ad0s3a.

 

    但在写到Grub中时要注意,Grub的硬盘指定方法是不一样的.比如硬盘的第2个分区,用Grub来表示就应该是hd(0,1),像BSD这样有slince的系统,就要指定slince,比如我的是在第一个硬盘的第三分区的a上,那就是hd(0,2,a)

 

    接下来,我们要指定Grub要调用的kernel是哪一个.我的是在/boot/loader(实际上一般情况下,你的也应该是).

 

那么完整的FreeBSD引导菜单应该写作:

#########################################

title FreeBSD                #只是标题而已   #####

root hd(0,2,a)               #BSD的安装sline#####

kernel /boot/loader     #Grub要调用的kernel#

########################################

 

 

如果你也跟我一样,没有BSD的光盘,也没有工具盘的话,就用这个方法来引导吧.

没有评论: