一、本章结构

引导过程

排除启动类故障

服务控制及切换运行级别

优化启动过程

二、引导过程:

1、引导代码在第一块磁盘的第一个扇区。第一个扇区被***破坏,则系统无法启动。

2、引导过程总览

Linux《八》——引导过程与服务控制_Linux引导服务 开机自启动

3、init进程

    由linux内核加载运行/sbin/init 程序

    是系统中第一个进程

    PID(进程标记)号永远为1

三、排除启动类故障:

1、修复MBR扇区故障

   a、故障原因:

        病毒、***等造成的破坏

        不正确的分区操作、磁盘读写误操作

   b、故障现象:

       找不到引导程序,启动中断

       无法加载操作系统、开启后黑屏

   c、 解决思路:

       应提前做好备份工作

       以安装光盘引导进入急救模式

       从备份文件中恢复

第一步:将第一块磁盘上的mbr引导扇区备份到其他非本地磁盘上。首先现在其他磁盘中建立一个新的文件夹mkdir /data用以备份mbr引导扇区.

Linux《八》——引导过程与服务控制_Linux引导服务 开机自启动_02

输入dd if=/dev/sda of=/data/sda.mbr.bak bs=512 count=1

Linux《八》——引导过程与服务控制_Linux引导服务 开机自启动_03

覆盖

2、修复GRUB引导故障:

     a、故障原因:

       MBR中的GRUB引导程序遭到破坏

       grub.conf文件丢失、引导配置有误

     b、故障现象:

       系统引导停滞,显示“grub>”提示符

     c、解决思路

       尝试手动输入引导命令

       进入急救模式,重写或者从备份中恢复grub.conf

       向MBR扇区中重建grub程序

3、遗忘root用户密码

     a、故障原因:

         遗忘root用户密码

     b、故障现象:

        无法进行需要root权限的管理操作

        若没有其他可用账号,将无法登陆系统

     c、解决思路

        进入急救模式,重设密码

四、系统服务控制及切换运行级别

1、系统服务控制:

   常用方式:

   systemctl 控制类型 服务名称

   控制类型

  start:启动

  stop:停止

  restart:重新启动

  reload:重新加载

  status:查看服务状态

2、系统的运行级别

   a、查看运行级别:

      runlevel命令:(只能查看切换运行级别与当前运行级别)

      systemctl工具:(能查看默认的运行级别)

   b、临时切换运行级别

      init命令:(init的命令参数是运行级别所对应的数字)

      systemctl工具:(systemctl的命令参数是具体的target)

Systemd单元类型

单元类型扩展名说明
service.service描述一个系统服务
socket.socket描述一个进程间通信的套接字
device.device描述一个内核识别的设备文件
mount.mount描述一个文件系统的挂载点
Automount.automount
描述一个文件系统的自动挂载点
Swap.swap描述一个内存交换设备或交换文件
psth.path描述一个文件系统中文件或目录
timer.timer描述一个定时器(用于实现类似cron的调度任务)
snapshot.snapshot用于保存一个systemd的状态
scope.scope
使用systemd的总线接口以编程的方式创建外部进程
Slice.slice描述居于Cgroup的一组通过层次组织的管理系统进程
Target.target描述一组systemd的单元

运行级别所以对应的Systemd目标

运行级别systemd的target说明
0target关机状态,使用该级别时将会关闭主机 
1rescue.target单用户模式,不需要密码验证即可登录系统,多用于系统维护
2multi-user.target用户定义/域特定运行级别,默认等同于3
3multi-user.target字符界面的完整多用户模式,大多数服务器主机运行在此级别
4
multi-user.taget用户定义/域特定运行级别,默认等同于3
5graphical.target图形界面的多用户模式,提供了图形桌面操作环境
6reboot.target重新启动,使用该级别时将会重启主机


五、启动优化过程

1、系统服务管理工具

    a、ntsysv工具(伪终端,开机自启动)

       提供一个互交式、可视化窗口

       可以在字符终端运行

       便于集中管理多个服务

    b、systemctl工具(效果更好)

       不提供互交式、可视化窗口

       管理单个服务效率更高

2、系统服务的启动和控制

    a、ntsysv系统服务管理工具

        ntsysv

        ntsysv --level 级别列表

    b、查看系统服务的启动和控制

        查看系统服务的启动状态

        systemctl is-enabled 服务名称

        设置系统服务的启动状态

        systemctl enable/disable 服务名称

        enable:下次开机自启动        disable:下次开机不自启