grub2配置

环境:ubuntu14.04

默认配置文件路径/etc/default/grub

例子:

GRUB_DEFAULT=0 #默认启动那一个
#GRUB_HIDDEN_TIMEOUT=15 #选择菜单是否隐藏,注释掉就直接显示了
GRUB_HIDDEN_TIMEOUT_QUIET=true
GRUB_TIMEOUT=10
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
GRUB_CMDLINE_LINUX=""

更新grup调用

[email protected]:~$ sudo update-grub
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-3.16.0-031600-generic
Found initrd image: /boot/initrd.img-3.16.0-031600-generic
Found linux image: /boot/vmlinuz-3.13.0-43-generic
Found initrd image: /boot/initrd.img-3.13.0-43-generic
Found linux image: /boot/vmlinuz-3.13.0-41-generic
Found initrd image: /boot/initrd.img-3.13.0-41-generic
Found linux image: /boot/vmlinuz-3.13.0-24-generic
Found initrd image: /boot/initrd.img-3.13.0-24-generic
Found memtest86+ image: /boot/memtest86+.elf
Found memtest86+ image: /boot/memtest86+.bin
done

然后如上所示update-grup会在系统里找编译好的内核,试过放在根目录/也能找到。

update-grup找完内核后,开始更新文件/boot/grub/grub.cfg

这个文件里有开机启动菜单入口信息,如下:

menuentry ‘Ubuntu‘ --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option ‘gnulinux-simple-e96bea5c-cd18-4b7d-b4a6-1f7ad59b6668‘ {
	recordfail
	load_video
	gfxmode $linux_gfx_mode
	insmod gzio
	insmod part_msdos
	insmod ext2
	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  e96bea5c-cd18-4b7d-b4a6-1f7ad59b6668
	else
	  search --no-floppy --fs-uuid --set=root e96bea5c-cd18-4b7d-b4a6-1f7ad59b6668
	fi
	linux	/boot/vmlinuz-3.16.0-031600-generic root=UUID=e96bea5c-cd18-4b7d-b4a6-1f7ad59b6668 ro  quiet splash $vt_handoff
	initrd	/boot/initrd.img-3.16.0-031600-generic
}
submenu ‘Advanced options for Ubuntu‘ $menuentry_id_option ‘gnulinux-advanced-e96bea5c-cd18-4b7d-b4a6-1f7ad59b6668‘ {
	menuentry ‘Ubuntu, with Linux 3.16.0-031600-generic‘ --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option ‘gnulinux-3.16.0-031600-generic-advanced-e96bea5c-cd18-4b7d-b4a6-1f7ad59b6668‘ {
		recordfail
		load_video
		gfxmode $linux_gfx_mode
		insmod gzio
		insmod part_msdos
		insmod ext2
		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  e96bea5c-cd18-4b7d-b4a6-1f7ad59b6668
		else
		  search --no-floppy --fs-uuid --set=root e96bea5c-cd18-4b7d-b4a6-1f7ad59b6668
		fi
		echo	‘Loading Linux 3.16.0-031600-generic ...‘
		linux	/boot/vmlinuz-3.16.0-031600-generic root=UUID=e96bea5c-cd18-4b7d-b4a6-1f7ad59b6668 ro  quiet splash $vt_handoff
		echo	‘Loading initial ramdisk ...‘
		initrd	/boot/initrd.img-3.16.0-031600-generic
	}
	menuentry ‘Ubuntu, with Linux 3.16.0-031600-generic (recovery mode)‘ --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option ‘gnulinux-3.16.0-031600-generic-recovery-e96bea5c-cd18-4b7d-b4a6-1f7ad59b6668‘ {
		recordfail
		load_video
		insmod gzio
		insmod part_msdos
		insmod ext2
		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  e96bea5c-cd18-4b7d-b4a6-1f7ad59b6668
		else
		  search --no-floppy --fs-uuid --set=root e96bea5c-cd18-4b7d-b4a6-1f7ad59b6668
		fi
		echo	‘Loading Linux 3.16.0-031600-generic ...‘
		linux	/boot/vmlinuz-3.16.0-031600-generic root=UUID=e96bea5c-cd18-4b7d-b4a6-1f7ad59b6668 ro recovery nomodeset 
		echo	‘Loading initial ramdisk ...‘
		initrd	/boot/initrd.img-3.16.0-031600-generic
	}
	menuentry ‘Ubuntu, with Linux 3.13.0-43-generic‘ --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option ‘gnulinux-3.13.0-43-generic-advanced-e96bea5c-cd18-4b7d-b4a6-1f7ad59b6668‘ {
		recordfail
		load_video
		gfxmode $linux_gfx_mode
		insmod gzio
		insmod part_msdos
		insmod ext2
		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  e96bea5c-cd18-4b7d-b4a6-1f7ad59b6668
		else
		  search --no-floppy --fs-uuid --set=root e96bea5c-cd18-4b7d-b4a6-1f7ad59b6668
		fi
		echo	‘Loading Linux 3.13.0-43-generic ...‘
		linux	/boot/vmlinuz-3.13.0-43-generic root=UUID=e96bea5c-cd18-4b7d-b4a6-1f7ad59b6668 ro  quiet splash $vt_handoff
		echo	‘Loading initial ramdisk ...‘
		initrd	/boot/initrd.img-3.13.0-43-generic
	}
	menuentry ‘Ubuntu, with Linux 3.13.0-43-generic (recovery mode)‘ --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option ‘gnulinux-3.13.0-43-generic-recovery-e96bea5c-cd18-4b7d-b4a6-1f7ad59b6668‘ {
		recordfail
		load_video
		insmod gzio
		insmod part_msdos
		insmod ext2
		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  e96bea5c-cd18-4b7d-b4a6-1f7ad59b6668
		else
		  search --no-floppy --fs-uuid --set=root e96bea5c-cd18-4b7d-b4a6-1f7ad59b6668
		fi
		echo	‘Loading Linux 3.13.0-43-generic ...‘
		linux	/boot/vmlinuz-3.13.0-43-generic root=UUID=e96bea5c-cd18-4b7d-b4a6-1f7ad59b6668 ro recovery nomodeset 
		echo	‘Loading initial ramdisk ...‘
		initrd	/boot/initrd.img-3.13.0-43-generic
	}
	menuentry ‘Ubuntu, with Linux 3.13.0-41-generic‘ --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option ‘gnulinux-3.13.0-41-generic-advanced-e96bea5c-cd18-4b7d-b4a6-1f7ad59b6668‘ {
		recordfail
		load_video
		gfxmode $linux_gfx_mode
		insmod gzio
		insmod part_msdos
		insmod ext2
		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  e96bea5c-cd18-4b7d-b4a6-1f7ad59b6668
		else
		  search --no-floppy --fs-uuid --set=root e96bea5c-cd18-4b7d-b4a6-1f7ad59b6668
		fi
		echo	‘Loading Linux 3.13.0-41-generic ...‘
		linux	/boot/vmlinuz-3.13.0-41-generic root=UUID=e96bea5c-cd18-4b7d-b4a6-1f7ad59b6668 ro  quiet splash $vt_handoff
		echo	‘Loading initial ramdisk ...‘
		initrd	/boot/initrd.img-3.13.0-41-generic
	}
	menuentry ‘Ubuntu, with Linux 3.13.0-41-generic (recovery mode)‘ --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option ‘gnulinux-3.13.0-41-generic-recovery-e96bea5c-cd18-4b7d-b4a6-1f7ad59b6668‘ {
		recordfail
		load_video
		insmod gzio
		insmod part_msdos
		insmod ext2
		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  e96bea5c-cd18-4b7d-b4a6-1f7ad59b6668
		else
		  search --no-floppy --fs-uuid --set=root e96bea5c-cd18-4b7d-b4a6-1f7ad59b6668
		fi
		echo	‘Loading Linux 3.13.0-41-generic ...‘
		linux	/boot/vmlinuz-3.13.0-41-generic root=UUID=e96bea5c-cd18-4b7d-b4a6-1f7ad59b6668 ro recovery nomodeset 
		echo	‘Loading initial ramdisk ...‘
		initrd	/boot/initrd.img-3.13.0-41-generic
	}
	menuentry ‘Ubuntu, with Linux 3.13.0-24-generic‘ --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option ‘gnulinux-3.13.0-24-generic-advanced-e96bea5c-cd18-4b7d-b4a6-1f7ad59b6668‘ {
		recordfail
		load_video
		gfxmode $linux_gfx_mode
		insmod gzio
		insmod part_msdos
		insmod ext2
		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  e96bea5c-cd18-4b7d-b4a6-1f7ad59b6668
		else
		  search --no-floppy --fs-uuid --set=root e96bea5c-cd18-4b7d-b4a6-1f7ad59b6668
		fi
		echo	‘Loading Linux 3.13.0-24-generic ...‘
		linux	/boot/vmlinuz-3.13.0-24-generic root=UUID=e96bea5c-cd18-4b7d-b4a6-1f7ad59b6668 ro  quiet splash $vt_handoff
		echo	‘Loading initial ramdisk ...‘
		initrd	/boot/initrd.img-3.13.0-24-generic
	}
	menuentry ‘Ubuntu, with Linux 3.13.0-24-generic (recovery mode)‘ --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option ‘gnulinux-3.13.0-24-generic-recovery-e96bea5c-cd18-4b7d-b4a6-1f7ad59b6668‘ {
		recordfail
		load_video
		insmod gzio
		insmod part_msdos
		insmod ext2
		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  e96bea5c-cd18-4b7d-b4a6-1f7ad59b6668
		else
		  search --no-floppy --fs-uuid --set=root e96bea5c-cd18-4b7d-b4a6-1f7ad59b6668
		fi
		echo	‘Loading Linux 3.13.0-24-generic ...‘
		linux	/boot/vmlinuz-3.13.0-24-generic root=UUID=e96bea5c-cd18-4b7d-b4a6-1f7ad59b6668 ro recovery nomodeset 
		echo	‘Loading initial ramdisk ...‘
		initrd	/boot/initrd.img-3.13.0-24-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,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  e96bea5c-cd18-4b7d-b4a6-1f7ad59b6668
	else
	  search --no-floppy --fs-uuid --set=root e96bea5c-cd18-4b7d-b4a6-1f7ad59b6668
	fi
	knetbsd	/boot/memtest86+.elf
}
menuentry ‘Memory test (memtest86+, serial console 115200)‘ {
	insmod part_msdos
	insmod ext2
	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  e96bea5c-cd18-4b7d-b4a6-1f7ad59b6668
	else
	  search --no-floppy --fs-uuid --set=root e96bea5c-cd18-4b7d-b4a6-1f7ad59b6668
	fi
	linux16	/boot/memtest86+.bin console=ttyS0,115200n8
}

可以看到地一个menuentry有submenu ‘Advanced options for Ubuntu‘,submenu里边嵌套menuentry(结构一样)

之前提到的配置文件/etc/default/grub的DEFAULT_ENTRY指的是第一层的menuentry而不是submenu的。在上面的例子如果DEFAULT_ENTRY=1就表示默认启动menuentry ‘Memory test (memtest86+)。

在submenu里看到有很多不同内核,update-grub会选能检测到的版本最新的内核作为默认启动项目,如果要换内核启动可以:

  1. 开机时手工选择submenu的启动项。
  2. 让update-grub选择为默认内核,可以把不用的高版本内核备份起来(update-grub搜索的时候就找不到该内核),或者可能有命令选择内核(暂时没找到)。
时间: 2024-10-13 04:00:54

grub2配置的相关文章

grub2配置显示系统选择菜单(ubuntu 14.04)

背景: 有一次遇到过安装的新的内核后,ubuntu并没有显示选择内核的grub菜单,按shift键才会弹出,有时候shift按得不准就又进入了不是想进入的那个系统. 配置方法: sudo vim /etc/default/grub 注释掉GRUB_HIDDEN_TIMEOUT GRUB_HIDDEN_TIMEOUT_QUIET两行. sudo update-grub 更详细的grub参数说明参考: How do I set the grub timeout and the grub defaul

CentOS7中网络配置详解

一.前言 本来准备写一些网络配置工具的使用,后来想了想(其实还是为了偷懒),网上关于nmcli工具的使用文章不多,所以写一下CentOS7中的nmcli工具的简单使用和CentOS7中一些网络属性配置的相关变化. 二.CentOS7网络方面的变化 很多朋友刚接触到CentOS7的时候最不习惯的就是它的网卡命名方式了,不过不习惯终究还是得去了解它,毕竟一个运维人员要时刻保持先进性,我们一起来了解CentOS7中网卡的命名方式吧! 网卡命名机制 如果 Firmware或BIOS主板上集成设备的索引信

Ubuntu 14.04 grub2 温馨提示

昨天win7在...的基础上,刚装几天发布Ubuntu14.04.Ubuntu14.04还是很不错的.但是,今天想去下一个Win7,但没有发现平时的开机显示grub2选项,直接进了Ubuntu! 我感觉grub2配置出问题了,于是查看了grub2的配置.果然仅仅有Ubuntu一项.那开机不显示grub2选项就不奇怪了.由于就一项,还显示选项干什么? 本想手动加入,可是想到 update-grub 也许能够自己主动加入.于是打开终端执行: sudo update-grub 呵呵!结果中出现了"Fo

grub和grub2相关概念

一.GRUB(Boot loader) 二.Grub的命令行接口 三./etc/grub/grub 四.进入单用户模式 五.Grub损坏,修复 六.救援模式 七.ramdisk文件的管理和initrd 八.grub2详解 一.GRUB(Boot loader)    Grub:GRand Unified Bootloader        Grub 0.x:grub legacy        Grub 1.x:grub2    grub legacy:        stage:mbr    

SlackWare安装

 Keep It Simple Stupid 01.下载 slackware: http://www.slackware.com/ 中科大:    http://mirrors.ustc.edu.cn/slackware 02.安装 光盘安装或U盘安装 进去一直回车即可! 分区 fdisk -l fdisk /dev/sda n   ###新建分区 t   ###修改分区号   82/swap    83/linux 默认分区号 w  ###保存分区,分区完毕一定要保存,不然不生效 p  ###

【转载】简述Linux的启动过程

原文:简述Linux的启动过程 本文将简单介绍一下Linux的启动过程,希望对那些安装Linux的过程中遇到了问题的朋友有些帮助 声明:本人没用过UEFI模式和GPT分区格式,所有关于这两部分的内容都是网络上找的资料,仅供参考. 典型启动顺序 计算机通电后,CPU开始从一个固定的地址加载代码并开始执行,这个地址就是BIOS的驱动程序所在的位置,于是BIOS的驱动开始执行. BIOS驱动首先进行一些自检工作,然后根据配置的启动顺序,依次尝试加载启动程序.比如配置的启动顺序是CD->网卡01->U

解决ubuntu无法调整和保存屏幕亮度的问题

1. 问题发现 ubuntu无法调整屏幕亮度,对笔记本来说很耗电,同时也很刺眼,因为它是默认以最大亮度来工作的. 所谓的调整,方法为下面的其中一种: Fn+左右的快捷键,亮度没有变化 在亮度与锁屏中拉动进度条亮度没有变化 fn调节的是/sys/class/backlight/acpi_video0/brightness文件 而I卡的文件是/sys/class/backlight/intel_backlight/brightness. 2. 什么是i卡? 三种主要品牌显卡: Nvidia , AM

Gentoo(贱兔)Linux安装笔记

Gentoo Linux 安装教程 1.确认连接到互联网,使用net-setup工具配置网络 root# net-setup eth0 2.分区 推荐分区方案: 分区 描述 /dev/sda1 boot引导分区 /dev/sda2 /根分区 /dev/sda3 swap交换分区 Command (m for help):p Disk /dev/sda: 30.0 GB, 30005821440 bytes 240 heads, 63 sectors/track, 3876 cylinders U

radhat7.2 系统引导修复

29.1. 常见问题 在以下情况下可能需要引导至安装程序救援模式: 无法正常引导 Red Hat Enterprise Linux. 遇到了硬件或软件问题,并且要恢复您系统硬盘中的数据. 忘记了 root 密码. 29.1.1. 无法引导至 Red Hat Enterprise Linux. 这个问题通常是由于在安装 Red Hat Enterprise Linux 后安装另一个操作系统引起的.有些操作系统假设您的计算机中没有其他操作系统.它们会覆盖原来含有 GRUB 引导装载程序的主引导记录(