您的位置:首页 > 其它

ubuntu 14.04 LTS 更新软件后不能启动登录

2014-12-17 15:49 344 查看
某天为正在使用的Ubuntu 14.04 LTS系统更新了几个软件之后,就不能正常进入系统了。

具体现象是,系统启动界面一直停留在登录界面之前的那个界面,按ESC,显示终端输出信息,发现也是停留在某个地方不动。经过很多折腾最后是解决了问题,现在回想起来是走了很多弯路,下面跟大家分享一些经验。

1. 不能进图形的登录界面不一定表明系统没有启动,而可能是显示管理器(Display Manager,简称DM)服务没有启动。按Ctrl+Alt+F1(F1也可以是F2~F6,Ubuntu 14.04的图形化界面对应终端是Ctrl+Alt+F7),看是否出现字符的登录界面。如果出现了这个界面,那么可能是DM没有启动。比如我的系统这次就是这种情况。此时,以root身份从字符界面登录系统,手动启动DM试试,比如我用LightDM,那么手动执行lightdm -d命令(-d表示调试,以显示更多信息),然后再切换到图形界面(Ctrl+Alt+F7)看是否出现了登录界面,如果出现了那么说明是LightDM没有启动。

然后在进一步确定原因,首先查看/etc/init/lightdm.conf,发现lightdm的启动与plymouth(好像是显示显示启动界面的一个软件包,可wiki之)有关;接着以/etc/init/lightdm.conf中的“Description”的字符串grep搜索/var/log/boot.log,发现只有Stopping的相关信息,而没有Starting的相关信息,如此则进一步肯定是lightdm没有启动。但是为啥不启动呢?进一步查看更新时做了些什么。查看/var/log/dpkg.log和/var/log/history.log,找到对应时间执行的更新操作,可以发现这个更新确实是动了lightdm和plymouth相关的东西。然后就简单了,从字符界面登录系统后执行命令(非root使用sudo):dpkg-reconfigure
-phigh lightdm和dpkg-reconfigure -phigh plymouth。这个意思大概是重新配置软件包。反正之后,我的系统就能正常启动了,虽然报个错误。

除了重新配置软件包,也许还可以通过重新安装软件包还解决问题。

2. 调试的一些经验。Ubuntu 14.04还是使用upstart管理启动,相关服务的脚本在/etc/init中,比如lightdm的脚本是/etc/init/lightdm.conf,禁用该服务的方法是,在相同目录下创建相关.override文件,文件内容是“manual”,命令如“echo manual > /etc/init/lightdm.override”。启动日志在/var/log/boot.log中。

可能有需要进入救援模式。比如第一级启动菜单--> Ubuntu高级选项,然后选择一个救援模式的菜单项,然后按“e”编辑菜单项,并在linux命令那一行中将参数ro修改为rw,这样进入救援模式并选择root shell之后,可以对根文件系统进行写操作,而不是像默认的ro参数那样只能读。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: