kubuntu神域吧 关注:1贴子:75
  • 1回复贴,共1

修改linux和windows并存时候的启动顺序和时间

只看楼主收藏回复

这里会涉及到几个文件,必须先搞清楚他们之间关系,才能有的放矢。首先,我们要修改的文件是grub.cfg,这个文件是通过按照grub.d作为模板,并以grub作为配置,被grub.mkconfig命令自动生成的。所以有时候我们在网络上搜索到一些介绍,那么多文件,看着好相似的说。
不过可能随着linux发行版本的不断发展,grub.cfg文件的内容可能并不完全相同,需要根据需要,寻找我们需要修改的参数。
输入命令sudo kate /boot/grub/grub.cfg使用kate编辑器打开配置文件,可以从首头英文介绍,这个文件的来历。寻找set default=“0”和set timeout=“10”,修改0和10为相应参数即可。


1楼2015-06-02 21:30回复
    以下是我的linux发行版kubuntu15.04的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
    if [ "${next_entry}" ] ; then
    set default="${next_entry}"
    set next_entry=
    save_env next_entry
    set boot_once=true
    else
    set default="0"
    fi
    if [ x"${feature_menuentry_id}" = xy ]; then
    menuentry_id_option="--id"
    else
    menuentry_id_option=""
    fi
    export menuentry_id_option
    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 {
    if [ x$feature_all_video_module = xy ]; then
    insmod all_video
    else
    insmod efi_gop
    insmod efi_uga
    insmod ieee1275_fb
    insmod vbe
    insmod vga
    insmod video_bochs
    insmod video_cirrus
    fi
    }
    if [ x$feature_default_font_path = xy ] ; then
    font=unicode
    else
    insmod part_msdos
    insmod ext2
    set root='hd0,msdos9'
    if [ x$feature_platform_search_hint = xy ]; then
    search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos9 --hint-efi=hd0,msdos9 --hint-baremetal=ahci0,msdos9 635fce43-27e7-461a-963b-650452b34c3f
    else
    search --no-floppy --fs-uuid --set=root 635fce43-27e7-461a-963b-650452b34c3f
    fi
    font="/usr/share/grub/unicode.pf2"
    fi
    if loadfont $font ; then
    set gfxmode=auto
    load_video
    insmod gfxterm
    set locale_dir=$prefix/locale
    set lang=zh_CN
    insmod gettext
    fi
    terminal_output gfxterm
    if [ "${recordfail}" = 1 ] ; then
    set timeout=-1
    else
    if [ x$feature_timeout_style = xy ] ; then
    set timeout_style=menu
    set timeout=10
    # Fallback normal timeout code in case the timeout_style feature is
    # unavailable.
    else
    set timeout=10
    fi
    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
    #set_background_image "images/tile.png";
    set menu_color_normal=white/black
    set menu_color_highlight=black/light-gray
    if background_color 0,0,0; then
    clear
    fi
    ### END /etc/grub.d/05_debian_theme ###
    ### BEGIN /etc/grub.d/10_linux ###
    function gfxmode {
    set gfxpayload="${1}"
    if [ "${1}" = "keep" ]; then
    set vt_handoff=vt.handoff=7
    else
    set vt_handoff=
    fi
    }
    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
    menuentry 'Ubuntu' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-635fce43-27e7-461a-963b-650452b34c3f' {
    recordfail
    load_video
    gfxmode $linux_gfx_mode
    insmod gzio
    if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
    insmod part_msdos
    insmod ext2
    set root='hd0,msdos9'
    if [ x$feature_platform_search_hint = xy ]; then
    search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos9 --hint-efi=hd0,msdos9 --hint-baremetal=ahci0,msdos9 635fce43-27e7-461a-963b-650452b34c3f
    else
    search --no-floppy --fs-uuid --set=root 635fce43-27e7-461a-963b-650452b34c3f
    fi
    linux /boot/vmlinuz-3.19.0-18-generic root=UUID=635fce43-27e7-461a-963b-650452b34c3f ro locale=zh_CN quiet splash $vt_handoff
    initrd /boot/initrd.img-3.19.0-18-generic
    }
    submenu 'Ubuntu 高级选项' $menuentry_id_option 'gnulinux-advanced-635fce43-27e7-461a-963b-650452b34c3f' {
    menuentry 'Ubuntu,Linux 3.19.0-18-generic' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-3.19.0-18-generic-advanced-635fce43-27e7-461a-963b-650452b34c3f' {
    recordfail
    load_video
    gfxmode $linux_gfx_mode
    insmod gzio
    if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
    insmod part_msdos
    insmod ext2
    set root='hd0,msdos9'
    if [ x$feature_platform_search_hint = xy ]; then
    search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos9 --hint-efi=hd0,msdos9 --hint-baremetal=ahci0,msdos9 635fce43-27e7-461a-963b-650452b34c3f
    else
    search --no-floppy --fs-uuid --set=root 635fce43-27e7-461a-963b-650452b34c3f
    fi
    echo '载入 Linux 3.19.0-18-generic ...'
    linux /boot/vmlinuz-3.19.0-18-generic root=UUID=635fce43-27e7-461a-963b-650452b34c3f ro locale=zh_CN quiet splash $vt_handoff
    echo '载入初始化内存盘...'
    initrd /boot/initrd.img-3.19.0-18-generic
    }
    menuentry 'Ubuntu, with Linux 3.19.0-18-generic (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-3.19.0-18-generic-recovery-635fce43-27e7-461a-963b-650452b34c3f' {
    recordfail
    load_video
    insmod gzio
    if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
    insmod part_msdos
    insmod ext2
    set root='hd0,msdos9'
    if [ x$feature_platform_search_hint = xy ]; then
    search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos9 --hint-efi=hd0,msdos9 --hint-baremetal=ahci0,msdos9 635fce43-27e7-461a-963b-650452b34c3f
    else
    search --no-floppy --fs-uuid --set=root 635fce43-27e7-461a-963b-650452b34c3f
    fi
    echo '载入 Linux 3.19.0-18-generic ...'
    linux /boot/vmlinuz-3.19.0-18-generic root=UUID=635fce43-27e7-461a-963b-650452b34c3f ro recovery nomodeset locale=zh_CN
    echo '载入初始化内存盘...'
    initrd /boot/initrd.img-3.19.0-18-generic
    }
    }
    ### END /etc/grub.d/10_linux ###
    ### BEGIN /etc/grub.d/20_linux_xen ###
    ### END /etc/grub.d/20_linux_xen ###
    ### BEGIN /etc/grub.d/20_memtest86+ ###
    menuentry 'Memory test (memtest86+)' {
    insmod part_msdos
    insmod ext2
    set root='hd0,msdos9'
    if [ x$feature_platform_search_hint = xy ]; then
    search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos9 --hint-efi=hd0,msdos9 --hint-baremetal=ahci0,msdos9 635fce43-27e7-461a-963b-650452b34c3f
    else
    search --no-floppy --fs-uuid --set=root 635fce43-27e7-461a-963b-650452b34c3f
    fi
    knetbsd /boot/memtest86+.elf
    }
    menuentry 'Memory test (memtest86+, serial console 115200)' {
    insmod part_msdos
    insmod ext2
    set root='hd0,msdos9'
    if [ x$feature_platform_search_hint = xy ]; then
    search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos9 --hint-efi=hd0,msdos9 --hint-baremetal=ahci0,msdos9 635fce43-27e7-461a-963b-650452b34c3f
    else
    search --no-floppy --fs-uuid --set=root 635fce43-27e7-461a-963b-650452b34c3f
    fi
    linux16 /boot/memtest86+.bin console=ttyS0,115200n8
    }
    ### END /etc/grub.d/20_memtest86+ ###
    ### BEGIN /etc/grub.d/30_os-prober ###
    menuentry 'Windows 7 (loader) (on /dev/sda1)' --class windows --class os $menuentry_id_option 'osprober-chain-62B890FEB890D1C1' {
    insmod part_msdos
    insmod ntfs
    set root='hd0,msdos1'
    if [ x$feature_platform_search_hint = xy ]; then
    search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos1 --hint-efi=hd0,msdos1 --hint-baremetal=ahci0,msdos1 62B890FEB890D1C1
    else
    search --no-floppy --fs-uuid --set=root 62B890FEB890D1C1
    fi
    parttool ${root} hidden-
    chainloader +1
    }
    set timeout_style=menu
    if [ "${timeout}" = 0 ]; then
    set timeout=10
    fi
    ### END /etc/grub.d/30_os-prober ###
    ### BEGIN /etc/grub.d/30_uefi-firmware ###
    ### END /etc/grub.d/30_uefi-firmware ###
    ### 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 ${config_directory}/custom.cfg ]; then
    source ${config_directory}/custom.cfg
    elif [ -z "${config_directory}" -a -f $prefix/custom.cfg ]; then
    source $prefix/custom.cfg;
    fi
    ### END /etc/grub.d/41_custom ###


    2楼2015-06-02 21:32
    回复