最近(至少在我打开 PC 的最后 2 次)我注意到 grub 需要很长时间才能启动。我在 bios 消息消失和内核日志出现在屏幕上之间计时了将近 9 分钟。
问题是我怎么知道 grub 正在做什么或在等待什么?我如何检查 grub 是否正常?
几天前,我删除了启动画面,因此每次启动时都能看到文本日志。大多数时候它是快速和正常的。在这 9 分钟内,显示器收到信号,但只是黑屏。NumLock 没有反应,整个事情似乎被冻结了,但事实并非如此。
至少从 2009 年起,我就有了软件 raid1。
据报道,这次袭击是健康的。在这几分钟内,第一分钟会有一些轻微的硬盘活动。硬盘 SMART 数据正常。前一天关机是正常的。
自 8.04 以来,我已经在这台计算机上安装了所有 Ubuntu 版本。自 10 月以来,我安装了 12.10。这台电脑没有什么新东西,没有新的硬盘驱动器,也没有更改 BIOS 设置。
没有 grub 日志 AFAIK 并且内核日志并不有趣,因为它说内核在 28 秒内启动 [PhenomX4 内核:[28.825313] vboxpci:IOMMU 未找到(未注册)] 所以 9 分钟是在内核启动之前。
*更新:3 月 27 日 *
我发现了问题,但我仍然不知道原因。问题是 /boot/grub/grub.cfg 是 11.6 MB,它有类似这样的条目重复多次但略有不同。Grub 被这么大的文件窒息来创建它的菜单。
menuentry 'Ubuntu 12.10 (12.10) (en /dev/sda1) (en /dev/sda1) (en /dev/sdb1) (en /dev/sda1) (en /dev/sda1) (en /dev/sda1) (en /dev/sda1) (en /dev/sda1) (en /dev/sda1) (en /dev/sda1) (en /dev/sda1) (en /dev/sda1) (en /dev/sda1) (en /dev/sda1) (en /dev/sda1) (en /dev/sda1)' --class gnu-linux --class gnu --class os $menuentry_id_option 'osprober-gnulinux-/vmlinuz--73e06880-5f46-4493-aaef-23fa4ad138f6' {
insmod part_msdos
insmod ext2
set root='hd0,msdos1'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos1 --hint-efi=hd0,msdos1 --hint-baremetal=ahci0,msdos1 --hint='hd0,msdos1' 73e06880-5f46-4493-aaef-23fa4ad138f6
else
search --no-floppy --fs-uuid --set=root 73e06880-5f46-4493-aaef-23fa4ad138f6
fi
linux /vmlinuz root=/dev/sda1
initrd /initrd.img
}
Run Code Online (Sandbox Code Playgroud)
还是不知道为什么那个文件增长了这么多?
3月28日更新
一大块菜单条目是由 /etc/grub.d/30_os-prober 生成的。
Line 223: ### BEGIN /etc/grub.d/30_os-prober ###
...
Line 175174: ### END /etc/grub.d/30_os-prober ###
Run Code Online (Sandbox Code Playgroud)
grub.cfg 有 175191 行,因此该脚本占文件中 11.6 MB 的 99%。
归档时间: |
|
查看次数: |
2530 次 |
最近记录: |