更新:似乎mountall挂在例程emmit_event()中,在重新挂载/发出此事件后,它将调用该例程。在emit_event内部,它调用ply_boot_client_flush(),然后构造env数组,先调用upstart_emit_event(),然后再调用dbus_pending_call_block()。并在那里挂起。那么有什么想法为什么dbus_pending_call_block会无限期地挂起?普利茅斯断了吗?dbus?暴发户?有修复或进一步诊断的建议吗?
重新启动我的Ubuntu 10.04 LTS,64位AMD机器挂100%。驱动器访问指示灯熄灭,但是alt-sysreq键起作用。硬件是Lenovo W700ds笔记本电脑。现在,我先向您道歉,因为我对我所拥有的系统的信息以及我可以做的事情(因为它无法启动)非常有限。我可以从10.04 CD引导-像救援盘一样使用它。我可以fsck,挂载和读写分区-它们很好。我已经尝试过使用mkswap重新格式化我的交换。我的系统上有4个ext4分区:sda1是/,sda2是/ usr,sda3是/ home,第4个用于数据存储的/ sdb1(是整个磁盘,安装在我创建的安装点/ hdb上) 。还有/ sda4,这是swap。现在,我正在使用从10的“救援会话”中打开的浏览器来编写代码。
我将不胜感激什么我可以做些什么来帮助诊断什么是挂,为什么,我可以做些什么来解决这个问题有什么建议/评论。我已经进行了一次网络搜索,但是在这些方面没有发现新内容(一些1-1.5岁的bug报告具有类似的症状,但其修复无效)。
我在7月初前后在新磁盘上安装了10.04,然后使用aptitude更新了所有内容。从那以后我一直在安装LOTS包(我将在下面附加dpkg日志)。sda为750GB(/ 20GB,/ usr 80GB)时,我有很多空间来安装“有一天可能使用”的软件包。我想知道我安装的这些软件包之一是否破坏了我的系统?我安装了2.6.32-32-generic内核并重新启动,但此后安装了更多软件包。我尽可能少地重新引导这台计算机-宁愿从一处到另一处都使其休眠。不过最近,我注意到与休眠状态有关的一些奇怪行为:当系统退出休眠状态时,它会打开gnome屏幕保护程序,并提供解锁所需的密码-好吧,它无法识别我的密码!我必须alt-F1,以root用户身份登录,然后杀死屏幕保护程序。然后一切都会好起来的,或者看起来是这样。也,进入休眠模式后,我经常会在屏幕上短暂看到闪烁的彩色垃圾。它会消失,所以我没有尝试找到原因。另一个可能相关的问题是,我需要在10.04的安装中使用“ nomodeset”,并且当从同一张CD中打开急救壳时,如果仅使用nomodeset,它将最终以闪烁的NumLock LED或Caps Lock LED挂起(崩溃?),但是如果我还使用“ noapic nolapic acpi = off”,那么它就可以了。我在系统上尝试了这些选项,以查看它们是否可以解决引导挂起问题-不能。如果仅使用nomodeset,则最终将以闪烁的NumLock LED或Caps Lock LED挂起(崩溃?),但是如果我也使用“ noapic nolapic acpi = off”,则显示为正常。我在系统上尝试了这些选项,以查看它们是否可以解决引导挂起问题-不能。如果我仅使用nomodeset,它将最终以闪烁的NumLock LED或Caps Lock LED挂起(崩溃?),但是,如果我还使用“ noapic nolapic acpi = off”,则可以正常运行。我在系统上尝试了这些选项,以查看它们是否可以解决引导挂起问题-不能。
这是一台机器我使用的工作,以及对其他几乎一切,所以得到它再次开机是TOP的优先级。/ home是完整的,这很好。但是,我正竭尽全力地试图诊断(更不用说修复)导致挂起的原因。
我引导系统,它开始在/etc/init/mountall.conf中运行mountall配置脚本。我看到mountall运行fsck的输出-4行显示:util-linux-ng 2.17.2中的fsck(每个ext4分区一个)。然后,fsck还有4行通知用户已发现分区“干净”。就是这样-一切都停止了。驱动器活动指示灯熄灭。我可以使用alt-sysreq键,但到目前为止尚未证明它们有用。我看到了一个错误报告,其中一个用户使用alt-sysreq-i杀死了进程,并将其放入外壳中。对我来说,它确实杀死了进程(udev和udev-bridge和plymouth,说它重新生成了udev,等等),但是我没有得到任何shell。
我一直在尝试确定到底是什么挂了。为此,我修改了/etc/init/mountall.conf。我已经添加了回显行,并且已经向mountall的exec添加了-v(详细)选项。在mountall的执行程序之后没有显示回显线,因此这可能意味着mountall正在挂起。或者,它可能不会显示最后的输出-在这种情况下,mountall可能已经退出,而其他东西可能正在挂起。我注意到alt-sysreq-i并没有说mountall被杀死。我试图通过从fstab中注释掉sda3(/ home),swap和sdb1(/ hdb)来缩小系统挂起的范围,但是仍然挂起。
我可以做很多事情,但感觉就像我在这里头晕。例如,我想获取mountall的源代码,添加打印的标志,重新编译并将其粘贴在我的系统上-缩小A)如果mountall实际上挂了,并且B)挂了什么。但是,我无法将我的机器引导到要在其中进行编译的外壳-应急磁盘环境仅为2.6.32-28-通用#55-因此它与我的系统不匹配。我想删除或重新安装软件包,但是同样,我无法启动计算机并执行此操作。
(我的dpkg日志文件有几个MB,因此我将其附加在以下对话框中)
谢谢,格雷格