grub2 引导BSD[openbsd,netbsd,dragonflybsd,freebsd] (grub multiboot bsd)
发表于 : 2012-10-10 21:14
网上上传的grub2 引导freebsd 的都很复杂,还不容易成功。其实最简单的办法,就是最有效的办法。
方法是:
修改/boot/grub/grub.cfg
例如:
menuentry "FreeBSD" {
insmod part_msdos [关键就是他了。]
set root='(hd1,msdos2)'
chainloader +1
}
既然BSD系列都是多级引导的,windows 都可以引导的,说明grub也可以的。大家都被纠结月grub 认识各种BSD的文件系统,往往都不成功。其实换一种思路就好了。让grub2把bsd当作windows引导就可以了!呵呵。然后BSD自己二级,三级引导就可以了。
大家按(hd0,1)不成功,往往是想当然了。最佳实践是,先别写grub。cfg。
1. 开机运行grub时,按字母‘c',进入命令行执行。
2. ls hd0 [hd0 指你安装BSD所在硬盘],找到bsd所在分区。[关键,就在这里哦!]例如:freebsd 装在第二块硬盘上的第二个分区上。别想当然的写,(hd1,2),往往结果是错的。grub 的结果可能是 (hd3,msdos4)哦!
3. 通过ls的结果,得到一堆 grub 的分区信息,自己通过 root 命令猜吧。
例如: root(hd0,msdos5) 得到ufs 文件系统,恭喜你,找到freebsd了。
4.试试。boot命令,如果启动了BSD,欢呼吧,成功了。没有,再换一个root。
说的太乱了。简化就是:
1) grub 按’c‘ [进入 控制台。]
2) ls [找到分区。]
3) root [设定根分区。]
4) boot [引导。]
5)修改grub.cfg
方法是:
修改/boot/grub/grub.cfg
例如:
menuentry "FreeBSD" {
insmod part_msdos [关键就是他了。]
set root='(hd1,msdos2)'
chainloader +1
}
既然BSD系列都是多级引导的,windows 都可以引导的,说明grub也可以的。大家都被纠结月grub 认识各种BSD的文件系统,往往都不成功。其实换一种思路就好了。让grub2把bsd当作windows引导就可以了!呵呵。然后BSD自己二级,三级引导就可以了。
大家按(hd0,1)不成功,往往是想当然了。最佳实践是,先别写grub。cfg。
1. 开机运行grub时,按字母‘c',进入命令行执行。
2. ls hd0 [hd0 指你安装BSD所在硬盘],找到bsd所在分区。[关键,就在这里哦!]例如:freebsd 装在第二块硬盘上的第二个分区上。别想当然的写,(hd1,2),往往结果是错的。grub 的结果可能是 (hd3,msdos4)哦!
3. 通过ls的结果,得到一堆 grub 的分区信息,自己通过 root 命令猜吧。
例如: root(hd0,msdos5) 得到ufs 文件系统,恭喜你,找到freebsd了。
4.试试。boot命令,如果启动了BSD,欢呼吧,成功了。没有,再换一个root。
说的太乱了。简化就是:
1) grub 按’c‘ [进入 控制台。]
2) ls [找到分区。]
3) root [设定根分区。]
4) boot [引导。]
5)修改grub.cfg