FreeBSD的错误Enter full pathname of shell or RETURN for /bin/sh
这是我亲身体验的错误, 发生这个错误前我曾非法关机(直接断电源, 惭愧...)
错误界面:
Trying to mount root from ufs:/dev/ad0s1a
/erc/rc.conf : 16 : Syntax error : Unterminated quoted string
Enter full path name of shell or RETURN for /bin/sh:
#
首先我没有去细看错误信息, 当我看到:
Enter full path name of shell or RETURN for /bin/sh:
的时候, 我的第一反应是 path坏鸟, 然后我就动手去改PATH, 可是万恶的bsd一直提示: readonly, 崩溃...
遂baidu, 无果(全都是复制别人的, 还复制错, 甚至我在俩论坛发现一样的帖子, 一样的回答, 不一样的语言, 简体和繁体)
再google, 亦无果;
于是骂娘之余, reboot然后瞅着那个界面半天, 突然发现:
Trying to mount root from ufs:/dev/ad0s1a
又发现
Unterminated quoted string
啊啊啊, 好办
shell>mount /dev/ad0s1a
shell>/usr/bin/vi /etc/rc.conf
使用vi一定要全路径, ee应该也是可以的吧, 我没实验
找到了那个多了一个引号的行(freebsd好差的容错): 注释, 保存(可写的哦!), 退出 reboot
熟悉的login:再读出现, 好激动...
总结(案例, 不一定适合您):
首页我怀疑过是因为非法断电的问题, 因为在出事前我有过这样的操作(再度惭愧), 如果是这样可以使用fsck来搞定
然后又想起来: 我改过rc.conf, 那么问题就是把rc.conf里导致sys error的地方改回去就ok了, 当然最重要的是解决只读的问题
果然是技术流
过奖,我可不是
不过,遇到问题
解决它
你就又进步了