28、Linux 操作系统引导过程
引导过程与服务控制
工作常用
文章目录
服务控制及切换运行级别
优化启动过程
排除启动类故障 工作常用
linux操作系统引导过程 工作重点
开机自检(BIOS) (找引导程序) 、 MBR引导(四个区、运行启动引导程序) 、GRUB菜单 (加载配置文件grub.conf文件、镜像文件)、 加载内核 (kernel)(进行重新自检) 、 init进程 初始化
1.开机自检(BIOS)
服务器主机开机以后,将根据主板 BIos中的设置对cPu(central Processing Unit,中央处理器)、内存、显卡、键盘等设备进行初步检测,检测成功后根据预设的启动顺序移交系统控制权,大多时候会移交给本机硬盘。
总结:检测出第一个能够引导系统的设备比如硬盘或光驱、U盘
2.MBR引导
当从本机硬盘中启动系统时,首先根据硬盘第一个扇区中 MBR (Master Boot Record,主引导记录〉的设置,将系统控制权传递给包含操作系统引导文件的分区:或者直接根据MBR记录中的引导信息调用启动菜单(如GRUB) 。
总结:运行放在MBR扇区里的启动GRUB引导程序
3.GRUB菜单
对于Linux操作系统来说,GRUB (GRand Unified Bootloader,统一启动加载器)是使用最为广泛的多系统引导器程序。系统控制权传递给GRUB 以后,将会显示启动菜单给用户选择,并根据所选项(或采用默认值)加载Linux内核文件,然后将系统控制权转交给内核。需要注意的是,centos 7采用的是GRUB2启动引导器。
总结:GRUB引导程序通过读取GRUB配置文件/boot/grub2/grub.cfg,来获取内核和镜像文件系统的设置和路径位置
centos 6 grub
centos 7 grub2
4.加载Linux内核
Linux内核是一个预先编译好的特殊二进制文件,介于各种硬件资源与系统程序之间,负责资源分配与调度。内核接过系统控制权以后,将完全掌控整个Linux操作系统的运行过程。在Centos系统中,默认的内核文件位于"/boot/vmlinuz-3.10.0-514.e17.x86_64"。
总结:把内核和镜像文件系统加载到内存中
5.init进程初始化
为了完成进一步的系统引导过程,Linux内核首先将系统中的" /sbin/init"程序加载到内存中运行(运行中的程序称为进程). init进程负责完成一系列的系统初始化过程,最后等待用户进行登录
总结:加载硬件驱动程序,内核把init进程加载到内存中运行
传统sysvinit依赖于串行执行shell 脚木启动服务,导致效率低下,系统启动速度较慢,systemd能够将更多的服务进程并行启动,并且具有提供按需启动服务的能力,使得启动更少进程,从而提高系统启动速度。
他们的区别
GRUB2 与grub的区别
1支持多种文件系统格式
2)在grub中stage1 stage1-5 stage2己经被取消
3) grub2使用模块机制,通过动态加载需要的模块来扩展功能,这样做的好处允许core镜像更小
4)支持自动解压
5)配置文件的不同最明显的。/boot/grub/grub.conf已经被/boot/grub2/grub.cfg
/boot/grub2/grub.cfg.。即使你用Roor用户也不要编辑,该文件会在每次执行grub2-mkconfig后自动执行
/etc/default/grub是改变引导菜单外观的主要配置文件
/etc/grub.d/*各种用于生成grub.cfg的脚本文件,每次执行grub2-mkconfig时会执行里面的文件
1.1systemd的优点
init:
一是启动时间长。init进程是串行启动,只有前一个进程启动完,才会启动下一个进程。
二是启动脚木复杂。init进程只是执行启动脚术,不管共他事情。脚木需要自己处理各种情况,这往往使得脚本变得很长。
systemd:首先它并不是一个命令,而是一组命令,它涉及到系统方方面面的并行
centos 6 引导过程
centos 7 引导过程
一个分区 16字节
MBR有效标识符为两个字节
系统初始化进程
各个级别的作用 工作会问
0 ( poweroff.target) :关机
1 (rescue .target) :单用户模式
2、3、4 (mulit-user.target :多用的文本界面
5(graphical.target) :多用的图形界面
6 (reboot.target) :重启
0 系统停机模式,系统默认运行级别不能设置为d.,否则不能正常启动,机器关的:
1 单用户模式,root权限,用于系统维护,禁止远程登录(只能通过实机进去),该模式的进入方式百度操作即可:就像windows下的安全模式登录:(进入单用户模式的时候root不需要密码就可以登录,所以生此模式下可以修改root密码)
2 多用户模式,没有NFS和网络支持:
3 完整的多用户文本模式,有NFS和网络,登录后进入控制台命令行模式。
4 系统未使用,保留一般不用,在一些特殊情况下可以用它来做一些事情。例如在笔记本电池用尽时,可以切换到这个模式来做一些设置:
5 图形化模式,登录后进入图形GUI模式, windows系:
6 重启模式,默认运行级别不能设为6,否则不能正常启动。运行init6机器就会重启
socket 是进程之间用来对话的中间层工具 后面k8s 常打交道
修复MBR扇区故障
故障原因
●病毒、木马等造成的破坏
●不正确的分区操作、磁盘读写误操作
故障现象
●找不到引导程序,启动中断
●无法加载操作系统,开机后黑屏
解决思路
●应提前作好备份文件
●以安装光盘引导进入急救模式
●从备份文件中恢复
排除启动类故障
###修复MBR扇区故障
MBR位于第一块硬盘( /dev/sda)的第一个物理扇区处,总共512字节
1.备份MBR扇区数据到其它磁盘( /dev/sdb1)
mkdir / backup
mount /dev/sdb1 /backup
dd if=/dev/sdb1 of=/ backup/mbr.bak bs=512 count=1
2.模拟破坏MBR引导扇区
dd if=/dev/zero of=/dev/sda bs=512 count=1
3.引导界面进入急救模式,从备份文件中恢复MBR扇区数据
先加载好光盘镜像,重启操作系统,
当出现安装向导界面时,选择"Troubleshooting"选项,
再选择"Rescue a centos Linux system"选项,进入急救模式
选择"1"选择continue并按Enter键继续
再次按Enter 键后将进入带"sh-4.2#"提示符的Bash shell环境
sh-4.2# mkdir /backupdir
sh-4.2#mount /dev/sdb1 /backupdir
#挂载带有备份文件的分区
sh-4.2#dd if=/ backupdir/mbr.bak of=/ dev/sda
#恢复备份数据.
sh-4.2 #exit
#执行exit命令退出临时shell环境,系统将会自动重启
修复GRUB引导故障
故障原因
1、MBR中的GRUB引导程序遭到破坏
2、grub.conf文件丢失、引导配置有误
故障现象
1、系统引导停滞,显示“grub>”提示符
解决思路
1、尝试手动输入引导命令
2、进入急救模式,重写或者从备份中恢复grub.conf
3、向MBR扇区中重建grub程序 生产最常用
关闭DVD连接
rm -rf /boot /grub2/grub.cfg
急救模式 第三个 第二个
1 回车
chroot /mnt/sysimage
grub2 -ins
centos 遗忘root用户的密码或是重置
selinux = disable
init 6
首先去掉光盘 去掉已连接
按 e
16行 ro 改rw
ctrl +x
密码输入 密码确认
系统服务控制
systemctl 控制类型 服务名称
控制类型
start:启动
stop:停止
restart:重新启动
reload:重新加载
status:查看服务状态
设置运行级别
chkconfig工具
优化工具
yum install httpd -y
总结 :
学会修复MBR扇区故障、排除启动类故障、修复GRUP引导故障,包括故障原因,故障现象、解决思路,以及学会centos遗忘root用户的密码或是重置。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通