Linux引导过程和服务(解决开机时的小问题)

网友投稿 219 2022-11-05

Linux引导过程和服务(解决开机时的小问题)

@[TOC]

一、linux操作系统引导过程

1.引导过程总览

1.开机自检

服务器主机开机以后,将根据主板BIOS中的设置对CPU、内存、显卡、键盘等设备进行初步检测,检测成功后根据预设的启动顺序移交系统控制权,大多时候会移交给本机硬盘。==总结:检测出第一个能够引导系统的设备,比如硬盘或者光驱==

2.MBR引导

当从本机硬盘中启动系统时,首先根据硬盘第一个扇区中MBR (主引导记录)的设置,将系统控制权传递给包含操作系统引导文件的分区;或者直接根据MBR记录中的引导信息调用启动菜单(如GRUB) 。==总结:运行放在MBR扇区里的启动GRUB引导程序==

3.GRUB菜单

4、加载Linux内核

Linux内核是一个预先编译好的特殊二进制文件,介于各种硬件资源与系统程序之间,负责资源分配与调度。内核接过系统控制权以后,将完全掌控整个Linux操作系统的运行过程。CentOS 7系统中,默认的内核文件位于"/boot/vmlinuz-3.10.0-514.e17.x86_64"==总结:把内核和镜像文件系统加载到内存中==

5、init进程初始化

为了完成进一步的系统引导过程,Linux内核首先将系统中的"/sbin/init"程序加载到内存中运行(运行中的程序称为进程),init进程负责完成整个系统的初始化,最后等待用户进行登录。==总结:加载硬件驱动程序,内核把init进程加载到内存中运行==

2.系统初始化进程

1.init进程

由Linux内核加载运行 **/sbin/init程序init进程是系统中第一个进程,是所有进程的父进程init进程的PID (进程标记)号永远为1

2.Systemd

Systemd是Linux操作系统的一种init软件CentOS7中采用全新的Systemd启动方式,取代传统的SysVinitCentOS7中运行的第一个init进程是/lib/systemd/systemd

3.init进程与Systemd

3.Systemd单元类型

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

4.运行级别所对应的Systemd目标

==用init+运行级别即可,比systemctl .target方便==
运行级别 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 重新启动,使用该级别时将会重启主机

二、排除启动类故障

1.修复MBR扇区类故障

1.1、故障原因

2.修复GRUB引导故障

2.1、故障原因

3.忘记密码换密码

chroot /mnt/sysimage #进入急救模式,加载系统镜像,切换到系统根环境 passwd root #重设root用户密码

三、系统服务控制

1.CentOS7的systemctl命令

1.命令格式

2.常用控制类型

三、查看运行级别

1.runlevel查看当前和上一次的运行级别

2.systemctrl工具 查看默认运行级别(模式)

四、设置运行级别

1.临时切换运行级别

命令 说明
init命令 init命令参数是运行级别所对应的数字
systemctrl工具 systemctrl的命令参数是具体的target

2.永久切换运行级别

2.1方法一

2.2方法二

五、优化启动过程

1、工具

1.ntsysv 工具

提供一个交互式、可视化窗口 可以在字符终端中运行(显示图形) 便于集中管理多个服务 用于控制服务==是否开机时启动==

2.systemctl 、 chkconfig 工具

2.设置系统服务的启动状态

3.chkconfig(只能对放置在 /etc/init.d/中的服务进行管理)

用chkconfig --list 查看

用chkconfig --level on/off 管理

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:显卡的工作原理和4种电脑显卡接口的类型介绍
下一篇:IDEA神器一键查看Java字节码及其他类信息插件
相关文章

 发表评论

暂时没有评论,来抢沙发吧~