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

相关推荐
人生苦短,菜的抠脚24 分钟前
Linux 内核IIO sensor驱动
linux·驱动开发
jz_ddk36 分钟前
[LVGL] 从0开始,学LVGL:进阶应用与项目实战(上)
linux·信息可视化·嵌入式·gui·lvgl·界面设计
望获linux1 小时前
【实时Linux实战系列】Linux 内核的实时组调度(Real-Time Group Scheduling)
java·linux·服务器·前端·数据库·人工智能·深度学习
MC丶科1 小时前
【SpringBoot常见报错与解决方案】端口被占用?Spring Boot 修改端口号的 3 种方法,第 3 种 90% 的人不知道!
java·linux·spring boot
江公望1 小时前
ubuntu kylin(优麒麟)和标准ubuntu的区别浅谈
linux·服务器·ubuntu·kylin
Lynnxiaowen1 小时前
今天我们开始学习python语句和模块
linux·运维·开发语言·python·学习
生态笔记2 小时前
PPT宏代码
linux·服务器·powerpoint
mucheni2 小时前
迅为RK3588开发板Ubuntu 系统开发ubuntu终端密码登录
linux·运维·ubuntu
skywoodsky2 小时前
Ubuntu 24.04环境下的挂起转休眠
linux
小云数据库服务专线2 小时前
GaussDB 应用侧报Read timed out解决方法
linux·服务器·gaussdb