本文共 2273 字,大约阅读时间需要 7 分钟。
简单来说,操作系统引导过程可以集合成下面的流程:
systemd执行sysinit.target初始化系统,准备文件系统,用户名,网络设置等; systemd启动multi-user.target,设定的操作系统自启动服务启动; system执行getty单元及登陆服务,为用户准备登陆环境; system执行graphical需要的服务,启动图形界面。
自检硬件 BIOS 主板上的芯片 BIOS的设置记录在CMOS芯片上,BIOS只读。
检测到损坏,报错。MBR:(主引导记录)512字节 存放启动引导程序(446)、MBR分区表(64)、16进制字段(55AA或者AA55)(识别码)(2)
支持4个分区,一个分区16个字节。 启动引导程序:寻找内核,加载内核(核心目标),提供用户选项(grub菜单—引导菜单),转交其他loader重新检测硬件,动态加载模块(/lib)(modules)-----加载驱动(内核必须挂载在根目录下),通过虚拟文件系统(为了挂载)挂载系统,识别驱动(bl加载内核同时,生成initial(伪根))
sysinit初始化:准备文件系统,用户名,网络设置等
multi.user:设定的操作系统自启动服务启动 getty单元:为用户准备登陆环境 如果是图形化界面 graphical:启动图形界面runlevel3 5
现在5,之前3,n从未改
/etc/systemd/system 存放不同级别得开启自启服务
/run/systemd/system 系统执行过程中所产生得服务脚本所在目录 /usr/lib/systemd/system 每个服务最主要的启动脚本设置,类似于之前得/etc/initd.d etc和usr 任何配置的启动文件都在这2个下面 读的是etc下面的 实际在usr下面的systemctl --version 查看systemd版本
systemctl start name.service 开启服务 systemctl stop name.service 停止服务 systemctl restart name.service 重启–先停再启,PID会变 systemctl reload name.service 重新加载服务的配置文件-不中断 systemctl status name.service 查看服务状态 systemctl enable name.service 设置服务开机自启 systemctl disable name.service 设置服务开机不自启 systemctl is-enabled name.service 查看服务是否开机启动 systemctl list-unit-files|grep enabled 查看已启动的服务列表 systemctl is-active name.service 查看服务是否在启动成功状态 systemctl is-failed name.servicee 查看服务是否在启动失败状态 systemctl mask name.service 屏蔽服务 systemctl cat kube-apiserver name.service 查看服务的system服务配置 systemctl unmask name.service 取消屏蔽服务 systemctl get-default 查看当前系统默认启动的target systemctl set-default multi-user.target 设置默认启动的target为multi-user.target systemd-analyze 查看系统启动耗时故障原因
●病毒、木马等造成的破坏 ●不正确的分区操作、磁盘读写误操作 故障现象 ●找不到引导程序,启动中断 ●无法加载操作系统,开机后黑屏 解决思路 ●应提前作好备份文件 以安装光盘引导进入急救模式 从备份文件中恢复故障原因
●MBR中的GRUB引导程序遭到破坏grub.conf文件丢失、引导配置有误 故障现象 ●系统引导停滞,显示“grub>”提示符 解决思路 ●尝试手动输入引导命令 ·进入急救模式,重写或者从备份中恢复grub.conf 向MBR扇区中重建arub程序故障原因
●遗忘root用户的密码 故障现象 ●无法进行需要root权限的管理操作 ●若没有其他可用帐号,将无法登录系统 解决思路 ●进入急救模式,重设密码转载地址:http://xdpqz.baihongyu.com/