系统启动流程 grub

grub

CentOS 6启动流程:

POST —> Boot Sequence(BIOS) —> Boot Loader —>
Kernel(ramdisk) —> rootfs —> switchroot —> /sbin/init
—>(/etc/inittab, /etc/init/*.conf) —> 设定默认运行级别 —>
系统初始化脚本rc.sysinit —> 关闭或启动对应级别的服务 —> 启动终端

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) 提供启动菜单、并提供交互式接口

a:内核参数
e: 编辑模式,用于编辑菜单
c: 命令模式,交互式接口

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

允许传递参数给内核
可隐藏启动菜单

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

为编辑启动菜单进行认证
为启用内核或操作系统进行认证

grub的命令行接口

help: 获取帮助列表

help KEYWORD: 详细帮助信息

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

root (hd#,#) 设置下一启动设备所在位置(设置grub的根设备)

kernel /PATH/TO/KERNEL_FILE: 设定本次启动时用到的内核文件;额外还可添加许多内核支持使用的命令行参数
   例如:max_loop=100 selinux=0 init=/path/to/init

initrd /PATH/TO/INITRAMFS_FILE: 设定为选定的内核提供额外文件ramdisk(必须与内核完全匹配);

boot: 引导启动选定的内

cat /proc/cmdline  内核参数
内核参数文档:/usr/share/doc/kernel-doc-2.6.32/Documentation/kernel-parameters.txt

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

grub > root (hd#,#) 设置grub根的设备所在位置

(hd#,#)
hd#: 磁盘编号,用数字表示;从0开始编号
#: 分区编号,用数字表示; 从0开始编号
(hd0,0) 第一块硬盘,第一个分区

grub > kernel /vmlinuz-VERSION-RELEASE roroot=/dev/DEVICE 内核文件所在位置
grub > initrd /initramfs-VERSION-RELEASE.img 设置内核的ramdisk文件
grub > boot
系统启动流程 grub

grub配置文件 grub.conf

系统启动流程 grub
系统启动流程 grub

default=# :  设定默认启动的菜单项;落单项(title)编号从0开始(第0个第1个。。。。)
timeout=# : 指定菜单项等待选项等待用户选择的时长
splashimage=(hd#,#)/PATH/TO/XPM_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加密

grub-md5-crypt命令

系统启动流程 grub

系统启动流程 grub

破解root口令:

启动系统时,设置其运行级别1

centos 6 进入单用户模式:

(1) 编辑grub菜单(选定要编辑的title,而后使用e命令);
(2) 在选定的kernel后附加1, s, S或single都可以;
(3) 在kernel所在行,键入“b”命令

系统启动流程 grub
系统启动流程 grub
系统启动流程 grub

centos 7进入单用户模式

系统启动流程 grub

系统启动流程 grub
系统启动流程 grub

以上方法对于centos 6也适用

说白了进入单用户也就是让系统的第一个启动程序不运行init程序,而是运行 /bin/bash

安装grub:

(1) grub-install
   安装grub stage1和stage1_5到/dev/DISK磁盘上,并
   复制GRUB相关文件到 DIR/boot目录下
   grub-install —root-directory=DIR /dev/DISK
   grub-install表示修复grub的各个阶段,此选项表示要指定boot这个目录在哪,如果是 / 的话可以不写

(2) 进入系统自带的 grub 程序 (直接运行grub)
   grub> root (hd#,#)
   grub> setup (hd#)

系统启动流程 grub

系统启动流程 grub

系统启动流程 grub

系统启动流程 grub
系统启动流程 grub
系统启动流程 grub

系统启动流程 grub

原创文章,作者:qzx,如若转载,请注明出处:http://www.178linux.com/46914

(0)
qzxqzx
上一篇 2016-09-16 15:19
下一篇 2016-09-16 15:56

相关推荐

  • N23-第一周 记流水账

      机器已经设置好了  屏幕左边是linux控制台,屏幕中间放置记事本来记笔记,屏幕右边是教学视频,如图 费我老大劲 笔记本的无线网卡驱动不好弄啊   注重操作实践,全程跟着操作,一定要照着做,动手啊动手…………..前十五天内容以查漏补缺为主,所以笔记是兴之所至,遵循以下原则:&n…

    Linux干货 2016-09-18
  • 计算机的组成及其功能

    计算机现如今已经成为了我们生活中不可缺少的一部分,那么它是由什么组成的呢?简单来说,计算机系统是由硬件系统(hardware system)和 软件系统(software system)两部分组成。 Mac电脑背景图.jpg 下面我们来罗列一下计算机系统的主要组成,请看下图 计算机系统组成.png 计算机的功能 我们知道计算机十分强大,那么它都有哪…

    Linux干货 2017-08-23
  • Linux磁盘和文件系统管理

    Linux磁盘和文件系统管理 linux磁盘管理 一、Linux设备类型     硬盘有机械硬盘(HDD)和固态硬盘(SSD)之分。机械硬盘即是传统普通硬盘,主要由:盘片,磁头,盘片转轴及控制电机,磁头控制器,数据转换器,接口,缓存等     几个部分组成。  &nbs…

    Linux干货 2016-04-11
  • 马哥教育网络班22期+第三周(8.22-8.28)博客作业

    1、列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可。   # who|awk '{print $1}'|sort| uniq 2、取出最后登录到当前系统的用户的相关信息。   # last   # last|gr…

    Linux干货 2016-08-29
  • LVM组件详解&创建实验流程

       前言:根据前面的学习我们知道,一个磁盘一旦分完区并且格式化后,其空间大小是没有办法进行调整了。因此推出了LVM(Logical Volume Manager)逻辑卷管理机制,LVM重点在于可以弹性的调整文件系统的容量!并非在于性能和数据保全方面,需要文件的读写性能或者数据的可靠性,需要用到RAID。而LVM可以整合多个物理…

    Linux干货 2016-08-30
  • Bash Shell编程初学基础篇之二

    Bash Shell编程初学基础篇之二    时间如白驹过隙,一晃过去了几周,一切的计划都没有变化快。当你制定计划实施时,在这期间却会发生许多打乱我们计划的事情,但是我们还是要坚持下去,胜利是属于坚持到最后的人!实践出真理,中级基本结束了,需要回过头了好好总结一下了。心中总有好多话想找个同行唠唠;不废话了,估计大家都烦了!总有一天,你会成…

    Linux干货 2015-05-11