Ubuntu 12.04 LTS 无法正常启动

Ubuntu 12.04 LTS 无法正常启动

直到最近,我都能毫无问题地启动 12.04 LTS。现在,在启动画面(显示 Ubuntu 且其下方有 5 个点的画面)之后,我看到的是纯黑屏,什么也没发生。背光灯亮着(我能看出来,因为我可以使用笔记本电脑上的功能键将其关闭)。

我尝试启动恢复模式。然后,我选择“启用网络”。屏幕上出现很多文本消息,最后一条是这样的:

fsck from util-linux 2.20.1
/dev/sda7: clean 503648/5873664 files, 16228870/2348972 blocks

之后什么都没发生。无奈之下,我按下了 CTRL+C,结果看到了这个:

The disk drive for / is not ready yet or is not present

虽然这听起来不太好,但几秒钟后 Ubuntu 启动了,我就可以正常使用了。这是怎么回事?我怎样才能让 Ubuntu 正常启动,而不必经过恢复模式?

以下是一些相关文件:

在 /etc/fstab 中:

# /etc/fstab: static file system information.
#
# Use 'blkid' 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    nodev,noexec,nosuid 0       0
mtpfs           /mnt/nexus7     fuse    user,noauto,allow_other,defaults 0 0

# / was on /dev/sda7 during installation
UUID=d67a32d7-aeb2-499c-b854-5a5588ab44d0 /               ext4    errors=remount-ro 0       1
# swap was on /dev/sda6 during installation
UUID=37aa594e-d42b-4104-8ceb-8bf5f535fbbc none            swap    sw              0       0

/var/log/dmesg:http://pastebin.com/jG6pj6vs

dmesg 中最有趣的部分似乎在第 40 秒左右(第 929 行)——这大约是我按下 CTRL+C 的时间:

[   41.431376] init: friendly-recovery main process (1136) killed by INT signal
[   41.832821] lp: driver loaded but no devices found
[   53.659693] Adding 4028412k swap on /dev/sda6.  Priority:-1 extents:1 across:4028412k
[   54.017887] EXT4-fs (sda7): re-mounted. Opts: errors=remount-ro
[   54.123538] init: udev-fallback-graphics main process (2043) terminated with status 1
[   54.266949] init: failsafe main process (2086) killed by TERM signal
[   54.313791] init: friendly-recovery post-stop process (1323) terminated with status 1

似乎有些进程挂起了,阻碍了正常启动。也许当我按下 CTRL+C 时,这些进程会被终止,启动可以继续。我如何根据它们的 ID(括号中的数字)找出这些进程是什么?

/var/log/boot.log:

Begin: Loading essential drivers ... done.
Begin: Running /scripts/init-premount ... done.
Begin: Mounting root file system ... Begin: Running /scripts/local-top ... done.
Begin: Running /scripts/local-premount ... done.
Begin: Running /scripts/local-bottom ... done.
done.
Begin: Running /scripts/init-bottom ... done.
fsck from util-linux 2.20.1
/dev/sda7: clean, 503673/5873664 files, 16231307/23489792 blocks
initctl: Event failed
modem-manager[2121]: <info>  ModemManager (version 0.5.2.0) starting...

modem-manager[2121]: <info>  Loaded plugin Nokia

modem-manager[2121]: <info>  Loaded plugin ZTE

modem-manager[2121]: <info>  Loaded plugin Huawei

modem-manager[2121]: <info>  Loaded plugin Sierra

modem-manager[2121]: <info>  Loaded plugin MotoC

modem-manager[2121]: <info>  Loaded plugin SimTech

modem-manager[2121]: <info>  Loaded plugin Wavecom

modem-manager[2121]: <info>  Loaded plugin X22X

modem-manager[2121]: <info>  Loaded plugin Novatel

modem-manager[2121]: <info>  Loaded plugin Option High-Speed

modem-manager[2121]: <info>  Loaded plugin Option

modem-manager[2121]: <info>  Loaded plugin Samsung

modem-manager[2121]: <info>  Loaded plugin Linktop

modem-manager[2121]: <info>  Loaded plugin Ericsson MBM

modem-manager[2121]: <info>  Loaded plugin Gobi

modem-manager[2121]: <info>  Loaded plugin Generic

modem-manager[2121]: <info>  Loaded plugin Longcheer

modem-manager[2121]: <info>  Loaded plugin AnyData

 * Starting system logging daemon                                        [ OK ]
 * Starting mDNS/DNS-SD daemon                                           [ OK ]
Skipping profile in /etc/apparmor.d/disable: usr.bin.firefox
Skipping profile in /etc/apparmor.d/disable: usr.sbin.rsyslogd
 * Starting bluetooth daemon                                             [ OK ]
 * Starting AppArmor profiles                                            [ OK ] 
 * Setting sensors limits                                                [ OK ] 
 * Stopping System V initialisation compatibility                        [ OK ]
 * Starting System V runlevel compatibility                              [ OK ]
 * Starting crash report submission daemon                               [ OK ]
 * Starting LightDM Display Manager                                      [ OK ]
 * Starting anac(h)ronistic cron                                         [ OK ]
 * Starting save kernel messages                                         [ OK ]
 * Starting automatic crash report generation                            [ OK ]
 * Starting ACPI daemon                                                  [ OK ]
 * Starting regular background program processing daemon                 [ OK ]
 * Starting deferred execution scheduler                                 [ OK ]
 * Starting CPU interrupts balancing daemon                              [ OK ]
 * Stopping save kernel messages                                         [ OK ]

我在启动时强制检查文件系统(http://ubuntuforums.org/showthread.php?t=77771),没有发现任何错误。还有什么问题呢?

编辑

我尝试启动旧版本的内核。我可以从引导加载程序访问其他 2 个版本:

  • 3.2.0-31-通用
  • 3.2.0-29-通用

3.2.0-31 无法工作(同样的问题),但 3.2.0-29 可以工作!这是否意味着内核中存在错误?

编辑

我按照以下说明进行操作https://wiki.ubuntu.com/DebuggingKernelBoot诊断我的问题。我按照说明更新了启动选项:

  • 删除了 quiet、splash、$vt_handoff
  • 用文本替换 $linux_gfx_mode

系统正确启动!经过更多调整后,我确定 quiet、splash 和 $vt_handoff 无关紧要 - 用文本替换 $linux_gfx_mode 即可解决问题。

这是怎么回事?这个虫子到底住在哪里?

答案1

我想我已经知道问题出在哪里了。

我注意到窗口拖动变得难以忍受地慢,并开始怀疑视频驱动程序存在问题。按照以下说明重新安装专有 ATI 驱动程序后https://help.ubuntu.com/community/BinaryDriverHowto/ATI,我的问题就解决了。

请按照下列步骤进行:

  • 在左侧启动栏上,点击“系统设置”图标
  • 然后是“附加驱动程序”,
  • 然后等待系统搜索专有显卡驱动程序
  • 选择第一个并点击“激活”,这将触发安装过程
  • 最后输入密码以允许更改。

使用 UI 安装图形驱动程序

相关内容