博客
关于我
引导过程与服务控制
阅读量:704 次
发布时间:2019-03-16

本文共 2056 字,大约阅读时间需要 6 分钟。

引导过程与服务控制

Linux操作系统引导过程

操作系统引导过程可以概括为以下几个关键环节:

  • 硬件自检

    BIOS通过CMOS芯片读取主板设置,检查硬件设备是否正常工作。如果检测到问题,会报错提示。

  • MBR引导

    MBR包含三个主要部分:

    • 启动引导程序(446字节):负责加载内核和提供用户选项。
    • MBR分区表(64字节):记录硬盘分区信息。
    • 识别码(2字节):用于确认MBR的正确性。
      启动引导程序会寻找内核,提供用户选择的选项。
  • 内核加载

    内核在加载过程中会重新检测硬件并加载驱动程序。通过虚拟文件系统挂载系统文件,确保内核正常运行。

  • 系统初始化

    • systemd进程(pid=1):作为第一个进程启动。
    • sysinit目标:初始化文件系统、用户目录、网络设置等。
    • multi-user目标:启动系统自启动服务。
    • getty单元:为用户准备登录环境。
    • 图形界面启动(可选):启动必要的图形服务。
  • Systemd单元类型

    Systemd支持多种单元类型,主要有以下几种:

    • service单元:用于定义服务,例如apache.service
    • target单元:定义系统运行目标,例如multi-user.target

    通过这些单元,systemd可以管理系统服务和运行状态。

    运行级别与Systemd目标

    Systemd使用目标(target)来定义不同的运行级别:

    • init0、init3、init5、init6:分别对应不同的运行级别。
    • init6=reboot:用于关机后重启。
    • shutdown -r:支持按重启模式关机。
    • runlevel命令:查看当前运行级别,例如runlevel显示当前级别,runlevel -r显示之前的级别。

    当前系统运行级别为runlevel3 5,表示从未改动过。

    配置文件与管理命令

    配置文件

    • /etc/systemd/system:存放不同运行级别的自启动服务配置。
    • /run/systemd/system:系统运行期间产生的临时服务脚本目录。
    • /usr/lib/systemd/system:存储服务启动脚本的主要文件,类似于传统的/etc/init.d目录。

    管理命令

    • systemctl --version:查看systemd版本信息。
    • systemctl start name.service:启动服务。
    • systemctl stop name.service:停止服务。
    • systemctl restart name.service:重启服务。
    • 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.service:查看服务是否启动失败。
    • systemctl mask name.service:屏蔽服务。
    • systemctl cat kube-apiserver name.service:查看服务配置文件。
    • systemctl unmask name.service:取消屏蔽服务。
    • systemctl get-default:查看当前系统默认启动目标。
    • systemctl set-default multi-user.target:设置默认启动目标为multi-user.target
    • systemd-analyze:查看系统启动耗时。

    系统修复

    MBR扇区故障修复

    故障原因

    • 病毒或恶意软件破坏。
    • 不正确的分区操作或磁盘读写错误。

    故障现象

    • 无法启动系统,系统中断或黑屏。

    解决思路

  • 备份文件:提前备份重要数据。
  • 使用安装光盘进入急救模式
    • Esc进入启动菜单。
    • 选择rescue选项。
    • 从备份文件恢复系统。
  • GRUB引导故障修复

    故障原因

    • GRUB引导程序或配置文件损坏。

    故障现象

    • 系统无法启动,显示grub>提示符。

    解决思路

  • 手动输入引导命令
    • 使用安装光盘进入系统。
    • 输入grub> root并挂载文件系统。
    • 输入grub> boot启动系统。
  • 遗忘root用户密码修复

    故障原因

    • root用户密码丢失。

    故障现象

    • 无法执行需要root权限的操作。

    解决思路

  • 进入急救模式
    • Esc进入启动菜单。
    • 选择rescue选项。
    • c进入命令模式。
    • 输入chroot切换根目录。
    • 输入passwd root重置root密码。
  • 转载地址:http://xdpqz.baihongyu.com/

    你可能感兴趣的文章
    Net与Flex入门
    查看>>
    net包之IPConn
    查看>>
    NFinal学习笔记 02—NFinalBuild
    查看>>
    NFS共享文件系统搭建
    查看>>
    nfs复习
    查看>>
    NFS网络文件系统
    查看>>
    nft文件传输_利用remoting实现文件传输-.NET教程,远程及网络应用
    查看>>
    ng 指令的自定义、使用
    查看>>
    Nginx
    查看>>
    nginx + etcd 动态负载均衡实践(二)—— 组件安装
    查看>>
    nginx + etcd 动态负载均衡实践(四)—— 基于confd实现
    查看>>
    Nginx + Spring Boot 实现负载均衡
    查看>>
    Nginx + uWSGI + Flask + Vhost
    查看>>
    Nginx - Header详解
    查看>>
    Nginx Location配置总结
    查看>>
    Nginx upstream性能优化
    查看>>
    Nginx 中解决跨域问题
    查看>>
    Nginx 动静分离与负载均衡的实现
    查看>>
    Nginx 反向代理 MinIO 及 ruoyi-vue-pro 配置 MinIO 详解
    查看>>
    Nginx 反向代理解决跨域问题
    查看>>