系统引导器GRUB

理解/boot/grub/grub.conf

     1	# grub.conf generated by anaconda
2 #
3 # Note that you do not have to rerun grub after making changes to this file
4 # NOTICE: You have a /boot partition. This means that
5 # all kernel and initrd paths are relative to /boot/, eg.
6 # root (hd0,0)
7 # kernel /vmlinuz-version ro root=/dev/mapper/VolGroup-lv_root
8 # initrd /initrd-[generic-]version.img
9 #boot=/dev/vda
10 default=0 #设置默认启动大一个启动项
11 timeout=5 #设置GRUB菜单的启动延时为5秒
12 splashimage=(hd0,0)/grub/splash.xpm.gz #指定启动菜单的背景图像位于/boot/grub/splash.xpm.gz
13 hiddenmenu #设置GRUB菜单为隐藏
14 title Red Hat Enterprise Linux (2.6.32-431.el6.x86_64) #title命令开始一个菜单项的配置
15 root (hd0,0) #设置GRUB的根分区(即/boot分区)
16 kernel /vmlinuz-2.6.32-431.el6.x86_64 ro root=/dev/mapper/VolGroup-lv_root rd_NO_LUKS LANG=en_US.UTF-8 rd_NO_MD rd_LVM_LV=VolGroup/lv_swap SYSFONT=latarcyrheb-sun16 crashkernel=auto rd_LVM_LV=VolGroup/lv_root KEYBOARDTYPE=pc KEYTABLE=us rd_NO_DM rhgb quiet #设置Linux的内核及参数
17 initrd /initramfs-2.6.32-431.el6.x86_64.img #设置初始RAM磁盘镜像文件
文中的内容大概可以分为三个部分:
  • 注释行:以#开头,起说明作用,放在文件首部
  • 全局配置行:作用于整个GRUB运行环境(包括所有菜单项),为于文件注释行之后title命令区域前
  • 菜单项配置行:配置文件中可以有多个菜单项目配置,用于多系统启动的配置

grub.conf的选项如下所示:


default= : 告诉GRUB在超时后默认使用那个映像进行引导。这个选项和给文件中的某个映像关联。0表示第一个,1就表示第二个,以此类推。如果没有指定该选项,那GRUB将引导文件中指定的第一个title。

timeout= : 在自动引导os之前引导提示会等待多少秒。

splashimage= : 指定GRUB GUI背景图的图片所在位置。

password : 指定了使用MD5加密的密码,用于访问GRUB的交互式引导选项。但是要注意的时是,该密码不会阻止用户选择已经定义了的OS,如果想要提高安全性,还是要为每个title去设置它。

password的设置方法 : 运行GRUB附带的grub-md5-crypt工具(root身份)。根据提示输入一个希望加密的密码,然后会输出一个使用MD5加密的密码。将密码复制到grub.conf文件中的password-md5之后,一定要在同一行上。通常这个密码可以设置为root密码,毕竟此文件无论如何也是只有root才能读取。

title : 定义系统引导项,同时title后面的名称即为GRUB菜单项的名称。

password : 同上个password,只是此密码是用于该OS引导的。如果计划与其他用户共享此机器,那么不要在此使用root密码。

root : 告诉GRUB OS文件系统的实际位置。

kernel : root目录中默认引导映像的名称。

initrd : root目录中默认initrd映像的名称。

rootnoverify : 告诉GRUB不要尝试去改变OS的root。这样即使文件系统不被GRUB所支持,也不会出现引导错误。

chainloader +1 : 告诉GRUB使用一个链式加载程序来加载这个OS,加载Windows时需要这个选项。


GRUB初始引导过程

  GRUB在初始加载的时候,从MBR加载第一阶段程序。加载后,进入第一阶段和第二阶段的中间阶段,这个中间阶段时为了能够对/boot/grup中的GRUB配置文件进行常规的文件系统访问,而不是去访问磁盘块(如果直接访问磁盘的话,就读不到配置文件)。然后进入引导加载程序的第二阶段,GRUB加载grub.conf文件。此时应该就能看到GRUB图形界面了。

  GRUB的图形界面停止超时的计时后,按下 P 键,输入GRUB密码,并获得对GRUB交互式引导选项的完全访问权限。

  • 按下 E 键,在引导之前编辑命令
  使用户为当前选中的OS编辑具体的选项。(在编辑模式下所做的任何修改都不会保存到grub.conf文件中)
  • 按下 A 键,修改内核参数
  • 按下 C 键,获得类似于BASH的命令行界面

系统引导器GRUB的更多相关文章

  1. linux 启动引导器 grub,单用户模式:

    Linux启动引导器 安装linux操作系统的时候就已经将启动引导器安装到硬盘上去了,才能通过硬盘的读取方式启动操作系统. 引导器分为2种: Lilo:功能比较简单,使用比较麻烦,后续发行版中使用gr ...

  2. Linunx系统引导过程及MBR/GRUB故障

    Linunx系统引导过程 系统初始化进程 init进程 Systemd Systemd单元类型 允许级别所对应的systemd目标 修复MBR扇区故障 解决思路 操作 修复GRUB引导故障 解决思路 ...

  3. Linux系统引导过程及排除启动故障

    一.Linux操作系统引导过程二.系统初始化进程1.init进程2.Systemd3.Systemd单元类型三.排除启动类故障[1].修复MBR扇区故障(含实验过程)[2].修复GRUB引导故障●方法 ...

  4. 多系统引导 Grub

    目录 1. 多系统引导程序 1.1 简介 1.2 Grub History 1.3 支持Windows系统下安装的grub版本 1.4多系统引导程序对比: 1.5 相关参考 1.5.1 Grub 2 ...

  5. 修改win8系统中启动管理器的系统引导信息

    最近用某软件做了个启动U盘,软件安装在电脑上,启动盘很快做完了,结果重启电脑的时候发现悲剧,windows启动后会显示出一个系统引导菜单,显示有3秒倒计时但是倒计时结束依然不能自动进入系统.. 然后. ...

  6. 安装grub到U盘分区,实现多系统引导

    目录 1.分区工具及分区类型 1.1 显示分区表和分区信息 1.1.1 fdisk -l 1.1.2 gdisk -l 1.1.3 parted -l 1.2 常见分区类型 1.3 分区样例 1.3. ...

  7. 使用 boot-repair 对 Windows + Ubuntu 双系统引导修复

    问题描述:     由于在windows上进行更新/重装/修改了引导设置以后,windows会“自私”地重写引导,导致Ubuntu系统引导消失而无法选择Ubuntu启动.

  8. 硬盘分区形式(MBR、GPT)、系统引导、文件系统、Inode和Block

    目录 MBR和GPT MBR的局限性 GPT的优势 主分区.扩展分区和逻辑分区 挂接卷 Legacy.UEFI引导和GRUB引导 文件系统(FAT16.32.NTFS和EXT2.3.4.Xfs.Tmp ...

  9. Win7&Ubuntu12.04 双系统引导问题

    周末的时候手贱,重装系统,导致原来的ubuntu12.04和win7双系统的引导不见了,所以在此进行一下说明,如何修复. 1. win7和ubuntu12.04双系统引导修复 问题描述:    在重装 ...

随机推荐

  1. UWP中使用Composition API实现吸顶(1)

    前几天需要在UWP中实现吸顶,就在网上找了一些文章: 吸顶大法 -- UWP中的工具栏吸顶的实现方式之一 在UWP中页面滑动导航栏置顶 发现前人的实现方式大多是控制ListViewBase的Heade ...

  2. webIDE 第二篇博文

    这是我做webIDE过程中的第二篇博文,之所以隔了这么长时间没更,因为确实是没有啥进度啊,没什么可写的,现在虽然依然没啥进度,但中途遇到很多坑,这些坑还是有记录下来的必要的. 因个人水平问题,可能有的 ...

  3. Java大数据人才应用领域广,就业薪酬高

    互联网创造了大数据应用的规模化环境,大数据应用成功的案例大都是在互联网上发生的, 互联网业务提供了数据,互联网企业开发了处理软件,互联网企业的创新带来了大数据应用 的活跃,没有互联网便没有今天的大数据 ...

  4. python教程6-3:排序

    (a).输入一串数字.并从大到小排列. (b).跟a一样,不过要用字典序从大到小排列. python35 PaiXu_6_3.py PaiXu_6_3.py #coding=utf-8 import ...

  5. Uva 679 Dropping Ballls 二叉树的编号

    这个程序常规处理起来数据量很大,I可以高达2^D-1 /* ....... */ 里面的代码块据此避免了开太大的数组 做太多的循环 #include<cstdio> #include< ...

  6. 1059. C语言竞赛

    C 语言竞赛是浙江大学计算机学院主持的一个欢乐的竞赛.既然竞赛主旨是为了好玩,颁奖规则也就制定得很滑稽: 冠军将赢得一份"神秘大奖"(比如很巨大的一本学生研究论文集--). 排名为 ...

  7. Sublime text 3搭建Python开发环境

    前辈们说的已经很多了,但是自己依旧会出现各种问题,写篇日志记录这次的搭建经验. 1.安装python,我用的是python3.5,可以上官网下载 2.安装Sublime text 3,可以上官网下载 ...

  8. Java中容器的两种初始化方式比较

    List,Set,Map的两种初始化赋值方式  List List<Integer> list2 = new ArrayList<Integer>(); for (int i= ...

  9. NYOJ 108 士兵杀敌1(树状数组)

    首先,要先讲讲树状数组: 树状数组(Binary Indexed Tree(BIT), Fenwick Tree)是一个查询和修改复杂度都为log(n)的数据结构.主要用于查询任意两位之间的所有元素之 ...

  10. bootstrap模态框远程加载网页的正确处理方式

    bootstrap模态框远程加载网页的方法 在bootsrap模态框文档里给出了这个方法: 使用链接模式 <a data-toggle="modal" href=" ...