一.版本#####

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. dockerfile编辑时常用的sed命令,用来修改配置文件。

    sed 替换部分文件内容 随着使用,会逐步更新. #替换整行sed '/mengqingbo/c lanqiuxiaozi="FALSE"' fileName #匹配行前加sed ...

  2. 自定义Hook

    在 class RegForm(form.Form) 中 1.验证两次密码是否相同 from django.core.exceptions import ValidationError def cle ...

  3. 策略模式在ThreadpoolExecutor中的应用

    偶然读到ThreadpoolExecutor的源码,发现里面使用到了策略模式,抓出来和大家分享下: 感兴趣的朋友们可以读读 ThreadPoolExecutor的源码: public void set ...

  4. java基础知识—运算符和基本选择结构

    1.保存真假,使用boolean变量 boolean有两个值:true 真 false 假 2.从控制台接受输入信息,通过创建扫描器 Sacnner input=new Sacnner(System. ...

  5. 对yolo与fasterrcnn anchors的理解

    yolo: 通过聚类产生5个不同比例的anchors.最后一个特征层的输出(x,y,w,h)与这些不同比列的相乘,将网络层的输出转化为bbox(小尺寸),再通过(H,W)还原成原图大小.一共有5个bb ...

  6. Vue对Html标签应用条件渲染

    我的需求 在flag属性为true时 渲染标签的html为 <input :data-val-required="不能为空"/> 在flag属性为false时 渲染标签 ...

  7. 使用SSD检测框架训练自己的数据

    数据集做好后,训练程序为/examples/ssd/ssd_pascal.py,运行之前,我们需要修改相关路径代码,主要是训练路径的修改和关于自己数据集参数的一些修改. cd /examples/ss ...

  8. 日积月累——java虚拟机内存区域的划分

    看了博主“一杯凉茶”一篇对java内存详解的文章后,虚心学习,并记录下来 ,以便日后再来温故. 一,运行时数据区 1.程序计数器 当前线程所执行的字节码行号指示器,字节码解释器工作依赖计数器控制完成, ...

  9. django遇到的问题-系列1

    django开发中遇到的问题以及解决方法: 1.You called this URL via POST, but the URL doesn't end in a slash and you hav ...

  10. 关于linux 共享内存查看已经完整释放

    完整删除共享内存脚本 #!/bin/sh function rmshm() { zero_status=`ipcs -m|awk '{print $6}'|grep -w 0|wc -l` if [ ...