linux开机原理以及如何开关机-linux023

linux开机原理以及如何开关机

Linux 系统启动过程概述

阶段 描述
内核引导 启动时,BIOS执行自检,启动设备通常是硬盘。操作系统接管硬件后,读取/boot目录下的内核文件。
运行 init init是系统所有进程的起点,负责启动其他进程。它读取配置文件/etc/inittab,并根据该配置启动后续的系统进程。
系统初始化 init执行/etc/rc.d/rc.sysinit脚本,完成如激活交换分区、检查磁盘、加载硬件模块等初始化任务。
建立终端 init打开6个终端(tty1至tty6),每个终端提供用户登录系统的接口。通过配置文件inittab定义各个终端的启动方式。
用户登录系统 用户通过命令行、SSH或图形界面进行登录。login程序验证用户身份,文本模式下通过mingetty启动终端,验证后进入系统。

init 程序及运行级别

init程序类型 描述 配置文件
SysV init,CentOS 5之前使用的版本。 /etc/inittab
Upstart init,CentOS 6使用的版本。 /etc/inittab, /etc/init/*.conf
Systemd systemd,CentOS 7使用的版本。 /usr/lib/systemd/system, /etc/systemd/system

运行级别(Runlevel)

运行级别 描述
0 系统停机状态,不能正常启动
1 单用户工作状态,root权限,用于系统维护,禁止远程登录
2 多用户状态(没有NFS)
3 完全的多用户状态(有NFS),登录后进入命令行模式
4 系统未使用,保留
5 X11控制台,登录后进入图形GUI模式
6 系统正常关闭并重启,默认运行级别不能设为6,否则不能正常启动

系统初始化过程

步骤 描述
执行rc.sysinit脚本 init调用/etc/rc.d/rc.sysinit脚本,进行系统初始化,如激活交换分区、检查磁盘、加载硬件模块等。
启动守护进程 /etc/rc.d/rc脚本接受不同运行级别的参数,调用/etc/rc.d/rc5.d/目录下的启动脚本。这些脚本以S(start)或K(stop)开头,用于启动或停止守护进程。
脚本执行 根据运行级别的变化,init通过执行startstop命令来重启相应的守护进程,确保系统环境的正确初始化。

用户登录过程

登录方式 描述
命令行登录 通过mingetty程序登录,login验证用户名与密码。
SSH登录 用户远程登录到系统,通常用于远程管理服务器。
图形界面登录 默认进入图形界面,通过图形化界面登录并进入KDE、Gnome等窗口管理器。

终端与图形界面切换

切换方式 描述
命令窗口切换 使用Ctrl + Alt + F1 ~ F6切换不同命令窗口。
图形界面与命令窗口切换 在图形界面下,按Ctrl + Alt + F1 ~ F6进入命令窗口,按Ctrl + Alt + F7回到图形界面。
VMware虚拟机切换 在VMware中,使用Alt + Space + F1 ~ F6切换命令窗口,或Alt + Shift + Ctrl + F1 ~ F6切换至命令窗口。

Linux 关机与重启

关机命令 描述
sync 将数据由内存同步到硬盘中。
shutdown 用于关机,支持延迟关机,如shutdown --h 10在10分钟后关机,shutdown --h now立即关机,shutdown --r now立即重启。
reboot 等同于shutdown --r now,用于系统重启。
halt 等同于shutdown --h nowpoweroff,用于关闭系统。

总结

  1. 关机命令: shutdown --h now, halt, poweroff, init 0

  2. 重启命令: shutdown --r now, reboot, init 6

相关推荐
wdfk_prog11 小时前
[Linux]学习笔记系列 -- [drivers][input]input
linux·笔记·学习
盟接之桥12 小时前
盟接之桥说制造:引流品 × 利润品,全球电商平台高效产品组合策略(供讨论)
大数据·linux·服务器·网络·人工智能·制造
忆~遂愿12 小时前
ops-cv 算子库深度解析:面向视觉任务的硬件优化与数据布局(NCHW/NHWC)策略
java·大数据·linux·人工智能
湘-枫叶情缘12 小时前
1990:种下那棵不落叶的树-第6集 圆明园的对话
linux·系统架构
Fcy64813 小时前
Linux下 进程(一)(冯诺依曼体系、操作系统、进程基本概念与基本操作)
linux·运维·服务器·进程
袁袁袁袁满13 小时前
Linux怎么查看最新下载的文件
linux·运维·服务器
代码游侠13 小时前
学习笔记——设备树基础
linux·运维·开发语言·单片机·算法
Gary Studio13 小时前
rk芯片驱动编写
linux·学习
mango_mangojuice13 小时前
Linux学习笔记(make/Makefile)1.23
java·linux·前端·笔记·学习
Harvey90313 小时前
通过 Helm 部署 Nginx 应用的完整标准化步骤
linux·运维·nginx·k8s