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通过执行start或stop命令来重启相应的守护进程,确保系统环境的正确初始化。 |
用户登录过程
登录方式描述
命令行登录 |
通过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 now和poweroff,用于关闭系统。 |
总结
关机命令: shutdown –h now, halt, poweroff, init 0。
重启命令: shutdown –r now, reboot, init 6。
评论前必须登录!
注册