2Linux系统的启动过程

 

系统启动过程的5个阶段:

1、内核引导阶段;当计算机打开电源后,首先是BIOS开机自检,按照BIOS中设置的启动设备(通常是硬盘)来启动。

2、运行init阶段;init进程是系统所有进程的起点,没有这个进程,系统中任何进程都不会启动。

  • init程序首先需要读取配置文件/etc/inittab。

  • init运行后,接着动运行开机启动的程序,分配不同的开机启动程序,Linux启动有7个运行级别(runlevel):

    • 运行级别0:系统停机状态,系统默认运行级别不能设为0,否则不能正常启动

    • 运行级别1:单用户工作状态,root权限,用于系统维护,禁止远程登陆

    • 运行级别2:多用户状态(没有NFS)

    • 运行级别3:完全的多用户状态(有NFS),登陆后进入控制台命令行模式

    • 运行级别4:系统未使用,保留

    • 运行级别5:X11控制台,登陆后进入图形GUI模式

    • 运行级别6:系统正常关闭并重启,默认运行级别不能设为6,否则不能正常启动

3、系统初始化阶段;调用/etc/rc.d目录中的rc完成一些系统初始化的工作,主要是激活交换分区,检查磁盘,加载硬件模块以及其它一些需要优先执行任务。

4、建立终端阶段。rc 执行完毕后,返回 init。这时基本系统环境已经设置好了,各种守护进程也已经启动了。init 接下来会打开6个终端,以便用户登录系统。

5、用户登录系统。分为命令行登录、图形界面登录和SSH登录(远程登录)

命令行登录、图形界面登录是本地登录,由于本地登录只能登录其中一种模式,具体是哪种登录模式,主要看/etc/inittab文件配置文件中默认的运行级别。

/etc/inittab文件在Linux7及以上版本与低版本有区别,网上较多低版本的资料,直接修改文件。Linux7版本通过systemctl工具集命令形式修改运行级别,修改的文件全部改到/etc/systemd/system目录中。

查看当前运行级别:systemctl get-default

修改运行级别为命令行:systemctl set-default multi-user.target

修改运行级别为图形界面:systemctl set-default graphical.target

复制代码
[root@localhost ~]# systemctl set-default multi-user.target --永久修改动行级别为命令行模式。
Removed symlink /etc/systemd/system/default.target.
Created symlink from /etc/systemd/system/default.target to /usr/lib/systemd/system/multi-user.target.

[root@localhost ~]# systemctl set-default graphical.target --默认启动图形模式
[root@localhost ~]# cat /etc/systemd/system/default.target
[Unit]
Description=Graphical Interface(Multi-User System)
Documentation=man:systemd.special(7)
Requires=multi-user.target(Basic.target)
Wants=display-manager.service
Conflicts=rescue.service rescue.target
After=multi-user.target rescue.service rescue.target display-manager.service
AllowIsolate=yes

[root@localhost ~]#systemctl set-default multi-user.target --默认启动命令行模式
[root@localhost ~]# cat /etc/systemd/system/default.target
[Unit]
Description=Multi-User System
Documentation=man:systemd.special(7)
Requires=basic.target
Conflicts=rescue.service rescue.target
After=basic.target rescue.service rescue.target
AllowIsolate=yes

复制代码

如果是临时切换命令行模式或图形模式,可以通过init命令。

[root@localhost ~]#init 3 --从图形模式切换到命令行模式

[root@localhost ~]#init 5 --从命令行模式切换到图形模式

 

6.Linux的关机和退出

(1)关机和退出

关机流程为:sync > shutdown > halt

关机命令有:shutdown -h now、halt、poweroff、init 0

  • 通过运行级别关机:

[root@localhost ~]#init 0  --运行级别为0,即关机
  • 取消定时关机:

[root@localhost ~]#shutdown -c
  • halt 命令通知硬件来停止所有的 CPU 功能,不断电,也可以停机断电。

  • poweroff 会发送一个 ACPI 信号来通知系统关机。

(2)重启

重启流程为:sync > reboot > halt

重启命令有:shutdown -r now、reboot、init 6

[root@localhost ~]#reboot

[root@localhost ~]#shutdow -r now 或 shutdow -r 0

[root@localhost ~]#init 6

(3)命令提示行解析

[root@localhost ~]#   

root:是当前登录账号名

@:是“在”的意思

localhost:是指当前系统名称

~:是表示家目录为当前工作目录,即当前账号默认使用的工作目录

#:表示root账号是超级账号,如果是$表示是普通账号(由超级账号创建的账号)

posted @   hkglion  阅读(19)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
点击右上角即可分享
微信分享提示