CentOS启动流程排错

  • grub legacy

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#,#)

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

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

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

  • 识别硬盘设备: (hd#,#)

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

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

    • (hd0,0) 第一块硬盘,第一个分区

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

    • grub> kernel (hd#,#)/vmlinuz-VERSION-RELEASE root=/dev/DEVICE

    • grub> initrd (hd#,#)/initramfs-VERSION-RELEASE.img

    • grub boot

  • grub legacy配置文件

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

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

    • 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命令

  • 破解root口令: 启动系统时,设置其运行级别1

  • 进入单用户模式:

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

    • (2) 在选定的kernel后附加 1, s, S或single都可以;

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

  • 安装grub:

  • (1) grub-install 安装grub stage1和stage1_5到/dev/DISK磁盘上,并 复制GRUB相关文件到 DIR/boot目录下

    • grub-install –root-directory=DIR /dev/DISK

  • (2) grub

    • grub> root (hd#,#)

    • grub> setup (hd#)

系统启动第1阶段被破坏修复过程

  • 为了模拟系统启动第一阶段被破坏,首先破坏第一阶段MBR

CentOS启动流程排错blob.png

  • 进入救援模式恢复系统

blob.png

  • 切换根目录

    blob.png

  • 调用grub工具

blob.png

  • 修复完成后重启

blob.png

系统启动第1.5阶段被破坏修复过程

  • 光盘引导进入救援模式

CentOS启动流程排错blob.png

  • 使用交互式命令grub恢复系统

blob.png

grub

root  (hd0,0)

setup (hd0)

修复结束

系统启动第2阶段被破坏修复过程

blob.png

  • 切换根目录并修复

blob.png

  • 修复完成

blob.png

  • 重新写一份启动文件

blob.png

grub> initrd (hd0,0)/initramfs-2.6.32-642.e16.x86_64.img

grub> boot

修复完了在重复一遍,进入系统中写一份启动文件

blob.png

修复完成

总结:其实把这三个启动流程完全消化,就可以应对大多数系统不能启动的排错了,系统不能启动大多是建立在这三种情况之上的,如果把这三种情况掌握并加上自己懂得的linux系统相关知识,活学活用,基本就可以解决系统不能启动的问题。

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

(0)
502795641502795641
上一篇 2016-09-13
下一篇 2016-09-13

相关推荐

  • btrfs初步应用

    前言 一种技术要知其然,还要知其所以然。 Btrfs文件系统 Btrfs(B-tree文件系统,通常念成Butter FS,Better FS或B-tree FS),一种支持写入时复制(COW)的文件系统,运行在Linux操作系统,采用GPL授权。Oracle于2007年对外宣布这项计划,并发布源代码,在2014年8月发布稳定版目标是替换Linux目前的ex…

    Linux干货 2016-05-22
  • N25-第十一周

    1、详细描述一次加密通讯的过程,结合图示最佳。 发送者: 1.使用单项加密算法提取生成数据的特征码 2.使用自己的私钥加密特征码附加在数据后面 3.生成用于对称加密的临时密钥 4.用此临时密钥加密数据和已经使用私钥加密后的特征码 5.使用接收方的公钥加密此临时密钥,附加在对称后的数据后方 接收方: 1.使用自己的私钥解密的临时秘钥;从而获得对方的对称密钥 2…

    2017-06-05
  • 78 款 Markdown 工具

    Markdown 是一种易写易读的文本标记语言。本文介绍了编写、查看 Markdown 的78种工具,涵盖桌面端、移动端和 web 端。     Markable 强大的在线 Markdown 编辑器,支持语法高亮、自动缩进、高亮所在行、显示行数、即时预览。它支持将 HTML 转换成 Markdown。 可以配合 Evernote、Dro…

    2015-03-26
  • mysql.主从复制.读写分离.高可用.集群实战

    架构图如下: 1.按照架构图所示,准备机器,做好时间同步,主机名解析 192.168.42.150 node1 [proxySQL keepalived]192.168.42.151 node2 [proxySQL keepalived]192.168.42.152 node3 [mysql-master wha]192.168.42.153 node4 […

    Linux干货 2017-07-14
  • linux防火墙介绍

    一、前言firewall(防火墙):工作在网络进入或者流包,进出的网络数据包进行一定的规则进行检查过滤系统。包括iptables和netfilter组件。iptables 是与 Linux 内核集成的 IP 信息包过滤系统。如果 Linux 系统连接到因特网或 LAN、服务器或连接 LAN 和因特网的代理服务器, 则该系统系统中更好地控制 IP 信息包过滤和…

    2017-04-30
  • grep简述

    grep(Globel Search Regular Expression and Printing out the line) 它能使用正则表达式搜索文本,并把匹配的行打印出来。 grep包括grep、egrep和fgrep。 egrep表示扩展的grep,相比grep支持更多的匹配模式, “grep -E”相当于egrep。 fgrep是fast gre…

    2017-04-06

评论列表(1条)

  • 马哥教育
    马哥教育 2016-09-14 13:14

    总结的很详细,能看出来有具体操作过,实验也顺利的解决了,但是标题是不是要仔细斟酌一下呢。