关于FreeBSD安装完成重启出现“No /boot/loader”2009-05-28 20:33昨天,在VMware上测试新版本 FreeBSD 7.2 的时候,安装了5-6次,都是启动失败,刚开始以为是VMware的问题,因为之前

安装 FreeBSD 6.2 的时候都没出现过类似的问题。

出错代码如下:

F1 FreeBSD

Boot: F1
No /boot/loader

FreeBSD/i386 boot
Default: 0:ad(0,a)/boot/kernel/kernel
boot:
No /boot/kernel/kernel

FreeBSD/i386 boot
Default: 0:ad(0,a)/boot/kernel/kernel
boot:
No /boot/kernel/kernel
boot:

这个以前在FreeBSD6.2是没出现过的,导致这个出错的原因是分了/boot这个分区。


在分区时候,不手动分出/boot,就不会出现该错误提示;一旦分了/boot,安装后重启就会有该提示了。

因为loader默认的路径是在0:ad(0,a)/boot/loader

但是我们将/boot单独作为一个分区之后0:ad(0,a)/boot/loader这个路径显然是错的!

0:ad(0,a)中的目录/boot的内容在其他分区里面,此时还没有挂入,所以就找不到loader 。

为了验证判断,于是我试着输入 boot: 0:ad(0,f)/loader (按分区情况,我的/boot分在f位置), 果然loader出现了。

接着,我手工载入kernel

ok load /kernel/kernel

好象是没有问题,于是我

ok boot

竟然出现了错误apci_autoload提示找不到文件

然后机器就僵住了。

我重新启动机器,重复上面的动作进入loader

oK show

看到了有个apci_load=YES

的变量,于是我当仁不让地

ok unset apci_load

满心欢喜地

ok boot

但是结果机器还是僵住了

由此看来不是 ACPI的问题,而是/和/boot不在一个分区导致的

现在看来在freebsd中将/boot划做一个分区是一个相当不明智的选择

 

修改方法:

1、  用修复光盘启动,mount root分区,修改/boot/loader.conf...reboot,ok

不需要重新安装,将/boot的文件都放到/分区里面就好了

2、你可以在提示No /boot/loader的时候输入:
0:ad(0,a)/kernel

在提示No /boot/loader的时候输入:0:ad(0,a)/kernel
5.0以上好象不行,我以前也出现过这个情况
5.0以后kernel就在/boot/kernel/里面了

4.8就没有no loader这个情况