为什么我的 Ubuntu 系统没有使用正确的内核?

为什么我的 Ubuntu 系统没有使用正确的内核?

我们在 Ubuntu 远程系统上遇到了一些困惑—— /boot/grub/menu.lst系统提示应该启动到 kernel 2.6.35-30-generic,但实际上正在运行 kernel 2.6.32-27-generic。我应该从哪里开始弄清楚为什么会发生这种情况以及如何解决它?

/boot/grub/menu.lst具体来说,

default         0

第一个条目是

title           Ubuntu 10.10, kernel 2.6.35-30-generic
uuid            67717ee3-cbf9-45d2-ae97-820256f4c4fd
kernel          /boot/vmlinuz-2.6.35-30-generic root=UUID=67717ee3-cbf9-45d2-    ae97-820256f4c4fd ro quiet splash
initrd          /boot/initrd.img-2.6.35-30-generic

此外,我已确认该存在/boot/vmlinuz-2.6.35-30-generic/boot/initrd.img-2.6.35-30-generic拥有适当的权限。

同时,uname -a返回:

$ uname -a
Linux cuda2 2.6.32-27-generic #49-Ubuntu SMP Thu Dec 2 00:51:09 UTC 2010 x86_64 GNU/Linux

编辑:我也尝试过重新运行update-grub并重新启动;但没有成功。

应评论者的要求,以下是完整的 menu.lst:

# menu.lst - See: grub(8), info grub, update-grub(8)
#            grub-install(8), grub-floppy(8),
#            grub-md5-crypt, /usr/share/doc/grub
#            and /usr/share/doc/grub-legacy-doc/.

## default num
# Set the default entry to the entry number NUM. Numbering starts from 0, and
# the entry number 0 is the default if the command is not used.
#
# You can specify 'saved' instead of a number. In this case, the default entry
# is the entry saved with the command 'savedefault'.
# WARNING: If you are using dmraid do not use 'savedefault' or your
# array will desync and will not let you boot your system.
default         0

## timeout sec
# Set a timeout, in SEC seconds, before automatically booting the default entry
# (normally the first entry defined).
timeout         3

## hiddenmenu
# Hides the menu by default (press ESC to see the menu)
hiddenmenu

# Pretty colours
#color cyan/blue white/blue

## password ['--md5'] passwd
# If used in the first section of a menu file, disable all interactive editing
# control (menu entry editor and command-line)  and entries protected by the
# command 'lock'
# e.g. password topsecret
#      password --md5 $1$gLhU0/$aW78kHK1QfV3P2b2znUoe/
# password topsecret

#
# examples
#
# title         Windows 95/98/NT/2000
# root          (hd0,0)
# makeactive
# chainloader   +1
#
# title         Linux
# root          (hd0,1)
# kernel        /vmlinuz root=/dev/hda2 ro
#

#
# Put static boot stanzas before and/or after AUTOMAGIC KERNEL LIST

### BEGIN AUTOMAGIC KERNELS LIST
## lines between the AUTOMAGIC KERNELS LIST markers will be modified
## by the debian update-grub script except for the default options below

## DO NOT UNCOMMENT THEM, Just edit them to your needs

## ## Start Default Options ##
## default kernel options
## default kernel options for automagic boot options
## If you want special options for specific kernels use kopt_x_y_z
## where x.y.z is kernel version. Minor versions can be omitted.
## e.g. kopt=root=/dev/hda1 ro
##      kopt_2_6_8=root=/dev/hdc1 ro
##      kopt_2_6_8_2_686=root=/dev/hdc2 ro
# kopt=root=UUID=67717ee3-cbf9-45d2-ae97-820256f4c4fd ro

## default grub root device
## e.g. groot=(hd0,0)
# groot=67717ee3-cbf9-45d2-ae97-820256f4c4fd

## should update-grub create alternative automagic boot options
## e.g. alternative=true
##      alternative=false
# alternative=true

## should update-grub lock alternative automagic boot options
## e.g. lockalternative=true
##      lockalternative=false
# lockalternative=false

## additional options to use with the default boot option, but not with the
## alternatives
## e.g. defoptions=vga=791 resume=/dev/hda5
# defoptions=quiet splash

## should update-grub lock old automagic boot options
## e.g. lockold=false
##      lockold=true
# lockold=false

## Xen hypervisor options to use with the default Xen boot option
# xenhopt=

## Xen Linux kernel options to use with the default Xen boot option
# xenkopt=console=tty0

## altoption boot targets option
## multiple altoptions lines are allowed
## e.g. altoptions=(extra menu suffix) extra boot options
##      altoptions=(recovery) single
# altoptions=(recovery mode) single

## controls how many kernels should be put into the menu.lst
## only counts the first occurence of a kernel, not the
## alternative kernel options
## e.g. howmany=all
##      howmany=7
# howmany=all

## specify if running in Xen domU or have grub detect automatically
## update-grub will ignore non-xen kernels when running in domU and vice versa
## e.g. indomU=detect
##      indomU=true
##      indomU=false
# indomU=detect

## should update-grub create memtest86 boot option
## e.g. memtest86=true
##      memtest86=false
# memtest86=true

## should update-grub adjust the value of the default booted system
## can be true or false
# updatedefaultentry=false

## should update-grub add savedefault to the default options
## can be true or false
# savedefault=false

## ## End Default Options ##

title           Ubuntu 10.10, kernel 2.6.35-30-generic
uuid            67717ee3-cbf9-45d2-ae97-820256f4c4fd
kernel          /boot/vmlinuz-2.6.35-30-generic root=UUID=67717ee3-cbf9-45d2-ae97-820256f4c4fd ro quiet splash
initrd          /boot/initrd.img-2.6.35-30-generic

title           Ubuntu 10.10, kernel 2.6.35-30-generic (recovery mode)
uuid            67717ee3-cbf9-45d2-ae97-820256f4c4fd
kernel          /boot/vmlinuz-2.6.35-30-generic root=UUID=67717ee3-cbf9-45d2-ae97-820256f4c4fd ro  single
initrd          /boot/initrd.img-2.6.35-30-generic

title           Ubuntu 10.10, kernel 2.6.32-32-server
uuid            67717ee3-cbf9-45d2-ae97-820256f4c4fd
kernel          /boot/vmlinuz-2.6.32-32-server root=UUID=67717ee3-cbf9-45d2-ae97-820256f4c4fd ro quiet splash
initrd          /boot/initrd.img-2.6.32-32-server

title           Ubuntu 10.10, kernel 2.6.32-32-server (recovery mode)
uuid            67717ee3-cbf9-45d2-ae97-820256f4c4fd
kernel          /boot/vmlinuz-2.6.32-32-server root=UUID=67717ee3-cbf9-45d2-ae97-820256f4c4fd ro  single
initrd          /boot/initrd.img-2.6.32-32-server

title           Ubuntu 10.10, kernel 2.6.32-27-generic
uuid            67717ee3-cbf9-45d2-ae97-820256f4c4fd
kernel          /boot/vmlinuz-2.6.32-27-generic root=UUID=67717ee3-cbf9-45d2-ae97-820256f4c4fd ro quiet splash
initrd          /boot/initrd.img-2.6.32-27-generic

title           Ubuntu 10.10, kernel 2.6.32-27-generic (recovery mode)
uuid            67717ee3-cbf9-45d2-ae97-820256f4c4fd
kernel          /boot/vmlinuz-2.6.32-27-generic root=UUID=67717ee3-cbf9-45d2-ae97-820256f4c4fd ro  single
initrd          /boot/initrd.img-2.6.32-27-generic

title           Chainload into GRUB 2
root            67717ee3-cbf9-45d2-ae97-820256f4c4fd
kernel          /boot/grub/core.img

title           Ubuntu 10.10, memtest86+
uuid            67717ee3-cbf9-45d2-ae97-820256f4c4fd
kernel          /boot/memtest86+.bin

### END DEBIAN AUTOMAGIC KERNELS LIST

为了给我的生活增添复杂性和乐趣,这是远程数据中心中的一台台式机;我们既没有本地访问权限,也没有串行控制台访问权限。有什么建议吗?

答案1

Mark Wagner 的评论(在从 Stack Exchange 迁移之前)是正确的。这是一台 Ubuntu 10.10 机器,在切换到 GRUB 2 之后,因此/boot/grub/menu.lst已经过时且未使用 - 真正的配置文件是/boot/grub/grub.cfg

然而,事实证明,这台机器还有一个奇怪的地方——尽管https://help.ubuntu.com/community/Grub2说,update-grub在这台特定的机器上不是的存根grub-mkconfig;它仍然是更新的旧版本menu.lst。因此,运行它并没有像它应该的那样更新正确的配置文件。

相关内容