本章结构
- 引导过程
- 排除启动类故障
- 服务控制及切换运行级别
- 优化启动过程
引导过程总览:
1.开机自检
2.MBR引导
3.GRUB菜单:属于系统启动的选择菜单,在安装双系统的情况下可以看到
4.加载内核(kernel)
5.init进程初始化:系统的必要组件加载完成后,运行系统的环境变量
init进程
init进程
- 由Linux内核健在运行/sbin/init
- 是系统中第一个进程
- PID(进程标记)号永远为1
Systemd单元类型:
单元类型 | 扩展名 | 说明 |
---|---|---|
Service | .service | 描述一个系统服务 |
Socket | .socket | 描述一个进程间通信的套接字 |
Device | .device | 描述一个内核识别的设备文件 |
Mount | .mount | 描述一个文件系统的挂载点 |
Automouunt | .automout | 描述一个文件系统的自动挂载点 |
Swap | .swap | 描述一个内存交换设备或交换文件 |
Path | .path | 描述一个文件的系统中文件或目录 |
Timer | .timer | 描述一个定时器(用于实现类似cron的调度任务) |
Snapshot | .snaphshot | 用于保存一个systemd的状态 |
Scope | .scope | 使用systemd的总线接口以编程的方式创建外部进程 |
Slice | .slice | 描述居于Cgroup的一组通过层次组织的管理系统进程 |
Target | .target | 描述一组systemd的单元 |
运行级别所应对的Systemd目标:
运行级别 | Systemd的target | 说明 |
---|---|---|
0 | target | 关机状态,使用该级别时将会关闭主机 |
1 | rescue.target | 单用户模式,不需要密码验证即可登录系统,多用于系统维护 |
2 | multi-user.target | 用户定义/域特定运行级别。默认等同于3 |
3 | multi-user.target | 字符界面的完整多用户模式,大多数服务器主机运行在次级别 |
4 | multi-user.target | 用户定义/域特定运行级别。默认等同于3 |
5 | graphical.target | 图形界面的多用户模式,提供了图形桌面操作环境 |
6 | reboot. target | 重新启动,使用该级别时将会重启主机 |
修复MBR扇区故障
故障原因
- 病毒、***等造成的破坏
- 不正确的分区操作、磁盘读写误操作
故障现象 - 找不到引导程序,启动中断
- 无法加载操作系统,开机后黑屏
解决思路 - 应提前做好备份文件
- 以安装光盘引导进入急救模式
- 从备份文件中恢复
修复GRUB引导故障
故障原因
- MBR中的GRUB引导程序遭到破坏
- grub.conf文件丢失,引导配置有误
故障现象 - 系统引导停滞,显示“grub>”提示符
解决思路 - 尝试手动输入引导命令
- 进入急救模式,重写或者从备份中恢复grub.conf
- 向MBR扇区中重建grub程序
遗忘root用户密码
故障原因
- 遗忘root用户的密码
故障现象 - 无法进行需要root权限的管理操作
- 若没有其他可用账号,将无法登录系统
解决思路 - 进入急救模式,重设密码
系统服务控制
系统服务控制
- 常用方式:sysytemctl 控制类型 服务名称
控制类型 - start:启动
- stop:停止
- restart:重新启动(先停止再启动)
- reload:重新加载(刷新配置文件)
- status:查看服务状态
Linux系统的运行级别
查看运行级别:
- runlevel命令
- systemctl工具
临时切换运行级别: - init命令
- systemctl工具
优化启动过程
系统服务管理工具
ntsysv工具(伪终端)
- 提供一个交互式、可视化窗口
- 可以在字符终端运行
- 便于几种管理多个服务
systemctl工具 - 不提供交互式,可视化窗口
- 管理单个服务效率更高
系统服务的启动和控制
查看系统服务的启动状态
- systemctl is-enabled 服务名称
设置系统服务的启动状态 - systemctl enable/dasable 服务器名称