linux系统学习(15.启动管理)

目录

一、运行级别

1.运行级别

2.运行级别命令

(1)runlevel

[(2)init + 运行级别](#(2)init + 运行级别)

3.永久修改启动级别(ubantu20.04)

二、启动过程

[🔹 总结](#🔹 总结)

三、启动引导程序grub配置文件


一、运行级别

1.运行级别

2.运行级别命令

(1)runlevel

(2)init + 运行级别

改变运行级别的命令。比如init 0 就是关机。 init 6 就是重启等。最好加个sudo。

3.永久修改启动级别(ubantu20.04)

复制代码
# 设置开机进入命令行模式
sudo systemctl set-default multi-user.target

# 设置开机进入图形界面模式
sudo systemctl set-default graphical.target

修改后可以验证:

复制代码
systemctl get-default

二、启动过程

解释

(1)开机进入BIOS,这个是主板上的固件,通过BIOS可以加载MBR上的引导程序。这个程序在磁盘上,按道理来说,没驱动怎么在磁盘上进行读写操作?但是BIOS上有最基本的IO读写的操作。其实可能就是有地址总线,直接读就完了,不依赖文件系统。所以就算是不同的磁盘,他肯定是有扇区的,也就是设计结构或者文件系统不同,但是在BIOS这里无所谓。

(2)MBR中有建议的驱动程序,可以读取文件系统如ext4,FAT等。之后他就从/boot读取文件,包括内核和initramfs。

(3)加载内核之后呢,根据initramfs这个文件,建立仿真目录。这个仿真目录里面放着一些驱动程序,内核可以加载这些驱动程序读取磁盘。

(4)之后系统进行初始化,如对主机名,网络,硬盘挂载等进行初始化。另一部分根据运行级别启动对应的程序,这些程序在/etc/rcx(ubantu20.04),x从0-6代表不同系统级别启动的脚本程序。其中K开头的表示系统关机默认执行的程序,S开头的表示系统开机默认执行的脚本程序。

(5)对于ubantu20.04来说,已经没有/etc/rc.d/rc.local了。如果想要开机自动执行一个服务(服务未必就是一直在后台运行的,可以把任何的可执行文件写成服务),需要

🔹 总结

  • systemd 的配置文件就在 /etc/systemd/system/(用户自定义)、/lib/systemd/system/(系统自带)。

  • 真正决定开机启动的,不是"放到某个文件夹里",而是:

    • 写好一个 xxx.service 文件放到 /etc/systemd/system/

    • 然后执行:

      sudo systemctl daemon-reload sudo systemctl enable xxx.service

      这一步会在 /etc/systemd/system/multi-user.target.wants/(或对应 target)里创建符号链接 → 表示开机要自动启动。

注意:/sbin/init这个程序是系统里面第一个启动的进程,他是很多进程的父进程。进程号PID=1。

三、启动引导程序grub配置文件

这个就是MBR启动引导程序读取的配置文件,但是对于ubantu20.04来说,不太允许修改。

相关推荐
你怎么知道我是队长23 分钟前
C++零基础入门第2周:数据类型、运算符与表达式完全指南(附20段可运行代码+避坑清单)
c++
huainingning35 分钟前
Windows syslog日志服务器搭建与模拟器对接
运维·服务器·智能路由器
say_fall43 分钟前
【Linux系统编程】Ext 文件系统:磁盘与存储、文件与目录、现代计算机究竟如何寻找文件
linux·运维·服务器·数据库·c++
雪落漂泊1 小时前
C++算法 滑动窗口篇(下)
开发语言·c++
wacsii1 小时前
【Linux进程(一)】Linux 进程初探:操作系统如何管理进程?fork() 为什么返回两次?
linux·运维·服务器
共享家95272 小时前
408 操作系统第一章
服务器·数据库·windows
默|笙2 小时前
【Linux网络】传输层协议TCP(1)---TCP报文介绍
linux·网络·tcp/ip
相思难忘成疾2 小时前
从零搭建 Kubernetes 1.30 集群:kubeadm 部署一主多从实战(RHEL 9.3 + Docker + flannel)
linux·运维·kubernetes
PellyKoo2 小时前
【docker】cifs卷改smb密码后容器起不来的解决方法
运维·docker·容器
云飞云共享云桌面2 小时前
1台SolidWorks服务器如何承载10个设计并发?
运维·服务器·网络·3d·制造