FreeBSD新核心无法开机
好不容易的终于将核心给设定好了也编译成功了,结果一重新开机脸都变绿了 => 无法开机此时请先不要慌张,还有挽救的余地的,千万不要这时就想不开地拿出开机片 => 准备重装
恶魔族是很有良心的,他知道您很有可能会编译核心失败,因此特地留了个后门给您逃生卷土重来的 ^_^
请将您的主机重新开机,等待看到如下划面┱
Hit [Enter] to boot immediately, or any other key for command prompt.Booting [kernel] in 9 seconds... _
此时请按下『Enter』除外的任意键,千万不要按『Enter』键哟,不然您又准备重新开机一次了。然后您会看到一个满阳春的 shell。它提供了一些指令让您能够起手回春,所以千万不要想不开哟。
底下是所提供的命令,您可以输入『?』来显示命令解说列表┱
?autoboot seconds
如果在所给的秒数之间没被按键中断的话就接着加载 kernel,这将会由所给的秒数开始倒数,预设的秒数为 10 秒。
?boot [-options] [kernelname]
指定由哪个核心来开机,可以再另外给予参数选项。
?boot -conf
在要开机时,使用自动的变量配置模块,这只在你先用 unload 时才有意义,并改变一些变量,通常是 kernel。
?help [topic]
显示来自 /boot/loader.help 的辅助讯息,如果所给的主题 (topic) 是 index, 那就显示所有的主题列表。
?include filename ...
执行所给的档案,这档案将被读入并一行一行地被执行,一但有错误发生就直接停止这个 inlucde 命令。
?load [-t type] filename
加载模块或所先指定档案类型,再接着档名;任何接在档案之后的参数都将会传给此档来执行。
?ls [-l] [path]
显示根目录的档案列表,如指定 path 则显示 path 的档案列表;如果有加 -l 参数,将会多加显示档案容量。
?lsdev [-v]
列出所有可以加载模块的装置,如果有加 -v 参数,会显示更详细的信息。
?lsmod [-v]
显示已被加载的模块,如果有加 -v 参数,会显示更详细的信息。像不像 kldstat 呢?
?more filename
以分页的方式显示 filename 的内容。
?reboot
重新开机。
?set variable, set variable=value
设定 loader 的环境变量。
?unload
卸载所有被加载的模块。
如果您所看到的列表与上述不同,请以您所看到的为准哟!!
再来请执行 boot kenerl.old 来开机,这是表示使用您编译新核心前的那个核心来开机。
如果连这个都无法开机,那么您可再重新开机并改执行 boot kenerl.GENERIC 来开机,这是表示使用您安装 FreeBSD 完成后的那个预设核心来开机。既然您能够用预设核心开机来重新编译新核心,那就表示 kernel.GENERIC 这个核心档一定能够让您成功的再次开机进入 FreeBSD 系统。
此时您该检查一下您的核心设定档,看看是哪儿有设定错了?您可以拿您的核心设定档与 GENERIC 比较一下,这样通常较能找出问题所在来。当确定修正好有错的地方后,您需要再次编译您的核心,不过这次您可以加入不要编译模块的编译参数,这样能够省下不少时间的。
如果您还是一样无法编译出您的核心来,那么您需要写下相关的错误讯息,然后上网到 BBS 站或各大论宗找寻世外高人来帮您找出问题所在了。记得提供愈多有关您的硬件资料、错误讯息与操作步骤愈是能够帮您快些解决问题哟,所以千万不要吝于提供相关的资料哟,不然吃亏的还是您自己的 ^_^