fedora 16 grub2 设置submenu 默认启动

在fedora 16 上安装xen 4.1.2 时遇到了grub2 的问题启动 xen 内核后(自认为启动了)结果报以下错误:

$xl info
libxl: error: libxl.c:56:libxl_ctx_init Is xenstore daemon running?
failed to stat /var/run/xenstored.pid: No such file or directory
cannot init xl context




$ls /proc/xen
ls: 无法访问/proc/xen: 没有那个文件或目录

所以感觉没有启动Xen<!-- more -->

在手动选择启动以后

$xl info
host : f16-test
release : 3.1.5-1.fc16.x86_64
version : #1 SMP Fri Dec 9 18:11:10 UTC 2011
machine : x86_64
nr_cpus : 2
nr_nodes : 1
cores_per_socket : 2
threads_per_core : 1
cpu_mhz : 2992
hw_caps : bfebfbff:20100800:00000000:00000940:0000e3bd:00000000:00000001:00000000
virt_caps : hvm
total_memory : 4061
free_memory : 1752
free_cpus : 0
xen_major : 4
xen_minor : 1
xen_extra : .2
xen_caps : xen-3.0-x86_64 xen-3.0-x86_32p hvm-3.0-x86_32 hvm-3.0-x86_32p hvm-3.0-x86_64
xen_scheduler : credit
xen_pagesize : 4096
platform_params : virt_start=0xffff800000000000
xen_changeset : unavailable
xen_commandline : placeholder
cc_compiler : gcc version 4.6.2 20111027 (Red Hat 4.6.2-1) (GCC)
cc_compile_by : mockbuild
cc_compile_domain : phx2.fedoraproject.org
cc_compile_date : Mon Nov 21 17:06:26 UTC 2011
xend_config_format : 4

所以觉得是grub2的配置错误

之前我是使用

$grub2-set-default "Fedora Linux, with Xen 4.1.2 and Linux 3.1.5-1.fc16.x86_64"

$grub2-editenv list
saved_entry=Fedora Linux, with Xen 4.1.2 and Linux 3.1.5-1.fc16.x86_64

$grub2-mkconfig -o /boot/grub2/grub.cfg

后来想想是不对的

于是我使用了以下命令

$grub2-set-default "5>Fedora Linux, with Xen 4.1.2 and Linux 3.1.5-1.fc16.x86_64"

$grub2-editenv list
saved_entry=5>Fedora Linux, with Xen 4.1.2 and Linux 3.1.5-1.fc16.x86_64

$grub2-mkconfig -o /boot/grub2/grub.cfg

其中5是Fedora Linux, with Xen 4.1.2 and Linux 3.1.5-1.fc16.x86_64 的submenu在grub.cfg中的位置(从0开始计数哦,submenu里的menuentry不算)

重启以后就自动从 Fedora Linux, with Xen 4.1.2 and Linux 3.1.5-1.fc16.x86_64 启动了!