grub解析

GRUB(Boot Loader):

grub: GRand Unified Bootloader

grub 0.x: grub legacy

grub 1.x: grub2

grub legacy:

stage1: mbr

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

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

配置文件:/boot/grub/grub.conf <-- /etc/grub.conf

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

功用:

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

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

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

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

允许传递参数给内核

可隐藏此菜单

(3) 为菜单提供了保护机制

为编辑菜单进行认证

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

如何识别设备:(hd#,#)

hd#: 磁盘编号,用数字表示;从0开始编号

#: 分区编号,用数字表示; 从0开始编号

(hd0,0)

grub的命令行接口

help: 获取帮助列表

help KEYWORD: 详细帮助信息

find (hd#,#)/PATH/TO/SOMEFILE:

root (hd#,#)

kernel /PATH/TO/KERNEL_FILE: 设定本次启动时用到的内核文件;额外还可以添加许多内核支持使用的cmdline参数;

例如:init=/path/to/init, selinux=0

initrd /PATH/TO/INITRAMFS_FILE: 设定为选定的内核提供额外文件的ramdisk;

boot: 引导启动选定的内核;

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

grub> root (hd#,#)

grub> kernel /vmlinuz-VERSION-RELEASE ro root=/dev/DEVICE

grub> initrd /initramfs-VERSION-RELEASE.img

grub> boot

配置文件:/boot/grub/grub.conf

配置项:

default=#: 设定默认启动的菜单项;落单项(title)编号从0开始;

timeout=#:指定菜单项等待选项选择的时长;

splashimage=(hd#,#)/PATH/TO/XPM_PIC_FILE:指明菜单背景图片文件路径;

hiddenmenu:隐藏菜单;

password [--md5] STRING: 菜单编辑认证;

title TITLE:定义菜单项“标题”, 可出现多次;

root (hd#,#):grub查找stage2及kernel文件所在设备分区;为grub的“根”;

kernel /PATH/TO/VMLINUZ_FILE [PARAMETERS]:启动的内核

initrd /PATH/TO/INITRAMFS_FILE: 内核匹配的ramfs文件;

password [--md5] STRING: 启动选定的内核或操作系统时进行认证;

grub-md5-crypt命令

进入单用户模式:

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

(2) 在选定的kernel后附加

1, s, S或single都可以;

(3) 在kernel所在行,键入“b”命令;

安装grub:

(1) grub-install

grub-install --root-directory=ROOT /dev/DISK

(2) grub

grub> root (hd#,#)

grub> setup (hd#)

时间: 04-22

grub解析的相关文章

x86下SylixOS引导过程分析

1. 上电启动流程 当x86电源打开后,CPU将自动进入实模式,并从地址0xFFFF0(CS:0xFFFF,IP:0x0)开始自动运行程序代码,此地址一般是BIOS的地址.BIOS启动后,将启动设备的主引导记录.主引导记录位于第0磁道的第1个扇区,它的大小是512字节,里面存放了用汇编语言编写的预启动信息.分区表信息.魔数0x55AA等.BIOS将主引导记录读入内存绝对地址0x7C00处,并跳转到此地址运行.在SylixOS平台中,事实上被拷贝到物理内存0x7C00处的内容就是GRUB. 2.

ubuntu16.04桌面中福在线源码出售版开机进入命令行模式

我们大中福在线源码出售论坛:haozbbs.com Q1446595067部分个人的linux系统计算机都是使用图形界面模式的操作,有些时候我们也可以在纯命令行模式下进行操作,这里给大家介绍一个在开机启动的时候进入命令行的两种方法. ubuntu 16.04LTS系统 方法/步骤系统启动后,在BIOS引导界面按"ESC"键进入选择菜单,选择第一个"Ubuntu",按"e"键进入编辑模式. ubuntu16.04桌面版开机进入命令行模式在出现的编辑

grub.conf解析

一.grub简介系统启动引导管理器,是在计算机启动后运行的第一个程序,他是用来负责加载.传输控制到操作系统的内核,一旦把内核挂载,系统引导管理器的任务就算完成退出,系统引导的其它部份,比如系统的初始化及启动过程则完全由内核来控制完成.二.grub的配置文件grub.conf[[email protected] ~]# cat /boot/grub/grub.conf # grub.conf generated by anaconda # # Note that you do not have t

Centos 6 –grub legacy及grub修复

一.CentOS 6 grub legacy: 1.启动流程: POST –> Boot Sequence(BIOS) –> Boot Loader –>Kernel(ramdisk) –> rootfs –> switchroot –>             /sbin/init –>(/etc/inittab, /etc/init/*.conf) –> 设定默认运行级别 –> 系统初始化脚本rc.sysinit –> 关闭或启动对应级别的服

Boot loader: Grub进阶[转]

Boot loader: Grub进阶 本文记录grub的一些进阶配置 关於核心功能当中的 vga 配置 事实上,你的 tty1~tty6 除了 80x24 的解析度外,还能够有其他解析度的支持喔!但前提之下是你的核心必须支持 FRAMEBUFFER_CONSOLE 这个核心功能选项才行.如何确定有没有支持呢?你可以查阅 /boot/config-2.6.18-92.el5 这个文件,然后这样搜寻: [[email protected] ~]# grep 'FRAMEBUFFER_CONSOLE

马哥教育第十三天系统启动流程、grub、模块、bash函数

kernel的功能:进程管理.文件系统.硬件驱动.内存管理.安全功能:SELinux.网络子系统,标准库:glibc 进程是运行在cpu上但用户进程受控于内核,用户进程需要完成特权指令时将触发软中断由用户模式转为内核模式,由内核代为执行特权指令并把结果返回给用户进程. Linux为单内核体系结构但是它支持模块化,模块还可以动态装载或卸载,Linux内核:核心 + 外围模块 核心:/boot/vmlinux-VERSION-release 模块:/lib/modules/VERSION-relea

解析Centos启动过程

第一步---加载BIOS 打开电源,系统会首先加载BIOS,BIOS会运行上电自检程序,对电脑的硬件设施进行完全彻底的检验和测试,检测完成后通过BIOS获取到与CPU.内存.硬盘.设备启动顺序等相关的信息. 第二步---读取MBR记录 硬盘上的0磁道的第一个扇区既是MBR,大小为512字节,存放着预启动信息.分区表信息,当系统读取到MBR记录,就会把MBR记录复制到0x7c00地址所在的物理内存之中,成为boot loader(在centos中就是grub). 第三步---加载boot load

GRUB与Linux系统修复(第二版)

GRUB配置解析 配置文件保存在 /boot/grub/grub.conf[/boot分区最好应该单独划分出来] 软链接保存在 /etc/grub.conf 1.grub.conf文件分析 default #缺省启动系统 timeout #缺省等待时间,单位秒s splashimage #定义GRUB启动背景图片 #(hd0,0) #指定/boot所在的分区 -> 第一块硬盘,第一个分区 hiddenmenu #隐藏菜单 title CentOS (2.6.32-358.el6.i686) #菜

grub命令及小系统的制作

在计算机启动的时候,并不会像人一样直接就知道该运行操作系统,而是需要一个程序来进行引导,告诉计算机该去如何的启动系统.这个程序可以是grub程序,或者其他的程序也可以,在这里简单的介绍grub程序. grub程序分为三个部分,分别是stage1.stage1_5和stage2.其中stage1的作用是写入mbr中存储的bootloader程序,将stage1_5载入内存中,并执行,然后接下来执行的就是stage1_5了,它位于mbr之后的扇区,通过提供基本文件系统驱动让stage1中的bootl