一.版本#####

grub:Grand Unified Bootloader

grub 0.x:grub legacy

grub 1.x:grub2

二、grub legacy#####
三个过程######
  • stage1:安装在mbr
  • stage1_5:存放在mbr之后的扇区
  • stage2:存放在磁盘分区(/boot/grub)
配置文件######

/boot/grub/grub.conf、/etc/grub.conf

功用######

stage2及内核等通常放置于一个基本磁盘分区

  1. 提供菜单、并提供交互式接口

    • e:编辑模式、用于编辑菜单
    • c:命令模式、交互式接口

  2. 加载用户选择的内核或操作系统
    • 允许传递参数给内核
    • 可隐藏此菜单
  3. 为菜单提供保护机制
    • 为编辑菜单进行认证
识别设备######

GRUB不区分IDE硬盘和SCSI硬盘,统一使用hdx来标识。其中x指定BISO硬盘编号,从零开始计数,而且通常计算机的IDE硬盘编号在SCSI硬盘前。Grub使用hd(X,Y)编号来识别计算机中某一硬盘的某一分区。

* 其中括号一定要用英文半角,且hd后逗号均无空格;

*其中hd(X,Y)的X是指计算机中的X块硬盘,编号从0开始,在BIOS中设置引导的第一块硬盘为0,其他的硬盘按照IDE的顺序排列,依次为1,2,3,...

* hd(X,Y)中的Y指的是硬盘中划分出来的第几个分区。编号也是从0开始,其他的分区是1,2,3,,需要注意的是:0,1,2,3,是指硬盘中的主分区,如果是扩展分区,编号将从4开始,一直到最后一个扩展分区。

grub命令行接口######
  • help:获取帮助列表
  • help KEYWORD:详细帮助信息
  • find (hd#,#)/PATH/TO/SOMEFILE:查找
  • kernel /PATH/TO/KERNEL_FILE:设定本次启动时用到的内核文件;额外还可以添加许多内核支持使用的cmdline参数
  • initrd /PATH/TO/INITRAMFS_FILE:设定为选定的内核提供额外文件的ramdisk

    boot:引导启动选定的内核



手动在grub命令行接口启动系统#####

grub>root(hd#,#)grub所在的的根

grub>kernel /vmlinuz-VERSION-RELEASE ro root=/dev/DEVICE 设定本次启动用到的内核文件

grub>initrd /initrafs-VERSION-RELEASE.img

grub>boot 启动

三、查看配置文件/boot/grub/grub.conf#####
default=0     设定默认启动菜单项
timeout=5 菜单项等待选项时间为5s
splashimage=(hd0,0)/grub/splash.xpm.gz 指明菜单背景图片路径为
hiddenmenu 隐藏菜单
title CentOS (2.6.32-358.6.1.el6.x86_64) 定义菜单项
root (hd0,0) grub查找stage2及kernel文件所在设备分区,grub的根
kernel /vmlinuz-2.6.32-358.6.1.el6.x86_64 ro root=/dev/vg_have/lv_root rd_NO_LUKS LANG=en_US.UTF-8 SYSFONT=latarcyrheb-sun16 crashkernel=auto rhgb quiet 启动的内核
initrd /initramfs-2.6.32-358.6.1.el6.x86_64.img 内核匹配的ramfs文件

简述grub启动引导程序配置及命令行接口详解的更多相关文章

  1. grub启动引导程序配置及命令行接口详解

    Grub(GRand Unified Bootloader),统一资源引导器,它的工作是提供一个菜单,允许用户选择要启动的系统或不同的内核版本:把用户选定的内核装载到RAM中的特定空间中,然后解压.展 ...

  2. 『学了就忘』Linux启动引导与修复 — 70、grub启动引导程序的配置文件说明

    目录 1.grub中分区的表示方法 2.grub的配置文件 3.grub的配置文件内容说明 (1)grub的整体设置 (2)CentOS系统的启动设置 1.grub中分区的表示方法 在说grub启动引 ...

  3. CentOS 6.3下Samba服务器的安装与配置方法(图文详解)

    这篇文章主要介绍了CentOS 6.3下Samba服务器的安装与配置方法(图文详解),需要的朋友可以参考下   一.简介  Samba是一个能让Linux系统应用Microsoft网络通讯协议的软件, ...

  4. Eclipse进行C/C++开发——Eclipse+CDT+MinGW的配置与使用详解

    http://hi.baidu.com/ltb6w/item/3a51f11926fda60ce75c361d Eclipse进行C/C++开发——Eclipse+CDT+MinGW的配置与使用详解 ...

  5. OpenVPN下载、安装、配置及使用详解

    OpenVPN下载.安装.配置及使用详解   OpenVPN简介 OpenVPN是一个用于创建虚拟专用网络(Virtual Private Network)加密通道的免费开源软件.使用OpenVPN可 ...

  6. MySql绿色版配置及使用详解

    原文:MySql绿色版配置及使用详解 最近在做项目开发时用到了MySql数据库,在看了一些有关MySql的文章后,很快就上手使用了.在使用的过程中还是出现了一些问题,因为使用的是绿色免安装版的MySq ...

  7. Linux NFS服务器的安装与配置方法(图文详解)

    这篇文章主要介绍了Linux NFS服务器的安装与配置方法(图文详解),需要的朋友可以参考下(http://xb.xcjl0834.com) 一.NFS服务简介 NFS 是Network File S ...

  8. Linux中redis安装配置及使用详解

    Linux中redis安装配置及使用详解 一. Redis基本知识 1.Redis 的数据类型 字符串 , 列表 (lists) , 集合 (sets) , 有序集合 (sorts sets) , 哈 ...

  9. 全网最详细的Windows系统里PLSQL Developer 64bit安装之后的一些配置(图文详解)

    不多说,直接上干货! 注意的是: 本地若没有安装Oracle服务端,Oracle server服务端64位,是远程连接,因此本地配置PLSQL Developer64位. PLSQL Develope ...

随机推荐

  1. Dubbo源码构建

    代码签出 通过以下的这个命令签出最新的项目源码: git clone https://github.com/apache/incubator-dubbo.git dubbo 分支 我们使用 maste ...

  2. 'weinre' 不是内部或外部命令,也不是可运行的程序 或批处理文件。 解决方案

    使用 npm install -g weinre 全局安装 weinre,weinre 安装目录是:C:\Users\Administrator\AppData\Roaming\npm 需要配置环境变 ...

  3. LeetCode 15. 3Sum 16. 3Sum Closest 18. 4Sum

    n数求和,固定n-2个数,最后两个数在连续区间内一左一右根据当前求和与目标值比较移动,如果sum<target,移动较小数,否则,移动较大数 重复数处理: 使i为左至右第一个不重复数:while ...

  4. 手把手教你如何使用Cocos2d Console 进行html5项目发布

    手把手教你如何使用Cocos2d Console 进行html5项目发布   1.首先需要先安装Cocos2d Console运行需要的工具. 详情参见 这篇文章 http://www.cocoach ...

  5. 多线程之 Thread类

    一.多线程第一种方式的实现步骤(继承Thread类) 代码演示: 1.定义MyThread类,继承Thread类 2.重写了里面的run方法,在run方法中定义线程要执行的任务 public clas ...

  6. QSSP软件一些参数的设置(远震波形合成)

    1.time window, sampling interval 这里需要注意的是两者的和必须是2的n次方,可以写成2047 1; 2046 2,或2047.75 0.25,2047.9 0.1等等 ...

  7. json格式字符串用Uncaught SyntaxError: Unexpected token ' Uncaught SyntaxError: Unexpected number

    Unexpected number(index)的错误用的json字符串如 var jsonStr = "{1:'北京note备注信息',2:'上海note备注信息',3:'广东note备注 ...

  8. c++中,如果访问数组越界,程序可能会意外终止(像死循环)

    #include<iostream> using namespace std; ];// int main(){ vis[]=;//访问越界 ; } 程序错误表现:

  9. nginx配置支持http2

    1.简介 nginx 配置支持http2.目前大多数网站都是http1.1(如果你没有特别配置过的话) 一切都是为了访问更快. 2.如何查看自己网站的http版本 最简单的方法就F12啊,我这里是火狐 ...

  10. 精进之路之JMM

    JMM (Java Memory Model) java内存模型 Java内存模型的抽象 Java线程之间的通信由Java内存模型(本文简称为JMM)控制,JMM决定一个线程对共享变量的写入何时对另一 ...