我得到了一个安装了 Debian 的 vServer(这很重要,因为我不知道 Debian 是如何安装和/或构建的)。输出~# uname -r
:2.6.26-2-xen-amd64
。
执行(首先安装其他版本 3.2 内核,然后)上述操作后~# apt-get install xen-linux-system-3.2.0-4-amd64
,~# update-grub
内核~# reboot
版本似乎没有变化。为什么?
~# dpkg -l | grep xen
给出(重新格式化):
libxen-4.1 (4.1.4-2)
libxenstore3.0 (4.1.4-2)
xen-hypervisor-4.1-amd64 (4.1.4-2)
xen-linux-system-3.2.0-4-amd64 (3.2.35-2)
xen-system-amd64 (4.1.4-2)
xen-utils-4.1 (4.1.4-2)
xen-utils-common (4.1.4-2)
xenstore-utils (4.1.4-2)
~# cat /boot/grub/grub.cfg
给出:
#
# DO NOT EDIT THIS FILE
#
# It is automatically generated by grub-mkconfig using templates
# from /etc/grub.d and settings from /etc/default/grub
#
### BEGIN /etc/grub.d/00_header ###
if [ -s $prefix/grubenv ]; then
load_env
fi
set default="0"
if [ "${prev_saved_entry}" ]; then
set saved_entry="${prev_saved_entry}"
save_env saved_entry
set prev_saved_entry=
save_env prev_saved_entry
set boot_once=true
fi
function savedefault {
if [ -z "${boot_once}" ]; then
saved_entry="${chosen}"
save_env saved_entry
fi
}
function load_video {
insmod vbe
insmod vga
insmod video_bochs
insmod video_cirrus
}
insmod ext2
set root='(/dev/hda1)'
search --no-floppy --fs-uuid --set=root 5c2c9779-894e-4dfc-9707-9fecdbc085c5
if loadfont /usr/share/grub/unicode.pf2 ; then
set gfxmode=640x480
load_video
insmod gfxterm
insmod ext2
set root='(/dev/hda1)'
search --no-floppy --fs-uuid --set=root 5c2c9779-894e-4dfc-9707-9fecdbc085c5
set locale_dir=($root)/boot/grub/locale
set lang=de_DE@euro
insmod gettext
fi
terminal_output gfxterm
set timeout=5
### END /etc/grub.d/00_header ###
### BEGIN /etc/grub.d/05_debian_theme ###
set menu_color_normal=cyan/blue
set menu_color_highlight=white/blue
### END /etc/grub.d/05_debian_theme ###
### BEGIN /etc/grub.d/10_linux ###
menuentry 'Debian GNU/Linux, mit Linux 3.2.0-4-amd64' --class debian --class gnu-linux --class gnu --class os {
load_video
insmod gzio
insmod ext2
set root='(/dev/hda1)'
search --no-floppy --fs-uuid --set=root 5c2c9779-894e-4dfc-9707-9fecdbc085c5
echo 'Linux 3.2.0-4-amd64 wird geladen ...'
linux /boot/vmlinuz-3.2.0-4-amd64 root=UUID=5c2c9779-894e-4dfc-9707-9fecdbc085c5 ro quiet
echo 'Initiale Ramdisk wird geladen ...'
initrd /boot/initrd.img-3.2.0-4-amd64
}
menuentry 'Debian GNU/Linux, mit Linux 3.2.0-4-amd64 (Wiederherstellungsmodus)' --class debian --class gnu-linux --class gnu --class os {
load_video
insmod gzio
insmod ext2
set root='(/dev/hda1)'
search --no-floppy --fs-uuid --set=root 5c2c9779-894e-4dfc-9707-9fecdbc085c5
echo 'Linux 3.2.0-4-amd64 wird geladen ...'
linux /boot/vmlinuz-3.2.0-4-amd64 root=UUID=5c2c9779-894e-4dfc-9707-9fecdbc085c5 ro single
echo 'Initiale Ramdisk wird geladen ...'
initrd /boot/initrd.img-3.2.0-4-amd64
}
menuentry 'Debian GNU/Linux, mit Linux 3.2.0-0.bpo.4-amd64' --class debian --class gnu-linux --class gnu --class os {
load_video
insmod gzio
insmod ext2
set root='(/dev/hda1)'
search --no-floppy --fs-uuid --set=root 5c2c9779-894e-4dfc-9707-9fecdbc085c5
echo 'Linux 3.2.0-0.bpo.4-amd64 wird geladen ...'
linux /boot/vmlinuz-3.2.0-0.bpo.4-amd64 root=UUID=5c2c9779-894e-4dfc-9707-9fecdbc085c5 ro quiet
echo 'Initiale Ramdisk wird geladen ...'
initrd /boot/initrd.img-3.2.0-0.bpo.4-amd64
}
menuentry 'Debian GNU/Linux, mit Linux 3.2.0-0.bpo.4-amd64 (Wiederherstellungsmodus)' --class debian --class gnu-linux --class gnu --class os {
load_video
insmod gzio
insmod ext2
set root='(/dev/hda1)'
search --no-floppy --fs-uuid --set=root 5c2c9779-894e-4dfc-9707-9fecdbc085c5
echo 'Linux 3.2.0-0.bpo.4-amd64 wird geladen ...'
linux /boot/vmlinuz-3.2.0-0.bpo.4-amd64 root=UUID=5c2c9779-894e-4dfc-9707-9fecdbc085c5 ro single
echo 'Initiale Ramdisk wird geladen ...'
initrd /boot/initrd.img-3.2.0-0.bpo.4-amd64
}
### END /etc/grub.d/10_linux ###
### BEGIN /etc/grub.d/20_linux_xen ###
submenu "Xen 4.1-amd64" {
menuentry 'Debian GNU/Linux, mit Xen 4.1-amd64 und Linux 3.2.0-4-amd64' --class debian --class gnu-linux --class gnu --class os --class xen {
insmod ext2
set root='(/dev/hda1)'
search --no-floppy --fs-uuid --set=root 5c2c9779-894e-4dfc-9707-9fecdbc085c5
echo 'Xen 4.1-amd64 wird geladen ...'
multiboot /boot/xen-4.1-amd64.gz placeholder
echo 'Linux 3.2.0-4-amd64 wird geladen ...'
module /boot/vmlinuz-3.2.0-4-amd64 placeholder root=UUID=5c2c9779-894e-4dfc-9707-9fecdbc085c5 ro quiet
echo 'Initiale Ramdisk wird geladen ...'
module /boot/initrd.img-3.2.0-4-amd64
}
menuentry 'Debian GNU/Linux, mit Xen 4.1-amd64 und Linux 3.2.0-4-amd64 (Wiederherstellungsmodus)' --class debian --class gnu-linux --class gnu --class os --class xen {
insmod ext2
set root='(/dev/hda1)'
search --no-floppy --fs-uuid --set=root 5c2c9779-894e-4dfc-9707-9fecdbc085c5
echo 'Xen 4.1-amd64 wird geladen ...'
multiboot /boot/xen-4.1-amd64.gz placeholder
echo 'Linux 3.2.0-4-amd64 wird geladen ...'
module /boot/vmlinuz-3.2.0-4-amd64 placeholder root=UUID=5c2c9779-894e-4dfc-9707-9fecdbc085c5 ro single
echo 'Initiale Ramdisk wird geladen ...'
module /boot/initrd.img-3.2.0-4-amd64
}
menuentry 'Debian GNU/Linux, mit Xen 4.1-amd64 und Linux 3.2.0-0.bpo.4-amd64' --class debian --class gnu-linux --class gnu --class os --class xen {
insmod ext2
set root='(/dev/hda1)'
search --no-floppy --fs-uuid --set=root 5c2c9779-894e-4dfc-9707-9fecdbc085c5
echo 'Xen 4.1-amd64 wird geladen ...'
multiboot /boot/xen-4.1-amd64.gz placeholder
echo 'Linux 3.2.0-0.bpo.4-amd64 wird geladen ...'
module /boot/vmlinuz-3.2.0-0.bpo.4-amd64 placeholder root=UUID=5c2c9779-894e-4dfc-9707-9fecdbc085c5 ro quiet
echo 'Initiale Ramdisk wird geladen ...'
module /boot/initrd.img-3.2.0-0.bpo.4-amd64
}
menuentry 'Debian GNU/Linux, mit Xen 4.1-amd64 und Linux 3.2.0-0.bpo.4-amd64 (Wiederherstellungsmodus)' --class debian --class gnu-linux --class gnu --class os --class xen {
insmod ext2
set root='(/dev/hda1)'
search --no-floppy --fs-uuid --set=root 5c2c9779-894e-4dfc-9707-9fecdbc085c5
echo 'Xen 4.1-amd64 wird geladen ...'
multiboot /boot/xen-4.1-amd64.gz placeholder
echo 'Linux 3.2.0-0.bpo.4-amd64 wird geladen ...'
module /boot/vmlinuz-3.2.0-0.bpo.4-amd64 placeholder root=UUID=5c2c9779-894e-4dfc-9707-9fecdbc085c5 ro single
echo 'Initiale Ramdisk wird geladen ...'
module /boot/initrd.img-3.2.0-0.bpo.4-amd64
}
}
### END /etc/grub.d/20_linux_xen ###
### BEGIN /etc/grub.d/30_os-prober ###
### END /etc/grub.d/30_os-prober ###
### BEGIN /etc/grub.d/40_custom ###
# This file provides an easy way to add custom menu entries. Simply type the
# menu entries you want to add after this comment. Be careful not to change
# the 'exec tail' line above.
### END /etc/grub.d/40_custom ###
### BEGIN /etc/grub.d/41_custom ###
if [ -f $prefix/custom.cfg ]; then
source $prefix/custom.cfg;
fi
### END /etc/grub.d/41_custom ###
答案1
根据 EEAA 和 Tim Haegele 的评论(不是答案,所以他们无法获得声誉,抱歉),是 VM 主机针对特定内核版本进行了配置。遗憾的是,我无法让我的提供商更改这一点,现在我不得不将我的 Debian 从 Sid 降级到 Lenny(这是不可能的,并导致恢复备份),但那是另一个故事。
答案2
您需要运行以下命令来将 Xen 内核设置为比当前内核具有更高的优先级:
dpkg-divert --divert /etc/grub.d/08_linux_xen --rename /etc/grub.d/20_linux_xen
update-grub