Linux学习笔记——系统引导流程

来源:互联网 发布:代理 分销 源码 编辑:程序博客网 时间:2024/05/22 16:24
Linux引导流程解析
1、系统引导流程
固件firmware (CMOS/BIOS) POST加电自检
自举程序BootLoader (GRUB) 载入内核
载入内核Kernel 驱动硬件
启动进程init
读取执行配置文件/etc/inittab




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


Linux中如果一个进程的父进程结束,而该进程由于某种原因没有结束,则被系统发现后自动将该进程指向init进程。所以理论上init进程是所有进程的父进程。
如果子进程结束,而父进程不知。则该子进程编程僵尸进程。


id:run-levels:action:process
grep -v 表示排除文件中包含何种字符
例如grep -v "^#" /etc/inittab |  more
分页显示,inittab中行首有#的不显示


id:标识符,一般为两位字母或数字 可理解为行为的编号
run-levels:指定运行级别,可指定多个 可理解为方式
action:指定运行状态 可理解为在哪里
process:指定要运行的脚本/命令 可理解为行为
前面三项都是为process做设定


脚本/etc/rc.d/rc.sysinit
环境变量的加载,生成日志信息等都是通过这个脚本来进行
如果希望某个命令每次开机都执行,可以把它加到/etc/rc.d/rc/sysinit文件的末尾,每个运行级别都会执行


脚本/etc/rc.d/rc
对应每个运行级别需要启动的服务。完成后续的启动。
由initdefault决定


目录/erc/rc.d/rcn.d
[root@lovelock frost]# ls -l /etc/rc.d/rc3.d
total 0
lrwxrwxrwx. 1 root root 16 Aug  2 22:17 K01smartd -> ../init.d/smartd
lrwxrwxrwx. 1 root root 17 Aug  2 22:12 K02oddjobd -> ../init.d/oddjobd
lrwxrwxrwx. 1 root root 17 Aug  2 22:19 K05wdaemon -> ../init.d/wdaemon
lrwxrwxrwx. 1 root root 16 Aug  2 23:04 K10psacct -> ../init.d/psacct
lrwxrwxrwx. 1 root root 19 Aug  2 22:13 K10saslauthd -> ../init.d/saslauthd
lrwxrwxrwx. 1 root root 15 Aug  2 22:12 K15httpd -> ../init.d/httpd
lrwxrwxrwx. 1 root root 24 Aug  2 22:17 K30spice-vdagentd -> ../init.d/spice-vdagentd
例如:K15httpd
S-start 启动项
K-kill 非启动项
数字代表优先顺序,小的先启动
脚本名称httpd




复习:
firmware物理硬件加电自检
|
 Bootloader——grub
|
       载入内核kernel
|
              init
|
         /etc/inittab
|
          initdefault 判断系统缺省的运行级别
|
     /etc/rc.d/rc.sysinit
|
        /etc/rc.d/rc
|
     /etc/rc.d/rcN.d N=0~6
|
         username
|
         password
两个action,一个wait表示这个命令启动完之后才继续开启其他命令
如果一个命令是开机自启的,那么它的action就是wait
powerfail:当出现电源错误时执行process指定的命令,不等待其结束
powerokwait:当店员恢复时执行process指定的命令
respawn:一旦process指定的命令终止,便重新运行该命令






本地终端tty在运行级别2345都可以用到,可以用来切换
设置自启动程序:
ln -s
chkconfig
ntsysv 只能更改系统默认安装的命令


dmesg查看硬件有没有被内核识别
grep sshd /var/log/messages


menu.lst
default=0 双系统启动时默认进入的系统
timeout=5 进入系统前等待时间,5s,没有太大意义
splashimage=(hd0,0)/grub/splash.xpm.gz (hd0,0)代表第一个硬盘,是grub的特殊的表示方法,分辨率是640*480,色深14
title可以随便改
root定义所有的启动文件所在目录,即/boot
kernel后面是内核所在位置 ro表示内核载入时是只读的
initrd 载入镜像文件,系统引导过程中必要的镜像文件设置




案例:root密码忘记
进入单用户模式重新设置root密码,开机进入grub界面,按e进入编辑模式,选中kernel行,再次按e键,在新的界面的最后一行输入1或s即可进入单用户模式
e:编辑当前的启动项菜单 edit
c:进入grub的命令行方式 command
b:启动当前的菜单项 boot
d:删除当前行 delete


任何的操作系统如果能让人坐在电脑前都是不安全的,都可以破解。所以服务器是放在机房的。
grub引导流程其实很简单,如果能很系统的学习一下网上的那些问题就都不会存在。
grub设置密码,加密
#grub-md5-crypt
或者grub
grub>md5crypt
如果重要的系统文件丢失就可以用光盘进入修复模式

















原创粉丝点击