在升级到15.04版本后,我需要与正在运行的内核匹配的内核头文件(用于另一个软件包)。
升级安装了内核版本为3.19.0-17。为了以防万一,我还安装了"linux-headers-generic"。然后,我运行了"sudo update-grub"并重新启动。但是,系统仍然引导到了内核版本3.16.0-31(通过"uname -r"命令确认)。
经过多次尝试,我发现GrUB在"update-grub"中识别到了3.19内核,甚至将其添加到了"/boot/grub/menu.lst"中。然而,在启动时,GrUB只能在启动菜单中识别到3.16内核。我应该如何解决这个问题,让GrUB能够引导到3.19版本?
这是我当前系统的一些输出。
运行
但是,在启动过程中按住Shift键,没有选择3.19的选项(虽然我可以选择其他版本)。启动后,
从一个
我还尝试过清除/重新安装grub和头文件,以及其他一些毫无影响的事情。
升级安装了内核版本为3.19.0-17。为了以防万一,我还安装了"linux-headers-generic"。然后,我运行了"sudo update-grub"并重新启动。但是,系统仍然引导到了内核版本3.16.0-31(通过"uname -r"命令确认)。
经过多次尝试,我发现GrUB在"update-grub"中识别到了3.19内核,甚至将其添加到了"/boot/grub/menu.lst"中。然而,在启动时,GrUB只能在启动菜单中识别到3.16内核。我应该如何解决这个问题,让GrUB能够引导到3.19版本?
这是我当前系统的一些输出。
sudo update-grub
始终生成以下输出:$ sudo update-grub
Searching for GRUB installation directory ... found: /boot/grub
Searching for default file ... found: /boot/grub/default
Testing for an existing GRUB menu.lst file ... found: /boot/grub/menu.lst
Searching for splash image ... none found, skipping ...
Found kernel: /boot/vmlinuz-3.19.0-17-generic
Found kernel: /boot/vmlinuz-3.16.0-31-generic
Found kernel: /boot/vmlinuz-3.13.0-40-generic
Found kernel: /boot/vmlinuz-3.11.0-19-generic
Found kernel: /boot/vmlinuz-3.8.0-35-generic
Found kernel: /boot/memtest86+.bin
Found kernel: /boot/vmlinuz-3.19.0-17-generic
Found kernel: /boot/vmlinuz-3.16.0-31-generic
Found kernel: /boot/vmlinuz-3.13.0-40-generic
Found kernel: /boot/vmlinuz-3.11.0-19-generic
Found kernel: /boot/vmlinuz-3.8.0-35-generic
Found kernel: /boot/memtest86+.bin
Updating /boot/grub/menu.lst ... done
运行
update-grub
后,打开/boot/grub/menu.lst
文件,第一个选项是:title Ubuntu 15.04, kernel 3.19.0-17-generic
uuid ac9d0eaf-e090-4c29-8e7b-30e98ed07d29
kernel /boot/vmlinuz-3.19.0-17-generic root=UUID=ac9d0eaf-e090-4c29-8e7b-30e98ed07d29 ro quiet splash
initrd /boot/initrd.img-3.19.0-17-generic
但是,在启动过程中按住Shift键,没有选择3.19的选项(虽然我可以选择其他版本)。启动后,
uname -r
确认它已经启动到了3.16版本。$ uname -r
3.16.0-31-generic
从一个
dpkg -l
的输出中截取的部分,显示确实安装了 3.19 内核。ii linux-headers-3.19.0-17 3.19.0-17.17 all Header files related to Linux kernel version 3.19.0
ii linux-headers-3.19.0-17-generic 3.19.0-17.17 amd64 Linux kernel headers for version 3.19.0 on 64 bit x86 SMP
ii linux-headers-generic 3.19.0.17.16 amd64 Generic Linux kernel headers
我还尝试过清除/重新安装grub和头文件,以及其他一些毫无影响的事情。
linux-image-*
软件包比linux-headers-*
软件包更为重要。 - saiarcot895/boot/grub/menu.lst
文件,而是有一个/boot/grub/grub.cfg
文件,似乎会被更新。update-grub
的man页面建议它调用grub-mkconfig
,并告诉它将数据输出到/boot/grub/grub.cfg
。你有一个名为/boot/grub/grub.cfg
的文件吗?它是否没有较新的内核? - saiarcot895linux-image-3.19.0-17-generic
在dpkg
列表中也存在。我确实有一个grub.cfg
文件,而且它确实缺少了 3.19 的记录。 - geometrian/boot/grub/menu.lst
和/boot/grub/default
(如果后者存在),然后再次运行update-grub
。检查/boot/grub/grub.cfg
是否包含3.19的记录。 - saiarcot895grub2-common
吗?(如果不确定,请运行sudo apt-get install grub2-common
。) - saiarcot895