每次我尝试从默认分区(即选择 GRUB 菜单中的第一个“Ubuntu”选项)启动运行 Ubuntu 14.04 的计算机时,都无法启动 X 服务器。每当我使用默认分区启动时,都会收到一条消息,内容如下:
The disk drive '/boot/efi' is not ready yet or not present.
Continue to wait, or press S to skip mounting or M for manual recovery.
我以前见过这个消息,只需等待几秒钟就可以摆脱它;但是,这个消息一直存在,直到我按下 S 键。按下后,我被带到登录屏幕。我可以选择一个用户并输入我的密码,但是一旦我点击“确定”,所有选项都会消失几秒钟(留下空白的壁纸),然后整个屏幕短暂变黑,我又回到了登录屏幕。
进入 tty 终端并startx
以普通用户身份运行将产生以下输出:
xinit: Connection to X server lost.
显然,连接随后会失败。当我startx
以 root 用户身份尝试时,连接不会自动丢失;相反,扩展初始化和加载消息列表会在以下四个消息后挂起:
Loading extension GLX
Loading extension NV-GLX
Loading extension NV-CONTROL
Loading extension XINERAMA
我发现摆脱困境的唯一方法是按 Ctrl-Backslash。
这个问题真正令人好奇的地方在于我的电脑有两个内置硬盘;因此,GRUB 菜单允许我在“sdb2”(默认;我通常使用的分区)或“sda2”分区上启动电脑。我完全可以在“sda2”上启动 X 服务器,但不能在“sdb2”上启动。
我怀疑这种差异可能是由于我机器上的图形驱动程序造成的。这些分区上的数据相似,只是“sda2”不包含我过去两周的任何工作。我的电脑有 NVidia 图形驱动程序。但是,我上周在我的电脑上安装了 Mesa 10.1.3 OpenGL 库(因此,它们最终只出现在“sdb2”上)。无法启动我的 X 服务器可能是由于 Mesa 和 NVidia 资源之间奇怪的冲突造成的吗?