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

到此系统就启动完成了

后续更新请及时关注吧

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

后期持续关注!

相关推荐
驱动探索者12 分钟前
USB ADB 简介
linux·adb·驱动·usb
油丶酸萝卜别吃1 小时前
nginx配置代理服务器
运维·网络·nginx
maomao1713141 小时前
Jenkins 环境部署
运维·jenkins
dessler2 小时前
Hadoop HDFS-部署和基本操作
linux·运维·hdfs
风静雪冷2 小时前
find命令解读
linux
DavieLau2 小时前
C#项目WCF接口暴露调用及SOAP接口请求测试(Python版)
xml·服务器·开发语言·python·c#
运维行者_3 小时前
使用Applications Manager进行 Apache Solr 监控
运维·网络·数据库·网络安全·云计算·apache·solr
小米里的大麦3 小时前
026 inode 与软硬链接
linux
rainsc3 小时前
Swap卡I/O导致D状态幽灵化处理思路
运维
星哥说事3 小时前
如何将堡塔云WAF迁移到新的服务器
服务器·git·github