
一、Linux引导流程

1、固件设置(firmware) POST加电自检
软硬件时钟同步
date 软件时钟命令
hwclock 硬件时钟命令
修改时钟,,,hctosys 硬件时钟为准,修改软件时间
dydtohc
2、自举程序(BootLoader GRUB) 载入内核
3、载入内核(Kernel) 驱动硬件
内核 kernel /boot/vmlinuz-2.6.18-194.el5
版本号
4、启动进程(init)
init启动后读取inittal文件,执行缺省运行级别,从而继续引导进程
PID始终为1,向更高级的功能负责:PID为0的内核调度器(Kernel scheduler),从而获得CPU时间
5、读取执行配置文件/etc/inittab
二、Linux运行级别
# Default runlevel. The runlevels used by RHS are:
# 0 - halt (Do NOT set initdefault to this)
# 1 - Single user mode
# 2 - Multiuser, without NFS (The same as 3, if you do not have networking)
# 3 - Full multiuser mode
# 4 - unused
# 5 - X11
# 6 - reboot (Do NOT set initdefault to this)
查看当前运行级别 #runlevel
切换运行级别 #init [0123456Ss] #telinit [0123456Ss]
三、linux启动服务管理
1、inittab文件解析
在inittab中,所有条目采取一下格式:
id:run-levels:action:process
id:标识符,一般为两位字母或数字
run-levels:指定运行级别,可以指定多个
action:制定运行状态
process:指定要运行的命令/脚本
action常取值:
iniedefault:指定系统缺省启动的运行级别
系统默认位3,,
sysinit:系统启动执行process中指定的命令 /etc/rc.d/rc.sysinit
wait:执行process中指定的命令,并等其结束再运行其他的命令
once:执行process中指定的命令,不等其结束
ctrlaltdel:按下Ctrl+Alt+Del时执行process指定的命令
/etc/rc.d/rc 判断默认运行级别,执行相应运行级别目录中的服务程序,完成初始化
/etc/rc.d/rc[0123456].d 分别存放对应于运行级别的服务程序脚本的符号链接,链接到init.d目录的相应脚本
格式:S12syslog
S-start 启动 K-kill 不启动 ***
数字:启动顺序
定义脚本名称
/etc/rc.d/init.d 该目录包含各个运行级别的服务程序脚本 ***
2、设置自启动程序
(1)ln -s 通用
(2) chkconfig
(3) ntsysv
3、相关命令及日志
(1)运行dmesg检查引导期间的错误
(2)检查系统日志/var/log/messages,查找可能被dmesg忽略的应用程序错误
四、GRUB配置与应用
GRUB的配置文件的默认位置 /etc/grub.conf
(hd0,0)
1、GRUB配置选项
default 定义缺省启动系统
timeout 定义缺省等待时间
splashimage 定义GRUB界面图片
hiddemenu 隐藏菜单
title 定义菜单项名称
root 设置GRUB的根设备即内核所在的分区
kernel 定义内核文件所在位置
initrd 命令加载镜像文件
2、GRUB命令
e:编辑当前的启动菜单项
c:进入GRUB的命令模式
b:启动当前的菜单项
d:删除当前行
Esc:返回GRUB启动菜单界面,取消对当前单项所做的任何修改
3、设置GRUB密码
(1)、使用GRUB自带的命令grub-md5-crypt命令
# grub-md5-crypt
Password:
Retype password:
$1$XHXdi/$jk.lm6Tcn99v/52jLaQkw0
(2)、在GRUB交互命令行界面中使用md5crypt命令
#grub
grub>
md5crypt
Password:
******
Encrypted: $1$WuXdi/$kBtdDg/gytHDS8t3FvAsQ.
(3)、编辑GRUB配置文件,加入如下行:
password --md5 $1$XHXdi/$jk.lm6Tcn99v/52jLaQkw0
--md5 参数表示口令是MD5加密的
五、启动故障分析与解决
1、GRUB修复
(1)、当开机后进入grub界面但没有菜单,只剩下一个grub>提示符,解决方法:
grub>cat /boot/grub/grub.conf 查看参数
修改
grub>boot
(2)单用户模式
实例1:root密码忘记
进入但用户模式重新设置root密码
方法:开机进入GRUB界面,按e进入编辑模式,选中kernel行,再次按e见,在新的姐年的最后一行输入1或s,即可
(3)GRUB修复模式
实例2:inittab文件缺失
解决过程
①、把安装盘放到光驱,然后重新启动机器,在bois中把系统用光驱引导
②、等安装界面出来,按F5键,也就是linux rescue模式
然后在boot输入
linux rescue
然后就是回车一下
sh#
本文详细解析了Linux系统的启动流程,包括固件设置、自举程序、内核加载、进程启动、配置文件读取及服务管理。同时,深入探讨了GRUB配置与应用,以及启动故障的分析与解决方法,为理解Linux系统提供了全面视角。
:Linux引导流程解析&spm=1001.2101.3001.5002&articleId=86652257&d=1&t=3&u=88166a3db5114b0182a860ff8bc9dd7e)
222

被折叠的 条评论
为什么被折叠?



