目录


1. UEFi 或 BIOS 初始化,运行 POST 开机自检
2. 选择启动设备
3. 引导装载程序, centos7 是 grub2(centos 6 是grub)
4. 加载装载程序的配置文件:/etc/grub.d/(根据此目录下文件设置 grub.cfg)
/etc/default/grub(根据此文件设置 grub.cfg) /boot/grub2/grub.cfg
5. 加载内核选项
6. 加载 initramfs 初始化伪文件系统
(虚拟文件系统,/boot/initramfs 能通过 boot loader 加载到内存中。用于提供启动过程中的重要内核模块)
7. 内核初始化,centos7 使用 systemd 代替 init
8. 执行 initrd.target 所有单元,包括挂载/etc/fstab
9. 从 initramfs 根文件系统切换到磁盘根目录
10. systemd 执行默认 target 配置,配置文件/etc/systemd/system/default.target
11. systemd 执行 sysinit.target 初始化系统及 basic.target 准备操作系统
12. systemd 启动 multi-user.target 下的本机与服务器服务 inti 3
13. systemd 执行 multi-user.target 下的/etc/rc.d/rc.local
14. Systemd 执行 multi-user.target 下的 getty.target 及登录服务
15. systemd 执行 graphical 需要的服务 init 5

/boot/grub/grub.conf已经被/boot/grub2/grub.cfg
/boot/grub2/grub.cfg(即使你用ROOT用户也不要编辑,该文件会在每次执行grub2-mkconfig后自动执行)
/etc/default/grub 是改变引导菜单外观的主要配置文件
/etc/grub.d/* 各种用于生成grub.cfg的脚本文件,每次执行grub2-mkconfig时会执行里面的文件

init进程介绍
Systemd介绍
init:①是启动时间长。init进程是串行启动,只有前一个进程启动完,才会启动下一个进程。
②是启动脚本复杂。init进程只是执行启动脚本,不管其他事情。脚本需要自己处理各种情况,这往往使得脚本变得很长
systemd:首先它并不是一个命令,而是一组命令,它涉及到系统方方面面的并行
病毒、木马等造成的破坏
不正确的分区操作、磁盘读写误操作
找不到引导程序,启动中断
无法加载操作系统,开机后黑屏
应提前作好备份文件
以安装光盘引导进入急救模式
从备份文件中恢复
1、添加一块新硬盘
2、用fdisk工具

3、进行格式化

4、建立目录。并挂载

5、先写入备份文件,再对磁盘进行误写,重启


6、




1.MBR中的GRUB引导程序遭到破坏
2.grub.conf文件丢失、引导配置有误
系统引导停滞,显示“grub>”提示符
尝试手动输入引导命令
进入急救模式,重写或者从备份中恢复grub.conf
向 MBR 扇区中重建grub程序
第一种方法:
手动输入引导命令(笨拙繁琐,不建议使用)
grub> insmod xfs #加载指定的模块到内核
grub> linux16 /vmlinuz-3.10.0-693.el7.x86_64 root=UUID=8fd74986-ae66-4ffd-b7d8-a19f2eca7b6f ro rhgb quiet
LANG=zh_CN.UTF-8 #内核的名字及位置等信息
grub> initrd16 /initramfs-3.10.0-693.e17.x86_64.img #镜像系统文件
grub> boot #引导boot
第二种方法
与问题一中前面步骤一样一样






问题2

![]()



遗忘root用户的密码
无法进行需要root权限的管理操作
若没有其他可用帐号,将无法登录系统
进入急救模式,重设密码
方法一:
第一行按e在启动GRUB菜单中选择编辑选项,按键 "e" 进入编辑;


CTRL+x退出重启,输入命令进入系统
sh-4.2#chroot /sysroot
字符集修改 : sh-4.2#LANG=en_US.UFT-8
重置root密码 :sh-4.2# passwd root
退出chroot环境,并重启 bash-4.2# exit
sh-4.2# init 6



结束
方法二:
进入急救模式,加载系统镜像,c切换到系统根环境
sh-4.2# chroot /mnt/sysimage
#重设root用户密码 bash-4.2# passwd root
0(poweroff.target):关机
1(rescue.target):单用户模式
2、3、4(mulit-user.target):多用的文本界面
5(graphical.target):多用的图形界面
6(reboot.target):重启

控制类型
start:启动
stop:停止
restart:重新启动
reload:重新加载
status:查看服务状态
runlevel:显示结果中的两个字符分别表示切换前的目标、当前的目标。若之前尚未切换过运行级 别,则第 1 列将显示“N”
例:[root@localhost ~]# runlevel
3 5
systemctl get-default:查看系统默认的运行级别
systemctl set-default init 3:设置永久运行级别
init 3:设置临时运行级别
chkconfig工具::编译安装之后的服务不能使用系统工具进行对服务的控制
格式: chkconfig --list [服务名称]
chkconfig --add 服务名称
chkconfig --level 级别列表服务名on/off
chkconfig --add httpd chkconfig --level 35 httpd on

提供一个交互式、可视化窗口
可以在字符终端运行
便于集中管理多个服务
操作:


方向键:移动
空格: 对服务是否表示自启动的确认
tab: 切换
作用: 不提供交互式、可视化窗口
管理单个服务效率更高
操作命令:
systemctl is-enabled 服务: 查看服务的启动状态
systemctl enable/disable 服务: 设置服务的启动状态
systemctl list-units --type=service: 查看当前系统中所有已 激活的系统服务
systemctl list-unit-files |grep enabled: 查看所有开机自启动的服务器