CentOS6.4之Linux引导流程解析

简介:
? Linux引导流程
? Linux运行级别
? Linux启动服务管理
? GRUB配置与应用
? 启动故障分析与解决


? Linux引导流程

clipboard

常用固件设置
安全设置
可引导介质列表
可引导介质搜索顺序
电源管理
启动细节显示

固件设置实例
clipboard

clipboard

MBR介绍
MBR,全称为Master Boot Record,即硬盘的主引导记录。
为了便于理解,一般将MBR分为广义和狭义两种:广义的MBR包含整个扇区(引导程序、分区表及分隔标识),也就是上面所说的主引导记录;而狭义的MBR仅指引导程序而言。
硬盘的0柱面、0磁头、1扇区称为主引导扇区(也叫主引导记录MBR)。它由三个部分组成,主引导程序、硬盘分区表DPT(Disk Partition table)和硬盘有效标志(55AA)。在总共512字节的主引导扇区里主引导程序(boot loader)占446个字节,第二部分是Partition table区(分区表),即DPT,占64个字节,硬盘中分区有多少以及每一分区的大小都记在其中。第三部分是magic number,占2个字节,固定为55AA。
clipboard

Grub载入内核,指定内核路径。
clipboard
vmlinuz-2.6.32-358.el6.x86_64此为压缩的可执行内核文件
clipboard

内核
clipboard

clipboard

init的工作
init启动后读取inittab文件,执行缺省运行级别,从而继续引导过程。在UNIX系统中,init时第一个可以存在的进程,它的PID恒为1,但它也必须向一个
更高级的功能负责:PID为0的内核调度器(Kernelscheduler),从而获得CPU时间。
clipboard

? Linux运行级别
inittab 文件剖析
运行级的切换:
1. 查看当前的运行级
clipboard
2. 运行级的切换
# init [0123456Ss] 或# telinit [0123456Ss]
clipboard

在inittab中,所有条目采取以下格式:
id:run-levels:action:process
id:标识符,一般为两位字母或数字
run-levels:指定运行级别,可以指定多个
action:指定运行状态
process:指定要运行的脚本/命令

clipboard
action常用取值:
initdefault:指定系统缺省启动的运行级别
sysinit:系统启动执行process中指定的命令
wait:执行process中指定的命令,并等其结束再运行其他命令
once:执行process中指定的命令,不等待其结束
ctrlaltdel:按下Ctrl+Alt+Del时执行process指定的命令
powerfail:当出现电源错误时执行process指定的命令,不等待其结束
powerokwait:当电源恢复时执行process指定的命令
respawn:一旦process指定的命令中止,便重新运行该命令

clipboard
指定系统默认运行级别为3,如果想系统启动后自动运行X Window,则将上面的3改为5

clipboard

clipboard
启动脚本/etc/rc.d/rc.sysinit,完成系统服务程序启动,如系统环境变量设置、设置系统时钟、加载字体、检查加载文件系统、生成系统启动信息日志文件等。

clipboard

clipboard

判断默认运行级别,调用/etc/rc.d/rc脚本,执行相应运行级别目录中的服务程序,完成相应运行级别的初始化设置
clipboard
/etc/rc.d/init.d
该目录下包含各个运行级别的服务程序脚本
clipboard

/etc/rc.d/rc[0123456].d
分别存放对应于运行级别的服务程序脚本的符号链接,链接到init.d目录中的相应脚本
clipboard


? Linux启动服务管理
设置自启动程序
? ln -s
? chkconfig
? ntsysv
clipboard

clipboard

相关命令及日志
? 运行dmesg检查引导期间的错误
dmesg显示内核驱动硬件的信息。
clipboard

? 检查系统日志/var/log/messages,查找可能被dmesg忽略的应用程序错误

? GRUB配置与应用
GRUB的配置文件默认为/boot/grub/grub.conf
# ls -l /etc/grub.conf
clipboard
default定义缺省启动系统
timeout定义缺省等待时间
splashimage定义GURB界面图片
hiddenmenu隐藏菜单
title定义菜单项名称
root设置GRUB的根设备即内核所在的分区
kernel定义内核文件所在位置
initrd命令加载镜像文件
clipboard
功能键:
e: 编辑当前的启动菜单项
c: 进入GRUB的命令行方式
b: 启动当前的菜单项
d: 删除当前行
Esc: 返回GRUB启动菜单界面,取消对当前单项所做的的任何修改

? 启动故障分析与解决
单用户模式应用
案例:root密码忘记
进入单用户模式重新设置root密码,方法如下:
开机进入GRUB界面,按e进入编辑行模式,选中kernel行,再次按e键,在新的界面的最后一行输入1或s,即可进入单用户模式。
clipboard

clipboard

clipboard
下面已经进入单用户模式了。
clipboard
passwd可以进行重置密码
clipboard

设置GRUB密码
1. 使用GRUB自带的grub-md5-crypt命令
[root@localhost ~]# grub-md5-crypt
Password:
Retype password:
$1$RngcE1$6Fv73guzmE7NvU.1gwGgb/
clipboard
2. 在GRUB交互命令行界面中使用md5crypt命令
grub> md5crypt    
md5crypt
Password: 99999999
99999999
Encrypted: $1$79hcE1$3YccUVPe4pDgnNWFKvXOV0
clipboard
同样的明文口令每次加密获得的MD5密文口令也是不同的。
编辑GRUB配置文件,加入如下行:
password --md5  $1$79hcE1$3YccUVPe4pDgnNWFKvXOV0
--md5参数表示口令是MD5加密的。
GRUB加密分为两种:1、全局加密2、局部加密
clipboard
全局加密:
功能:锁定启动界面,禁止了
e    to edit the commands before booting
a    to modify the kernel arguments before booting
c    for a command-line
clipboard
这个全局加密最主要的功能就是edit the commands,此时就需要输入全局密码才能继续。
clipboard

clipboard

局部加密:相对与某个特定的操作系统来进行控制。功能:用户必须输入密码才能进入系统。
clipboard
输入局部密码后才能继续启动选定的操作系统

clipboard

GRUB修复
当开机后进入grub界面但没有菜单,只剩下一个
grub>提示符,解决方法:
grub>cat /grub/grub.conf (为查看参数)
grub>root (hd0,6)
grub>kernel (hd0,6)/vmlinuz-2.6.18-14 ro root=LABEL=/
grub>initrd (hd0,6)/initrd-2.6.18-14.img
grub>boot
相关内容可以参考 制作CentOS 6.4 U盘启动安装盘

Linux修复模式
解决过程
1.把安装盘放到光驱,然后重新启动机器,在BOIS中把系统设置为光驱引导。
2.等安装界面出来后,选择Rescue installed system,然后回车,进入修复模式。
clipboard
clipboard





本文转自redking51CTO博客,原文链接:http://blog.51cto.com/redking/1230447 ,如需转载请自行联系原作者
相关文章
|
3月前
|
存储 域名解析 弹性计算
阿里云上云流程参考:云服务器+域名+备案+域名解析绑定,全流程图文详解
对于初次通过阿里云完成上云的企业和个人用户来说,很多用户不仅是需要选购云服务器,同时还需要注册域名以及完成备案和域名的解析相关流程,从而实现网站的上线。本文将以上云操作流程为核心,结合阿里云的活动政策与用户系统梳理云服务器选购、域名注册、备案申请及域名绑定四大关键环节,以供用户完成线上业务部署做出参考。
|
7月前
|
Unix Linux
对于Linux的进程概念以及进程状态的理解和解析
现在,我们已经了解了Linux进程的基础知识和进程状态的理解了。这就像我们理解了城市中行人的行走和行为模式!希望这个形象的例子能帮助我们更好地理解这个重要的概念,并在实际应用中发挥作用。
149 20
|
7月前
|
Ubuntu Linux
"unzip"命令解析:Linux下如何处理压缩文件。
总的来说,`unzip`命令是Linux系统下一款实用而方便的ZIP格式文件处理工具。本文通过简明扼要的方式,详细介绍了在各类Linux发行版上安装 `unzip`的方法,以及如何使用 `unzip`命令进行解压、查看和测试ZIP文件。希望本文章能为用户带来实际帮助,提高日常操作的效率。
1106 12
|
8月前
|
Linux
Linux命令的基本格式解析
总的来说,Linux命令的基本格式就像一个食谱,它可以指导你如何使用你的计算机。通过学习和实践,你可以成为一个真正的“计算机厨师”,创造出各种“美味”的命令。
220 15
|
8月前
|
存储 Linux
Linux内核中的current机制解析
总的来说,current机制是Linux内核中进程管理的基础,它通过获取当前进程的task_struct结构的地址,可以方便地获取和修改进程的信息。这个机制在内核中的使用非常广泛,对于理解Linux内核的工作原理有着重要的意义。
399 11
|
10月前
|
编解码 缓存 Prometheus
「ximagine」业余爱好者的非专业显示器测试流程规范,同时也是本账号输出内容的数据来源!如何测试显示器?荒岛整理总结出多种测试方法和注意事项,以及粗浅的原理解析!
本期内容为「ximagine」频道《显示器测试流程》的规范及标准,我们主要使用Calman、DisplayCAL、i1Profiler等软件及CA410、Spyder X、i1Pro 2等设备,是我们目前制作内容数据的重要来源,我们深知所做的仍是比较表面的活儿,和工程师、科研人员相比有着不小的差距,测试并不复杂,但是相当繁琐,收集整理测试无不花费大量时间精力,内容不完善或者有错误的地方,希望大佬指出我们好改进!
714 16
「ximagine」业余爱好者的非专业显示器测试流程规范,同时也是本账号输出内容的数据来源!如何测试显示器?荒岛整理总结出多种测试方法和注意事项,以及粗浅的原理解析!
|
9月前
|
监控 Shell Linux
Android调试终极指南:ADB安装+多设备连接+ANR日志抓取全流程解析,覆盖环境变量配置/多设备调试/ANR日志分析全流程,附Win/Mac/Linux三平台解决方案
ADB(Android Debug Bridge)是安卓开发中的重要工具,用于连接电脑与安卓设备,实现文件传输、应用管理、日志抓取等功能。本文介绍了 ADB 的基本概念、安装配置及常用命令。包括:1) 基本命令如 `adb version` 和 `adb devices`;2) 权限操作如 `adb root` 和 `adb shell`;3) APK 操作如安装、卸载应用;4) 文件传输如 `adb push` 和 `adb pull`;5) 日志记录如 `adb logcat`;6) 系统信息获取如屏幕截图和录屏。通过这些功能,用户可高效调试和管理安卓设备。
|
10月前
|
Java 数据库 开发者
详细介绍SpringBoot启动流程及配置类解析原理
通过对 Spring Boot 启动流程及配置类解析原理的深入分析,我们可以看到 Spring Boot 在启动时的灵活性和可扩展性。理解这些机制不仅有助于开发者更好地使用 Spring Boot 进行应用开发,还能够在面对问题时,迅速定位和解决问题。希望本文能为您在 Spring Boot 开发过程中提供有效的指导和帮助。
1291 12
|
10月前
|
域名解析 弹性计算 负载均衡
新手上云教程参考:阿里云服务器租用、域名注册、备案及域名解析流程图文教程
对于想要在阿里云上搭建网站或应用的用户来说,购买阿里云服务器和注册域名,绑定以及备案的流程至关重要。本文将以图文形式为您介绍阿里云服务器购买、域名注册、备案及绑定的全流程,以供参考,帮助用户轻松上手。