启动流程和内核管理

Posted jayhenry7

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了启动流程和内核管理相关的知识,希望对你有一定的参考价值。

流程图:

技术图片
 
 技术图片

 

改名为RZ文件再解压 

gunzip 解压

file 判断文件类型

cpio < 文件名 cpio是用来建立、还原备份档的工具程序,它可以加入、解开cpio或tar备份档内的文件

cpio是用来建立、还原备份档的工具程序,它可以加入、解开cpio或tar备份档内的文件cpio是用来建立、还原备份档的工具程序,它可以加入、解开cpio或tar备份档内的文件cpio是用来建立、还原备份档的工具程序,它可以加入、解开cpio或tar备份档内的文件cpio是用来建立、还原备份档的工具程序,它可以加入、解开cpio或tar备份档内的文件cpio是用来建立、还原备份档的工具程序,它可以加入、解开cpio或tar备份档内的文件(不压缩)

-d, --make-directories 在需要的地方创建开始目录 -d, --make-directories 在需要的地方创建开始目录

find -name 

ko结尾驱动程序

df -T type 显示硬件类型

zcat

用途:在不解压文件的情况下,直接将文件内容输出到标准输出。(原压缩文件不做任何更改)

实验:boot/initramfs(系统启动文件误删后故障排错)

 

 

 

技术图片

 

挂光盘(U盘)

启动界面快速压下esc 选 3 3 配置语言 不需配置网络 continue 开启shell

df  原来根对应的硬盘sd2 挂载到了 /mnt/sysimage 外挂光盘  删除的文件在/boot

chroot /mnt/sysimage/  将跟下的文件放入该目录下 文件在硬盘上 切根 为当前正在使用的内核重新制作ramdisk文件

mkinitrd /boot/initramfs-`uname  -r`. img `uname  -r`  需要多加一个 uname -r 根据版本号生成 等待1分钟

exit 退出到界面

reboot 

 

 

删除内核恢复之

救援模式同上 系统7多选一步 troubleshoting

mount  /dev/cdrom/mnt  (/misc/cd)

ls /mnt/isolinux

cp /mnt/isolinux/vmlinux  /boot/vmlinux- `uname-r` 

exit

 

 

 

 

 

 

启动流程
?/sbin/init (初始化)CentOS6之前
?运行级别:为系统运行或维护等目的而设定;0-6:7个级别
0:关机
1:单用户模式(root自动登录), single, 维护模式
2: 多用户模式,启动网络功能,但不会启动NFS;维护模式
3:多用户模式,正常模式;文本界面
4:预留级别;可同3级别
5:多用户模式,正常模式;图形界面
6:重启
?默认级别:3, 5
?切换级别:init #
?查看级别:runlevel ; who -r

-f 表示条件判断 || 短路或 continue 不执行


修改软链接名来修改程序运行状态


 蓝色为软链接文件 修改来改变运行状态 s 运行 k 停止

 

(只支持长选项)

chkconfig --list atd

(临时修改)查看开机运行状态

chkconfig --level 35 atd off

chkconfig atd on 默认修改模式 2345

 

 

查看服务运行状态

service atd status

start

restart

stop

ps aux |grep atd 查看进程状态

kill 进程编号 进程

说明:rc N --> 意味着读取/etc/rc.d/rcN.d/
K*: K##*:##运行次序;数字越小,越先运行;数字越小的服务,通常为
依赖到别的服务
S*: S##*:##运行次序;数字越小,越先运行;数字越小的服务,通常为
被依赖到的服务

编写脚本时应注意

345 模式下开启服务 95运行标号 5 结束标号

- 所有模式关闭

cd /etc/rc5.d 查看服务脚本编号 避免冲突

chmod+x testsrv

 

chkconfig --add testsvrv

 

系统6 脚本放入此文件开机自动运行

系统7 需要加执行权限

查看所有服务状态

service --status-all

查看开机启动状态

chkconfig --list

注释此文件防止误操作

 

 

 

/etc/inittab

添加可支持更多终端 数字修改终端

 

 

CentOS 6启动流程:

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

grub(boot/文件系统的驱动)

grub: GRand Unified Bootloader
grub 0.97: grub legacy
grub 2.x: grub2
grub legacy:
stage1: mbr
stage1_5: mbr之后的扇区,让stage1中的bootloader能识别stage2所在
的分区上的文件系统
stage2:磁盘分区(/boot/grub/)
 
查找模块

  moinfo ext4.ko 

技术图片

安装程序 0 默认内核 deauflt  指定内核 timeout 超时时长 背景 菜单 (hd0,0第一个硬盘第一个分区)/boot ro 只读挂载 单次挂载

技术图片

可读可写挂载  rhbg 图形界面 quiet 启动时不显示内核

 

安装grub:
(1) grub-install
安装grub stage1和stage1_5到/dev/DISK磁盘上,并复制GRUB相关文件
到 DIR/boot目录下
grub-install --root-directory=DIR /dev/DISK  /boot所在的目录  /temp/boot /boot的上级文件夹
(2) grub
grub> root (hd#,#)
grub> setup (hd#)

实验grub stage 1.0恢复之

技术图片

 

技术图片

技术图片

 技术图片

 

 

 

 

 

 

 

 

 

 

sync 写入磁盘

 state 1.5的修复

报错画面:

技术图片

 

技术图片

 技术图片

最后一行boot  第二行可省略

配置grub.conf文件

技术图片

 

 技术图片

更改菜单背景

技术图片

 

不保持

 convert - resize 640*480 -colors 14

win.jpg win .xpm

技术图片

给菜单增加内核参数密码

技术图片

加密选项

技术图片

 

  $1 md5加密算法

技术图片

技术图片

 

 /boot 文件夹的恢复

救援模式

技术图片

 

 技术图片

技术图片

技术图片

技术图片

 

 r!  dd 

/fstab (硬盘分区根) 和  /boot恢复

基于逻辑卷救援模式下逻辑卷不会激活

基于分区 不用激活逻辑卷

 blkid 看现有分区的

lv -root / default 0 0

lv -home 

 

 

 

 

 

 

 

技术图片

技术图片

顺序错误

修复

o

d

b

 

(1) 提供启动菜单、并提供交互式接口
a:内核参数
e: 编辑模式,用于编辑菜单
c: 命令模式,交互式接口 
 增加回环设备数量
技术图片
cat /proc/cmdline 内核参数 
 
 
 

 内核编译

 技术图片

 

 添加新硬盘

技术图片

技术图片

 技术图片

 

stage2阶段  指定新目录

技术图片

 技术图片

 

 
配置文件:
/boot/grub/grub.conf 在kernel行使用selinux=0禁用SELinux
/boot/grub2/grub.cfg 在linux16行使用selinux=0禁用SELinux
/etc/selinux/config
/etc/sysconfig/selinux
SELINUX=disabled|enforcing|permissive
技术图片

reboot

 

 

 

 
 
 

以上是关于启动流程和内核管理的主要内容,如果未能解决你的问题,请参考以下文章

系统启动流程以及内核管理

Linux系统启动流程内核及模块管理

CentOS6的启动流程

#yyds干货盘点#启动流程和grub故障排错

Linux系统启动流程

CentOS 系统启动流程