Как установить Личинку для автоматической загрузки ядра Xen

Как Вы настраиваете Личинку для автоматического использования ядра Xen в соответствии с Ubuntu 11.10?

Независимо от того, что я делаю, это загружает первый menuentry. Единственным путем я могу добраться, это для загрузки Xen должно вручную выбрать ядро, которое я не могу сделать, если я должен перезагрузить сервер удаленно, или существует сбой питания, и машина автоматически загружается, когда питание восстановило и т.д. Это сводит меня с ума.

В моем/boot/grub/grub.cfg ядро Xen в индексе 4 (т.е. это - 5-й menuentry). Таким образом, я попробовал:

  1. Установка GRUB_DEFAULT=4 и выполнение sudo update-grub
  2. Установка GRUB_DEFAULT=saved и GRUB_SAVEDEFAULT=true и выполнения sudo update-grub
  3. Установка GRUB_DEFAULT = "Ubuntu GNU/Linux, с 4.1-amd64 Xen и Linux 3.0.0 16 серверов" и выполнение sudo update-grub

Ни один из них не работает. Это продолжает загружать первый menuentry, который является "Ubuntu с Linux 3.0.0 16 серверов".

Ниже мой текущий/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
  set have_grubenv=true
  load_env
fi
set default="Ubuntu GNU/Linux, with Xen 4.1-amd64 and Linux 3.0.0-16-server"
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 recordfail {
  set recordfail=1
  if [ -n "${have_grubenv}" ]; then if [ -z "${boot_once}" ]; then save_env recordfail; fi; fi
}

function load_video {
  insmod vbe
  insmod vga
  insmod video_bochs
  insmod video_cirrus
}

insmod raid
insmod mdraid1x
insmod part_msdos
insmod part_msdos
insmod ext2
set root='(mduuid/be73165bc31d6f5cd00d05036c7b964f)'
search --no-floppy --fs-uuid --set=root d72bad3f-9ed7-44b9-b3d1-d7af9f62a8ac
if loadfont /usr/share/grub/unicode.pf2 ; then
  set gfxmode=auto
  load_video
  insmod gfxterm
  insmod raid
  insmod mdraid1x
  insmod part_msdos
  insmod part_msdos
  insmod ext2
  set root='(mduuid/be73165bc31d6f5cd00d05036c7b964f)'
  search --no-floppy --fs-uuid --set=root d72bad3f-9ed7-44b9-b3d1-d7af9f62a8ac
  set locale_dir=($root)/boot/grub/locale
  set lang=en_US
  insmod gettext
fi
terminal_output gfxterm
if [ "${recordfail}" = 1 ]; then
  set timeout=-1
else
  set timeout=2
fi
### END /etc/grub.d/00_header ###

### BEGIN /etc/grub.d/05_debian_theme ###
set menu_color_normal=white/black
set menu_color_highlight=black/light-gray
if background_color 44,0,30; then
  clear
fi
### END /etc/grub.d/05_debian_theme ###

### BEGIN /etc/grub.d/10_linux ###
if [ ${recordfail} != 1 ]; then
  if [ -e ${prefix}/gfxblacklist.txt ]; then
    if hwmatch ${prefix}/gfxblacklist.txt 3; then
      if [ ${match} = 0 ]; then
        set linux_gfx_mode=keep
      else
        set linux_gfx_mode=text
      fi
    else
      set linux_gfx_mode=text
    fi
  else
    set linux_gfx_mode=keep
  fi
else
  set linux_gfx_mode=text
fi
export linux_gfx_mode
if [ "$linux_gfx_mode" != "text" ]; then load_video; fi
menuentry 'Ubuntu, with Linux 3.0.0-16-server' --class ubuntu --class gnu-linux --class gnu --class os {
    recordfail
    set gfxpayload=$linux_gfx_mode
    insmod gzio
    insmod raid
    insmod mdraid1x
    insmod part_msdos
    insmod part_msdos
    insmod ext2
    set root='(mduuid/be73165bc31d6f5cd00d05036c7b964f)'
    search --no-floppy --fs-uuid --set=root d72bad3f-9ed7-44b9-b3d1-d7af9f62a8ac
    linux   /boot/vmlinuz-3.0.0-16-server root=UUID=d72bad3f-9ed7-44b9-b3d1-d7af9f62a8ac ro   
    initrd  /boot/initrd.img-3.0.0-16-server
}
menuentry 'Ubuntu, with Linux 3.0.0-16-server (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os {
    recordfail
    insmod gzio
    insmod raid
    insmod mdraid1x
    insmod part_msdos
    insmod part_msdos
    insmod ext2
    set root='(mduuid/be73165bc31d6f5cd00d05036c7b964f)'
    search --no-floppy --fs-uuid --set=root d72bad3f-9ed7-44b9-b3d1-d7af9f62a8ac
    echo    'Loading Linux 3.0.0-16-server ...'
    linux   /boot/vmlinuz-3.0.0-16-server root=UUID=d72bad3f-9ed7-44b9-b3d1-d7af9f62a8ac ro recovery nomodeset 
    echo    'Loading initial ramdisk ...'
    initrd  /boot/initrd.img-3.0.0-16-server
}
submenu "Previous Linux versions" {
menuentry 'Ubuntu, with Linux 3.0.0-12-server' --class ubuntu --class gnu-linux --class gnu --class os {
    recordfail
    set gfxpayload=$linux_gfx_mode
    insmod gzio
    insmod raid
    insmod mdraid1x
    insmod part_msdos
    insmod part_msdos
    insmod ext2
    set root='(mduuid/be73165bc31d6f5cd00d05036c7b964f)'
    search --no-floppy --fs-uuid --set=root d72bad3f-9ed7-44b9-b3d1-d7af9f62a8ac
    linux   /boot/vmlinuz-3.0.0-12-server root=UUID=d72bad3f-9ed7-44b9-b3d1-d7af9f62a8ac ro   
    initrd  /boot/initrd.img-3.0.0-12-server
}
menuentry 'Ubuntu, with Linux 3.0.0-12-server (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os {
    recordfail
    insmod gzio
    insmod raid
    insmod mdraid1x
    insmod part_msdos
    insmod part_msdos
    insmod ext2
    set root='(mduuid/be73165bc31d6f5cd00d05036c7b964f)'
    search --no-floppy --fs-uuid --set=root d72bad3f-9ed7-44b9-b3d1-d7af9f62a8ac
    echo    'Loading Linux 3.0.0-12-server ...'
    linux   /boot/vmlinuz-3.0.0-12-server root=UUID=d72bad3f-9ed7-44b9-b3d1-d7af9f62a8ac ro recovery nomodeset 
    echo    'Loading initial ramdisk ...'
    initrd  /boot/initrd.img-3.0.0-12-server
}
}
### END /etc/grub.d/10_linux ###

### BEGIN /etc/grub.d/20_linux_xen ###
submenu "Xen 4.1-amd64" {
menuentry 'Ubuntu GNU/Linux, with Xen 4.1-amd64 and Linux 3.0.0-16-server' --class ubuntu --class gnu-linux --class gnu --class os --class xen {
    insmod raid
    insmod mdraid1x
    insmod part_msdos
    insmod part_msdos
    insmod ext2
    set root='(mduuid/be73165bc31d6f5cd00d05036c7b964f)'
    search --no-floppy --fs-uuid --set=root d72bad3f-9ed7-44b9-b3d1-d7af9f62a8ac
    echo    'Loading Xen 4.1-amd64 ...'
    multiboot   /boot/xen-4.1-amd64.gz placeholder  
    echo    'Loading Linux 3.0.0-16-server ...'
    module  /boot/vmlinuz-3.0.0-16-server placeholder root=UUID=d72bad3f-9ed7-44b9-b3d1-d7af9f62a8ac ro  
    echo    'Loading initial ramdisk ...'
    module  /boot/initrd.img-3.0.0-16-server
}
menuentry 'Ubuntu GNU/Linux, with Xen 4.1-amd64 and Linux 3.0.0-16-server (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os --class xen {
    insmod raid
    insmod mdraid1x
    insmod part_msdos
    insmod part_msdos
    insmod ext2
    set root='(mduuid/be73165bc31d6f5cd00d05036c7b964f)'
    search --no-floppy --fs-uuid --set=root d72bad3f-9ed7-44b9-b3d1-d7af9f62a8ac
    echo    'Loading Xen 4.1-amd64 ...'
    multiboot   /boot/xen-4.1-amd64.gz placeholder 
    echo    'Loading Linux 3.0.0-16-server ...'
    module  /boot/vmlinuz-3.0.0-16-server placeholder root=UUID=d72bad3f-9ed7-44b9-b3d1-d7af9f62a8ac ro single 
    echo    'Loading initial ramdisk ...'
    module  /boot/initrd.img-3.0.0-16-server
}
menuentry 'Ubuntu GNU/Linux, with Xen 4.1-amd64 and Linux 3.0.0-12-server' --class ubuntu --class gnu-linux --class gnu --class os --class xen {
    insmod raid
    insmod mdraid1x
    insmod part_msdos
    insmod part_msdos
    insmod ext2
    set root='(mduuid/be73165bc31d6f5cd00d05036c7b964f)'
    search --no-floppy --fs-uuid --set=root d72bad3f-9ed7-44b9-b3d1-d7af9f62a8ac
    echo    'Loading Xen 4.1-amd64 ...'
    multiboot   /boot/xen-4.1-amd64.gz placeholder  
    echo    'Loading Linux 3.0.0-12-server ...'
    module  /boot/vmlinuz-3.0.0-12-server placeholder root=UUID=d72bad3f-9ed7-44b9-b3d1-d7af9f62a8ac ro  
    echo    'Loading initial ramdisk ...'
    module  /boot/initrd.img-3.0.0-12-server
}
menuentry 'Ubuntu GNU/Linux, with Xen 4.1-amd64 and Linux 3.0.0-12-server (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os --class xen {
    insmod raid
    insmod mdraid1x
    insmod part_msdos
    insmod part_msdos
    insmod ext2
    set root='(mduuid/be73165bc31d6f5cd00d05036c7b964f)'
    search --no-floppy --fs-uuid --set=root d72bad3f-9ed7-44b9-b3d1-d7af9f62a8ac
    echo    'Loading Xen 4.1-amd64 ...'
    multiboot   /boot/xen-4.1-amd64.gz placeholder 
    echo    'Loading Linux 3.0.0-12-server ...'
    module  /boot/vmlinuz-3.0.0-12-server placeholder root=UUID=d72bad3f-9ed7-44b9-b3d1-d7af9f62a8ac ro single 
    echo    'Loading initial ramdisk ...'
    module  /boot/initrd.img-3.0.0-12-server
}
}
### END /etc/grub.d/20_linux_xen ###

### BEGIN /etc/grub.d/20_memtest86+ ###
menuentry "Memory test (memtest86+)" {
    insmod raid
    insmod mdraid1x
    insmod part_msdos
    insmod part_msdos
    insmod ext2
    set root='(mduuid/be73165bc31d6f5cd00d05036c7b964f)'
    search --no-floppy --fs-uuid --set=root d72bad3f-9ed7-44b9-b3d1-d7af9f62a8ac
    linux16 /boot/memtest86+.bin
}
menuentry "Memory test (memtest86+, serial console 115200)" {
    insmod raid
    insmod mdraid1x
    insmod part_msdos
    insmod part_msdos
    insmod ext2
    set root='(mduuid/be73165bc31d6f5cd00d05036c7b964f)'
    search --no-floppy --fs-uuid --set=root d72bad3f-9ed7-44b9-b3d1-d7af9f62a8ac
    linux16 /boot/memtest86+.bin console=ttyS0,115200n8
}
### END /etc/grub.d/20_memtest86+ ###

### 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 ###
3
задан 19 February 2012 в 19:05

2 ответа

Вы уверены, что старая команда обновления update-grub не должна быть:

grub2-mkconfig -o /boot/grub2/grub.cfg
0
ответ дан 19 February 2012 в 19:05

Методом проб и ошибок я обнаружил, что это работает, если я использую имя подменю «Xen 4.1-amd64» для GRUB_DEFAULT. Я до сих пор не понимаю, почему использование названия меню не сработало ...

0
ответ дан 19 February 2012 в 19:05

Другие вопросы по тегам:

Похожие вопросы: