xubuntu 12.04 在内核 3.2.0-44-generic 启动时挂起

xubuntu 12.04 在内核 3.2.0-44-generic 启动时挂起

我刚刚更新并获得了 3.2.0-44-generic 内核,安装在我的台式机 Dell T3400 上。当我按要求重新启动时,它挂在 XUbuntu 屏幕上,并带有移动栏...栏停止移动,没有其他任何事情发生(5 分钟后我放弃了)。

我强制关闭电源,并使用 grub 在恢复模式下启动 3.2.0-44-generic。fsck 选择报告“Superblock 上次挂载时间在未来”... 和“已修复”,dpkg 选择报告没有损坏的软件包,resume 选择在挂起前短暂运行。最后报告的内容如下:

swapon:/dev/disk/by-uuid/613f8c15-413f-4339-81b4-a3b2b092480f: swapon failed: device or resource busy

swapon terminated with status 255

init ctl: Event failed

然后 DAHDI 打印了一些内容,最后的内容是“dahdi_transcode:”,然后它挂起了。在一次尝试中(但只是几次尝试中的一次),大约 15 秒后,我收到了另一条以以下内容开头的消息:

rcu_sched detected stalls on CPU/taksk: { 1}

编辑每隔几次尝试,我就会得到 rcu_sched 检测到的停顿,大多数情况下,它会开始无休止地转储一堆调试信息……速度太快,让人无法理解。但是一旦它冻结,rcu_sched 实际上就会报告 dahdi_transcode 是实际挂起的任务。我不知道这有多准确,因为内存可能在启动过程的早期被某些东西破坏了)

Grub 内存测试正常。我可以正常启动之前的内核(3.2.0-43-generic)。

关于如何解决此问题有什么想法或线索吗?


由于它看起来像是一个交换分区问题(全部来自 3.2.0-43-generic 启动),因此需要更多信息:

我的 /etc/fstab 是:

# /etc/fstab: static file system information.
#
# Use 'blkid -o value -s UUID' to print the universally unique identifier
# for a device; this may be used with UUID= as a more robust way to name
# devices that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point>   <type>  <options>       <dump>  <pass>
proc            /proc           proc    defaults        0       0
# / was on /dev/sda1 during installation
UUID=c88a26e8-a137-4910-9601-6274caebc1f4 /               ext4    errors=remount -ro,user_xattr 0       1
# swap was on /dev/sda5 during installation
UUID=613f8c15-413f-4339-81b4-a3b2b092480f none            swap    sw               0       0
/dev/scd0       /media/cdrom0   udf,iso9660 user,noauto,exec,utf8 0       0

并且“fdisk -l”显示:

Disk /dev/sda: 250.0 GB, 250000000000 bytes
255 heads, 63 sectors/track, 30394 cylinders, total 488281250 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0xa42d04a3

Device Boot         Start         End      Blocks   Id  System
/dev/sda1   *          63   476214794   238107366   83  Linux
/dev/sda2       476214795   488279609     6032407+   5  Extended
/dev/sda5       476214858   488279609     6032376   82  Linux swap / Solaris

gparted 显示 sda5 位于 sda2 内

答案1

由于 dahdi_transcode 初始化似乎挂起了内核 3.2.0-44-generic 启动,我重新启动进入内核 3.2.0-43-generic,并使用 Ubuntu 软件中心删除所有 dahdi 模块,然后重新启动进入内核 3.2.0-44-generic。这样就完成了,启动期间不再挂起。由于我不使用台式机来打电话,所以这个解决方案对我来说很有效。

相关内容