博文三十:Grub legacy

一、简述

    GNU GRUB(GRand Unified Bootloader简称"GRUB")是一个来自GNU项目的多操作系统启动程序。GRUB是多启动规范的实现,它允许用户可以在计算机内同时拥有多个操作系统,并在计算机启动时选择希望运行的操作系统。GRUB可用于选择操作系统分区上的不同内核,也可用于向这些内核传递启动参数。

    GRUB分为两个版本:grub 0.X、grub 1.X

        grub 0.X:grub legacy

        grub 1.X:grub2

    此博文笔者仅对Grub legacy做相关学习的整理。

二、使用

    1.grub legacy阶段

        stage1:加载mbr

        stage1_5:加载mbr之后的扇区,让stage1中的bootloader能识别stage2所在的分区上的文件系统

        stage2:加载磁盘分区(/boot/grub/)

    2.grub legacy配置文件

        CentOS 6:/etc/grub.conf -> ../boot/grub/grub.conf

        CentOS 7:使用的是grub 2,这里不做其它详细介绍,其配置文件为/etc/grub2.cfg -> ../boot/grub2/grub.cfg、/etc/grub.d/、/etc/default/grub

    3.stage2

        3.1)位置

            stage2以及内核等通常位于一个基本磁盘分区。

        3.2)功用
简述详述
提供菜单、提供交互式接口

e:编辑模式,用于编辑菜单

c:命令模式,交互式接口

加载用户选择的内核或操作系统

允许传递参数给内核

此菜单可隐藏

为菜单提供保护机制

为编辑菜单进行认证

为启用内核或操作系统进行认证

# 接口模式下设备的识别
(hd#,#)
hd#:磁盘编号,用数字表示,从0开始编号
#:分区编号,用数字表示,从0开始编号
(hd0,0) :表示第一块磁盘的第一个分区

    4.grub命令行接口

        4.1)命令
help:获取帮助列表
  help KEYWORD:详细帮助信息
find (hd#,#)/PATH/TO/SOMEFILE
root (hd#,#)
kernel /PATH/TO/KERNEL_FILE:设定本次启动时用到的内核文件,额外还可以添加许多内核支持使用的cmdline参数
  例如:init=/path/to/iniy,selinux=0
initrd /PATH/TO/INITRAMFS_FILE:设定为选定的内核提供额外文件的ramdisk
boot:引导启动选定的内核

        4.2)手动grub启动系统
# 案例
grub> root (hd#,#)
grub> kernel /vmlinuz-VERSION-RELEASE ro root=/dev/DEVICE
grub> initrd /initramfs-VERSION-RELEASE.img
grub> boot

    5.grub legacy配置文件

[root@wybaron-host1006 ~]# ll /etc/grub.conf 
lrwxrwxrwx. 1 root root 22 8月  12 21:48 /etc/grub.conf -> ../boot/grub/grub.conf

[root@wybaron-host1006 ~]# cat /etc/grub.conf 
# grub.conf generated by anaconda
#
# Note that you do not have to rerun grub after making changes to this file
# NOTICE:  You have a /boot partition.  This means that
#          all kernel and initrd paths are relative to /boot/, eg.
#          root (hd0,0)
#          kernel /vmlinuz-version ro root=/dev/mapper/vg_wybaronhost1005-lv_root
#          initrd /initrd-[generic-]version.img
#boot=/dev/sda
default=0 # 设定默认启动的菜单项,罗列项(title)编号从0开始
timeout=5 # 指定菜单项等待选项选择的时长
splashimage=(hd0,0)/grub/splash.xpm.gz # 指明菜单背景图片文件路径
hiddenmenu  # 隐藏菜单
password [--md5] STRING # 菜单编辑认证
title CentOS 6 (2.6.32-642.el6.x86_64) # 定义菜单“标题”项,可以出现多次
	root (hd0,0) # grub查找stage2以及kernel文件所在的设备分区,即是grub的“根(root)”
	kernel /PATHTO/VMLINUZ_FILE [PARAMETERS] # 启动的内核
	initrd /initramfs-2.6.32-642.el6.x86_64.img # 内核配置的ramfs文件
    password [--md5] STRING # 启动选定的内核或操作系统时进行认证


# 注:明码密码加密转换命令为“grub-md5-crypt”命令

    6.进入单用户模式

        编辑grub菜单(选定要编辑的title,而后使用“e”命令)

        在选定的kernel后附加“1”、“s”、“S”、“single”都可以

        在kernel所在行,输入“b”命令

    7.grub的安装

# grub-install
  grub-install --root-directory=ROOT /dev/DISK
  案例:grub-install --root-directory=/mnt/ /dev/sdb
# grub
  grub> root (hd#,#)
  grub> setup (hd#)

 

转载于:https://my.oschina.net/comics/blog/2251270

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值