linux系统底层逻辑 开机顺序 ubuntu22.04系统

以下有免费的4090云主机提供ubuntu22.04系统的其他入门实践操作

地址:星宇科技 | GPU服务器 高性能云主机 云服务器-登录

相关兑换码星宇社区---4090算力卡免费体验、共享开发社区-CSDN博客

兑换码要是过期了,可以私信我获取最新兑换码!!!'

下面获取最新兑换码

之所以推荐给大家使用,是因为上面的云主机目前是免费使用的,不需要大家再去安装虚拟机,部署虚拟机,环境都搭配好了,非常适合新手入门,减少搭建的时间,把时间都用在实践上。

第一步 开机自检,加载BIOS

第二步 读取MBR 引导扇区

第三步 BOOT Loader grub 引导菜单

#grub启动文件

cat /etc/default/grub

#cp复制完整副本

sudo cp /etc/default/grub /etc/default/grub.bak

GRUB_DEFAULT

#设置加载哪个OS 单个OS时默认0 可以输入OS名称

sudo update-grub #收到done

GRUB_TIMEOUT #系统可选择其他OS时间

隐藏启动菜单

++当文件打开时,您需要设置以下几行:++

  • ++GRUB_TIMEOUT_STYLE=hidden++++-++++隐藏启动菜单。尽管它仍然会等待您通过++++GRUB_TIMEOUT++++设置的几秒钟。++
  • ++GRUB_TIMEOUT_STYLE=countdown++++-++++隐藏启动菜单并显示倒计时。甚至设置++++GRUB_TIMEOUT=0++++。数到++++3++++、++++2++++、++++1++++。++
  • ++GRUB_TIMEOUT=0++++-++++它将立即启动默认操作系统。但是,您可以将其设置为++ ++3++ ++或++ ++5++++,这样您就可以在需要时按++++ESC++++(++++F4++++或按住++++Shift++++)来显示启动菜单。++
  • ++GRUB_DISABLE_OS_PROBER=true++++-++++禁用++++"++++/etc/grub.d/30_os-prober++++"++++,因为它会覆盖++++GRUB_TIMEOUT_STYLE++++的值。但是,它将不再找到除++++Ubuntu++++之外的其他操作系统。++
  • ++GRUB_RECORDFAIL_TIMEOUT=0++++-++++设置上次启动失败时的超时时间。如果没有该键,它将显示并停止在启动菜单等待用户操作。++

第四步 加载kernel内核

内核解压-内核启动-调用start_kernel函数

start_kernel函数位于init/main.c文件中,负责完成大部分内核的初始化工作。

  • 初始化控制台:设置内核的打印机制,以便后续的输出可以显示出来。
  • 初始化内存管理子系统:建立初始的内存管理结构,准备好内存分配机制。
  • 检测和初始化硬件设备:内核会检测并初始化系统中的各种硬件设备和驱动程序。
  • 启动中断处理机制:设置和启动中断处理机制,使得内核可以响应硬件中断。
  • 初始化内核调度器:初始化内核调度器,以便管理进程调度。
  • 加载初始进程:内核创建并启动第一个用户空间进程,通常是/sbin/init。

第五步 init进程依据inittab文件夹来设定运行级别

内核被加载后,第一个运行的程序便是/sbin/init,该文件会读取/etc/inittab文件,并依据此文件来进行初始化工作。

其实/etc/inittab文件最主要的作用就是设定Linux的运行等级,其设定形式是":id:5:initdefault:",这就表明Linux需要运行在等级5上。Linux的运行等级设定如下:

0:关机

1:单用户模式

2:无网络支持的多用户模式

3:有网络支持的多用户模式

4:保留,未使用

5:有网络支持有X-Window支持的多用户模式

6:重新引导系统,即重启

关于/etc/inittab文件的学问,其实还有很多。

第六步 init进程执行rc.sysinit

在设定了运行等级后,Linux系统执行的第一个用户层文件就是/etc/rc.d/rc.sysinit脚本程序,它做的工作非常多,包括设定PATH、设定网络配置(/etc/sysconfig/network)、启动swap分区、设定/proc等等。

第七步 启动内核模块

依据/etc/modules.conf文件或/etc/modules.d目录下的文件来装载内核模块

第八步 执行不同运行级别的脚本程序 /etc/rc.d/rc.RUNLEVEL # RUNLEVEL为缺省的运行模式

根据运行级别的不同,系统会运行rc0.d到rc6.d中的相应的脚本程序,来完成相应的初始化工作和启动相应的服务

第九步 执行/etc/rc.d/rc.local ----可以追加自己要启动的脚本

你如果打开了此文件,里面有一句话,读过之后,你就会对此命令的作用一目了然:

This script will be executed *after* all the other init scripts.

You can put your own initialization stuff in here if you don't

want to do the full Sys V style init stuff.

rc.local就是在一切初始化工作后,Linux留给用户进行个性化的地方。你可以把你想设置和启动的东西放到这里。

第十步 执行 /bin/login程序 启动mingetty,进入登录状态

到此系统就启动完成了

后续更新请及时关注吧

请各位帅哥美女们多多支持!!小花花小心心 更多入门知识慢慢补充啦

后期持续关注!

相关推荐
墨风如雪14 分钟前
探索传家宝VPS:您的全球高性能VPS优选平台,不止于推荐!
服务器
站住前面的二哈1 小时前
Cartographer安装测试与模块开发(三)--Cartographer在Gazebo仿真环境下的建图以及建图与定位阶段问题(实车也可参考)
学习·ubuntu
Vesan,1 小时前
【Linux/Ubuntu】VIM指令大全
linux·ubuntu·vim
苹果醋31 小时前
iview中实现点击表格单元格完成编辑和查看(span和input切换)
运维·vue.js·spring boot·nginx·课程设计
丨千纸鹤丨1 小时前
高可用集群Keepalived
linux·服务器·网络
三口吃掉你1 小时前
Web服务器(Tomcat、项目部署)
服务器·前端·tomcat
豌豆花下猫2 小时前
Python 潮流周刊#112:欢迎 AI 时代的编程新人
后端·python·ai
鹿先森AI探索之路2 小时前
本地部署Dify教程
人工智能·docker·ai
☞下凡☜2 小时前
C语言(20250722)
linux·c语言·开发语言
hweiyu003 小时前
开发运维DevOps(附电子书资料)
运维·devops