红联Linux门户
Linux帮助

记一次Ubuntu突然无法进入系统的经历

发布时间:2016-01-07 15:29:14来源:linux网站作者:whuslei

背景

今天早上像往常一样打开电脑,却发现连登陆页都无法显示出来,直接是灰屏。第一反应是,完了,不会是新换的SSD坏了吧?


排查过程
1.切换到命令行模式

发现报错,“-bash /dev/null Permission denied”,然后去网上找,说执行”sudo chmod 777 /dev/null”就可以了。切回图形界面还是老样子。查看了 /var/log/kernel.log后也没看出什么问题。


2.切换到原来12.04的系统

发现一切正常,基本排除了SSD和内存有问题的可能。期间还不放心用Memtest对内存做了次测试。


3.网上寻求解决方案

然后看到有网友说用”startx”开启图像界面,试验后发现不行。后又有网友说ubuntu是用lightdm管理桌面,需要用”sudo service lightdm start”进入。经过实践发现,我必须先用”sudo chmod 777 /dev/null”,然后再用”sudo service lightdm restart“来启动,总算进入了图形登陆界面。


4.各种诡异

可是这个界面很多东西很诡异,比如打开 Terminal 也提示”getap permission denied”。正毫无头绪时突然找到了一个网页“bash: /dev/null: Permission denied” on Ubuntu Login。跟我的问题很类似,有人回答提到了The permissions on /dev/null should be set by udev so check the files in /etc/udev/rules.d, such as /etc/udev/rules.d/40-permissions.rules,让我恍然大悟。貌似我昨天也修改过类似的配置文件。


5.找到真凶

大概回忆了下,昨天为魅族手机配置MTP,需要在文件/lib/udev/rules.d/69-libmtp.rules 添加一些内容,而我直接贴到了文件的末尾。仔细看了下脚本,确实不应该放到结尾,而是应该接着其余手机配置项。真是大意了。应该放在这些内容之前。

#Autoprobe vendor-specific, communication and PTP devices
ENV{ID_MTP_DEVICE}!=”1”, ENV{MTP_NO_PROBE}!=”1”, ENV{COLOR_MEASUREMENT_DEVICE}!=”1”, ENV{libsane_matched}!=”yes”, ATTR{bDeviceClass}==”00|02|06|ef|ff”, PROGRAM=”mtp-probe /sysenvDEVPATHattr{busnum} $attr{devnum}”, RESULT==”1”, SYMLINK+=”libmtp-%k”, MODE=”660”, GROUP=”audio”, ENV{ID_MTP_DEVICE}=”1”, ENV{ID_MEDIA_PLAYER}=”1”
LABEL=”libmtp_rules_end”


总结

Ubuntu这种系统基于配置文件,如果配置文件出错会产生非常大的影响。比如PATH配错了,不重启系统还不会发现问题。所以,修改配置文件要谨慎!


ubuntu输入正确密码后不能进入系统:http://www.linuxdiyf.com/linux/15848.html

Ubuntu更新之后进入grub rescue无法进入系统:http://www.linuxdiyf.com/linux/10871.html

wubi安装Ubuntu后无法进入系统:http://www.linuxdiyf.com/linux/5298.html

Ubuntu 11.10安装完更新停在LOGO画面无法进入系统:http://www.linuxdiyf.com/linux/1921.html