除非我在引导加载程序中手动选择内核,否则启动会挂起

除非我在引导加载程序中手动选择内核,否则启动会挂起

在我的 Ubuntu 安装中(忘记了它以哪个生物命名,大约一年前),我只有在引导加载程序(Grub)中手动选择内核时才能正常启动。如果我离开并从默认启动,系统将挂起,图形屏幕上显示“Ubuntu”字样,其下方有几个白色/红色闪烁点。

uname -a

Linux digdug 2.6.32-42-generic #95-Ubuntu SMP 星期三 7 月 25 日 15:57:54 UTC 2012 i686 GNU/Linux

Synaptics 说我安装了“grub-pc”版本 1.98-1ubuntu-13。

我的 grub.cfg 确实有default="0",我希望将其默认为选择屏幕中显示的第一个内核。

系统是一台带有 i7 处理器的笔记本电脑,过去我遇到过一些内核根本无法启动的问题,并且电源管理也无法正常工作,但我在启动最新内核(2.6.32-42)时没有遇到问题如果我在 Grub 中手动选择它。

知道这里发生了什么事吗?我该如何修复它,以便我可以无人值守重新启动?

编辑

grub配置文件在 pastebin 上。

也是/etc/默认/grub

编辑2

根据 Sly 的建议,我尝试

mb@digdug:~$ sudo grub-mkconfig -o ./test.grub.cfg
Generating grub.cfg ...
Found linux image: /boot/vmlinuz-2.6.32-42-generic
Found initrd image: /boot/initrd.img-2.6.32-42-generic
Found linux image: /boot/vmlinuz-2.6.32-41-generic
Found initrd image: /boot/initrd.img-2.6.32-41-generic
Found linux image: /boot/vmlinuz-2.6.32-40-generic
Found initrd image: /boot/initrd.img-2.6.32-40-generic
Found linux image: /boot/vmlinuz-2.6.32-39-generic
Found initrd image: /boot/initrd.img-2.6.32-39-generic
Found linux image: /boot/vmlinuz-2.6.32-28-generic
Found initrd image: /boot/initrd.img-2.6.32-28-generic
Found linux image: /boot/vmlinuz-2.6.32-24-generic
Found initrd image: /boot/initrd.img-2.6.32-24-generic
Found memtest86+ image: /boot/memtest86+.bin
Found Windows 7 (loader) on /dev/sda1
Found Windows 7 (loader) on /dev/sda2
Found Windows Vista (loader) on /dev/sda4
done
mb@digdug:~$ diff /boot/grub/grub.cfg test.grub.cfg
mb@digdug:~$ 

据我所知,这表明 grub-mkconfig 已经精确地复制了我现有的 grub.cfg。

init 是否可能以某种方式知道我已经默认启动,并触发了一些长磁盘测试或其他让我认为启动已挂起的操作?

答案1

与我所拥有的 Ubuntu 12.10 相比,你的版本似乎/boot/grub/grub.cfg缺少了很多东西。

我建议将您的/boot/grub/grub.cfg文件复制到您的主目录,运行grub-mkconfig创建一个新的 GRUB 配置,然后比较两个文件以查看是否存在差异。

例如:

$ sudo cp /boot/grub/grub.cfg ~/test.grub.cfg
$ sudo grub-mkconfig -o ~/test2.grub.cfg
$ diff -qy ~/test.grub.cfg ~/test2.grub.cfg

确保所做的任何更改都不会删除您的 Windows 分区。然后您可以将新文件复制test2.grub.cfg/boot

$ sudo cp ~/test2.grub.cfg /boot/grub/grub.cfg

或者您可以直接运行sudo update-grub,它就会运行sudo grub-mkconfig -o /boot/grub/grub.cfg

相关内容