免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 7085 | 回复: 4
打印 上一主题 下一主题

[FreeBSD] 小窍门:巧用Grub重新引导FreeBSD [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-09-01 11:26 |只看该作者 |倒序浏览
作者:linuxbao3

原文出处: http://bao3.blogspot.com


前天,因为我的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的光盘,也没有工具盘的话,就用这个方法来引导吧.

[ 本帖最后由 linuxbao3 于 2006-9-1 11:28 编辑 ]

论坛徽章:
0
2 [报告]
发表于 2006-09-01 13:29 |只看该作者

re

受用,好文要顶,谢谢分享。

论坛徽章:
1
寅虎
日期:2013-09-29 23:15:15
3 [报告]
发表于 2006-09-01 14:12 |只看该作者
晕,我就是用chainloader ,反而没用kernel.

论坛徽章:
0
4 [报告]
发表于 2006-09-01 14:34 |只看该作者
chainloader ,学名叫"链式导入器",不过对于入门来说不好理解,反倒是kernel好用一点,方便,直观.

论坛徽章:
0
5 [报告]
发表于 2010-12-14 10:00 |只看该作者
就是设法载入/boot/loader文件,首先查找这个文件所在位置,然后用kernel(multiboot)来加载它,完了。
可以用chainloader加载BSD所在分区,例如chainloader (hd0,1,a)+1。

这只是个入口,情况可能会更复杂,不是一条命令就能解决的。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP