目录
一、Linux操作系统引导过程
开机自检: 检查硬件设备,检测出第一个能够引导的系统设备,一般通过硬盘
MBR引导: 运行放在mbr扇区里的启动GRUB引导程序
GRUB菜单: GRUB引导程序通过读取GRUB配置文件/boot/grub2/grub.cfg,来获取内核和镜像文件系统的设置和路径位置,并屏幕显示grub菜单
加载内核: 把内核和镜像文件系统加载到内存中,把系统控制权交接给内核
init进程初始化: 加载硬件驱动程序 内核把init进程加载到内存中运行,并把init进程作为系统的第一个进程 sbin/init init进程ID为1 它是系统进程的父进程
系统初始化: 启动内核模块,执行运行级别的启动脚本,执行/etc/re.d/rc.local文件里的命令
centos7开始默认的启动方式为systemd,开机服务程序为并行启动,启动效率块
centos6及以前版本的启动方式是sysVinit,开机服务程序是通过串行启动/etc/init.d/目录下的shell脚本实现的,容易堵塞 启动效率慢
linux系统运行级别:
运行级别 | 说明 |
0 | 关机 |
1 | 单用户模式 |
2 | 字符界面的多用户模式(无网络) |
3 | 字符界面的多用户模式(完整的,有网络) |
4 | 字符界面的多用户模式(保留) |
5 | 图形界面的多用户模式 |
6 | 重启 |
二、排除启动类故障
1、MBR扇区被破坏恢复
模拟MBR扇区被破坏恢复
1、先创建一个备份目录mkdir mbr-bak 然后添加一块硬盘 fdisk /dev/硬盘 分区 格式化mkfs -t xfs /dev/sdb1 然后挂载 mount /dev/sdb1 /opt/mbr-bak
2、开始备份 备份命令:dd if=/dev/sda of=/opt/mbr-bak/mbr.bak bs=512 count=1 (dd是复制 if是指定从哪里复制数据 of指定复制到哪里 bs是指定获取的数据 count是重复多少次)
3、破坏mbr扇区:dd if=/dev/zero of=/opt/sda bs=512 count=1 意思是复制空数据到sda磁盘
4、重启发现不能启动了
5、从光盘启动 有个急救模式 进去 选择第二个 然后按1 进入到命令行模式
6、创建一个目录 把数据恢复到这里
7、然后把之前备份的/dev/sdb1挂载到这个目录下 然后 cd进去 就会看到备份的数据
8、恢复数据: dd if=/mbr-bak/mbr.bak of=/dev/sda 回车 然后就将备份的mbr导入到磁盘里
root密码忘记
1、进入急救模式 然后按1继续 进入到命令界面
2、chroot / mnt/ sysimage 切换根环境目录
3、passwd root 修改密码
4、然后重启
三、服务控制及切换运行级别
命令:systemctl 控制类型 .server 可加可不加 .server
查看运行级别 :runlevel
systemctl 工具:查看当前默认级别
init 级别 : 切换当前级别
四、优化启动过程
服务开机自启动:systemctl enable 或 disable --now 立即开启或关闭服务
systemctl enabled 服务名 查看开机自启是否打开
ntsysv 图形化界面开启自动启动