• Ubuntu grub2的启动配置文件grub.cfg,为了修改另人生厌的时间


    文章转自http://hi.baidu.com/detax/blog/item/90f18b54a8ef5253d00906e4.html

    升级到Ubuntu 9.10后,就要接触grub2了,它和以前的版本有了很多的不同。这里是一个基础教程。

    一、grub2的启动配置文件grub.cfg

    grub2的启动配置文件grub.cfg是/boot/grub/grub.cfg,而不是以前的memu.lst。
    如果你是多系统,有Ubuntu和windows,那么用下面的命令,可以使grub2得到所以可以启动的系统。
    sudo update-grub
    实际就是让系统自己生成合适的grub.cfg文件。
    这个grub.cfg文件是只读属性,so如果你要修改它,需要权限。
    sudo chmod +w /boot/grub/grub.cfg
    然后可以编辑grub.cfg了。
    sudo gedit /boot/grub/grub.cfg

    二、默认系统和等待时间
    1、set default=0
    这是说从第一项启动。每个启动项都是以menuentry开始,menuentry后面“xxx”是启动项名称,然后{xxx}是启动代码。
    ### BEGIN /etc/grub.d/10_linux ###menuentry “Ubuntu, Linux 2.6.31-14-generic” {recordfail=1if [ -n ${have_grubenv} ]; then save_env recordfail; fiset quiet=1insmod ext2set root=(hd0,6)search –no-floppy –fs-uuid –set 040508ff-fec7-4c66-ba64-a09f8abe8059linux /boot/vmlinuz-2.6.31-14-generic root=UUID=040508ff-fec7-4c66-ba64-a09f8abe8059 ro   quiet splashinitrd /boot/initrd.img-2.6.31-14-generic}menuentry “Ubuntu, Linux 2.6.31-14-generic (recovery mode)” {recordfail=1if [ -n ${have_grubenv} ]; then save_env recordfail; fiinsmod ext2set root=(hd0,6)search –no-floppy –fs-uuid –set 040508ff-fec7-4c66-ba64-a09f8abe8059linux /boot/vmlinuz-2.6.31-14-generic root=UUID=040508ff-fec7-4c66-ba64-a09f8abe8059 ro singleinitrd /boot/initrd.img-2.6.31-14-generic}### END /etc/grub.d/10_linux ###### BEGIN /etc/grub.d/20_memtest86+ ###menuentry “Memory test (memtest86+)” {linux16 /boot/memtest86+.bin}menuentry “Memory test (memtest86+, serial console 115200)” {linux16 /boot/memtest86+.bin console=ttyS0,115200n8}### END /etc/grub.d/20_memtest86+ ###### BEGIN /etc/grub.d/30_os-prober ###menuentry “Microsoft Windows XP Home Edition (on /dev/sda1)” {insmod ntfsset root=(hd0,1)search –no-floppy –fs-uuid –set 5c108a1c1089fd70drivemap -s (hd0) ${root}chainloader +1}if keystatus; thenif keystatus –shift; thenset timeout=-1elseset timeout=10fielseif sleep$verbose –interruptible 3 ; thenset timeout=10fifi### END /etc/grub.d/30_os-prober ###### BEGIN /etc/grub.d/10_linux ###
    menuentry “Ubuntu, Linux 2.6.31-14-generic” {
    recordfail=1
    if [ -n ${have_grubenv} ]; then save_env recordfail; fi
    set quiet=1
    insmod ext2
    set root=(hd0,6)
    search –no-floppy –fs-uuid –set 040508ff-fec7-4c66-ba64-a09f8abe8059
    linux /boot/vmlinuz-2.6.31-14-generic root=UUID=040508ff-fec7-4c66-ba64-a09f8abe8059 ro   quiet splash
    initrd /boot/initrd.img-2.6.31-14-generic
    }
    menuentry “Ubuntu, Linux 2.6.31-14-generic (recovery mode)” {
    recordfail=1
    if [ -n ${have_grubenv} ]; then save_env recordfail; fi
    insmod ext2
    set root=(hd0,6)
    search –no-floppy –fs-uuid –set 040508ff-fec7-4c66-ba64-a09f8abe8059
    linux /boot/vmlinuz-2.6.31-14-generic root=UUID=040508ff-fec7-4c66-ba64-a09f8abe8059 ro single
    initrd /boot/initrd.img-2.6.31-14-generic
    }
    ### END /etc/grub.d/10_linux ###
    ### BEGIN /etc/grub.d/20_memtest86+ ###
    menuentry “Memory test (memtest86+)” {
    linux16 /boot/memtest86+.bin
    }
    menuentry “Memory test (memtest86+, serial console 115200)” {
    linux16 /boot/memtest86+.bin console=ttyS0,115200n8
    }
    ### END /etc/grub.d/20_memtest86+ ###
    ### BEGIN /etc/grub.d/30_os-prober ###
    menuentry “Microsoft Windows XP Home Edition (on /dev/sda1)” {
    insmod ntfs
    set root=(hd0,1)
    search –no-floppy –fs-uuid –set 5c108a1c1089fd70
    drivemap -s (hd0) ${root}
    chainloader +1
    }
    if keystatus; then
    if keystatus –shift; then
    set timeout=-1
    else
    set timeout=10
    fi
    else
    if sleep$verbose –interruptible 3 ; then
    set timeout=10
    fi
    fi
    ### END /etc/grub.d/30_os-prober ###
    我 的第五个启动项是menuentry “Microsoft Windows XP Home Edition (on /dev/sda1)”,我要它默认是以xp启动,所以修改为set default=”4″。(hd0,1)表示第一块硬盘的第一个分区,我的Linux在(hd0,6)。
    当然,你也可以把你需要默认启动的系统放到最前面,那么就还是set default=0
    2、set timeout=10
    if [ ${recordfail} = 1 ]; then
    set timeout=-1
    else
    set timeout=10
    fi
    这里停留在grub选择系统界面的时间就是10秒,即set timeout=10。
    有时候我并不想等待这么久,我直接启动xp,需要Ubuntu时才按几下Shift键进入grub选择系统界面。可以添加如下代码:
    if keystatus; then
    if keystatus –shift; then
    set timeout=-1
    else
    set timeout=10
    fi
    else
    if sleep$verbose –interruptible 3 ; then
    set timeout=10
    fi
    fi

    三、其他详细配置说明

    请点击此处下载grub2基础教程-修订版.pdf

    四、我的grub.cfg文件

    安装了xp和Ubuntu,默认启动xp,在电脑启动grub时,按Shift键进入系统选择界面。

    #

    # DO NOT EDIT THIS FILE
    #
    # It is automatically generated by /usr/sbin/grub-mkconfig using templates
    # from /etc/grub.d and settings from /etc/default/grub
    #
    ### BEGIN /etc/grub.d/00_header ###
    if [ -s /boot/grub/grubenv ]; then
    have_grubenv=true
    load_env
    fi
    set default=”4″
    if [ ${prev_saved_entry} ]; then
    saved_entry=${prev_saved_entry}
    save_env saved_entry
    prev_saved_entry=
    save_env prev_saved_entry
    fi
    insmod ext2
    set root=(hd0,6)
    search –no-floppy –fs-uuid –set 040508ff-fec7-4c66-ba64-a09f8abe8059
    if loadfont /usr/share/grub/unicode.pf2 ; then
    set gfxmode=640×480
    insmod gfxterm
    insmod vbe
    if terminal_output gfxterm ; then true ; else
    # For backward compatibility with versions of terminal.mod that don’t
    # understand terminal_output
    terminal gfxterm
    fi
    fi
    if [ ${recordfail} = 1 ]; then
    set timeout=-1
    else
    set timeout=10
    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/white
    ### END /etc/grub.d/05_debian_theme ###
    ### BEGIN /etc/grub.d/10_linux ###
    menuentry “Ubuntu, Linux 2.6.31-14-generic” {
    recordfail=1
    if [ -n ${have_grubenv} ]; then save_env recordfail; fi
    set quiet=1
    insmod ext2
    set root=(hd0,6)
    search –no-floppy –fs-uuid –set 040508ff-fec7-4c66-ba64-a09f8abe8059
    linux /boot/vmlinuz-2.6.31-14-generic root=UUID=040508ff-fec7-4c66-ba64-a09f8abe8059 ro   quiet splash
    initrd /boot/initrd.img-2.6.31-14-generic
    }
    menuentry “Ubuntu, Linux 2.6.31-14-generic (recovery mode)” {
    recordfail=1
    if [ -n ${have_grubenv} ]; then save_env recordfail; fi
    insmod ext2
    set root=(hd0,6)
    search –no-floppy –fs-uuid –set 040508ff-fec7-4c66-ba64-a09f8abe8059
    linux /boot/vmlinuz-2.6.31-14-generic root=UUID=040508ff-fec7-4c66-ba64-a09f8abe8059 ro single
    initrd /boot/initrd.img-2.6.31-14-generic
    }
    ### END /etc/grub.d/10_linux ###
    ### BEGIN /etc/grub.d/20_memtest86+ ###
    menuentry “Memory test (memtest86+)” {
    linux16 /boot/memtest86+.bin
    }
    menuentry “Memory test (memtest86+, serial console 115200)” {
    linux16 /boot/memtest86+.bin console=ttyS0,115200n8
    }
    ### END /etc/grub.d/20_memtest86+ ###
    ### BEGIN /etc/grub.d/30_os-prober ###
    menuentry “Microsoft Windows XP Home Edition (on /dev/sda1)” {
    insmod ntfs
    set root=(hd0,1)
    search –no-floppy –fs-uuid –set 5c108a1c1089fd70
    drivemap -s (hd0) ${root}
    chainloader +1
    }
    if keystatus; then
    if keystatus –shift; then
    set timeout=-1
    else
    set timeout=10
    fi
    else
    if sleep$verbose –interruptible 3 ; then
    set timeout=10
    fi
    fi
    ### 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 ###
    一、grub.cfg详解(红色为说明)
    说明:grub.cfg默认为只读,需要个性化配置文件的,建议不要直接修改grub.cfg,请参考链接的pdf文档和google文档。

  • 相关阅读:
    LeetCode 10 Regular Expression Matching(字符串匹配)
    LeetCode 9 Palindrome Number(回文数字判断)
    操作系统期末复习资料分享
    计算机网络那些事~(二)
    seL4之hello-3征途
    计算机网络那些事~(一)
    seL4之hello-2旅途(完成更新)
    博客声明
    seL4环境配置
    Canvas链式操作
  • 原文地址:https://www.cnblogs.com/AI-Algorithms/p/3586020.html
Copyright © 2020-2023  润新知