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,进入登录状态

到此系统就启动完成了

后续更新请及时关注吧

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

后期持续关注!

相关推荐
zz-zjx11 小时前
进程与线程详解, IPC通信与RPC通信对比,Linux前台与后台作业
linux·网络协议·rpc
大筒木老辈子13 小时前
Linux笔记---计算机网络概述
linux·笔记·计算机网络
小白考证进阶中13 小时前
终于赶在考试券过期前把Oracle OCP证书考下来了!
运维·数据库·oracle·dba·开闭原则·数据库管理员
连合机器人14 小时前
当有鹿机器人读懂城市呼吸的韵律——具身智能如何重构户外清洁生态
人工智能·ai·设备租赁·连合直租·智能清洁专家·有鹿巡扫机器人
keep__go14 小时前
postgresql9.2.4 跨版本升级14.6
linux·运维·数据库·postgresql
Doris_LMS14 小时前
Git的强软硬回退(三)
运维·服务器·数据库·git·idea
深思慎考14 小时前
LinuxC++项目开发日志——高并发内存池(1-定长内存池)
linux·c++
(Charon)14 小时前
基于 epoll 的高并发服务器原理与实现(对比 select 和 poll)
运维·服务器
Jtti15 小时前
在 Debian 系统上清理缓存的方式和具体操作方法
运维·缓存·debian
ai绘画-安安妮15 小时前
Agentic AI 架构全解析:到底什么是Agentic AI?它是如何工作的
人工智能·ai·语言模型·自然语言处理·程序员·大模型·转行