博客
关于我
Linux 服务器启动流程详解
阅读量:791 次
发布时间:2023-02-01

本文共 1920 字,大约阅读时间需要 6 分钟。

Linux 服务器启动流程详解

在 Kubernetes 集群环境中,服务器的启动流程是系统.admin.keys Managing the startup process of Linux servers can be complex, particularly in a distributed Kubernetes cluster environment. Let's delve into the detailed steps involved in the Linux server startup process.

第一步:加载BIOS

当计算机处于关机状态时,首先会打开计算机电源,并执行的操作中,最先被执行的是加载BIOS。BIOS在地卸固件中扮演着至关重要的角色。BIOS(Basic Input Output System)是一个微小但极其关键的操作系统,负责在启动过程中协调硬件元件的互动。它建立了系统的基础,确保各个硬件元件能够协同工作。这是整个启动流程的起点。

第二步:读取MBR

一旦BIOS完成了初始化,下一步是读取硬盘的引导分区表(MBR,即Master Boot Record)。BIOS会根据配置指定加载哪个硬盘作为启动设备。读取成功后,系统将将MBR复制到物理内存中的0x7c00地址位置。这个操作带来的结果是,能够运行的第一个程序—— Boot Loader——开始运行。

第三步:启动Boot Loader

Boot Loader(古称Boot loader)可以认为是操作系统内核运行之前最为基础层面的操作系统。它的主要任务是初始化硬件环境,为内核的运行创建一个可靠的硬件映射。这一步骤完成后,系统将进入存储器中的Boot Loader,准备进行下一步操作。常见的Boot Loader包括Grub、LILO和SPFDisk等。

第四步:加载内核以及文件系统

根据Boot Loader的配置信息,系统会读取指定的内核映像,并将其解压缩到内存。通常,在这一步的过程中,屏幕上会显示类似“Uncompressing Linux”的信息,提示系统正在进行内核的加载。内核的运行将标志着操作系统的正式启动。在这一步完成后,内核已成功进入内存,并准备好进入运行状态。

第五步:启动用户层init进程

.init进程是在内核加载完成后,作为用户空间第一个运行的程序。它的工作是读取/etc/inittab文件,理解系统需要在哪个运行等级启动。运行等级是操作系统的核心设置,它决定了系统的权限范围、服务级别以及用户界面等方面的具体表现。在这一步,系统会根据配置确定运行等级,并在此基础上进行相应的初始化。

第六步:执行rc.sysinit脚本

rc.sysinit脚本是rc文件族中的第一个脚本程序。在init进程确定运行等级后,会立即执行rc.sysinit脚本。这一脚本负责初始化系统环境的重要设置,包括:

  • 确定PATH环境变量
  • 设置网络配置信息 /etc/sysconfig/network
  • 启用交换分区
  • 设置/proc文件系统

这一步完成后,系统的基础设施已建立,接下来将进行更深层次的设置和服务启动。

第七步:装载内核模块

基于 /etc/modules.conf文件或 /etc/modules.d 目录中的文件,系统会依据需要加载相应的内核模块。这一过程负责扩展系统功能,确保系统模块的完整性和功能性。

第八步:按运行等级执行相应的脚本程序

根据确定的运行等级(如5为默认等级),系统会依次启动 /etc/rc.d/rc0.d 到 /etc/rc.d/rc6.d 之间的相应脚本程序。每个脚本程序的执行目的是进行特定级别下的初始化和服务启动。这些脚本的执行将对系统环境做出具体的调整。

第九步:执行终端用户自定义脚本rc.local

在系统的全面初始化之后,用户将通过执行 /etc/rc.d/rc.local脚本来进行个性化设置。这一阶段是用户为自己的使用场景进行配置和启动特定服务的最佳时机。

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

经过上述一系列步骤的完成,系统将启动/bin/login程序,进入用户登录状态。这标志着整个启动流程的正常结束,系统进入可用状态,用户可以根据需求开始进行操作和管理。

以上描述涵盖了Linux服务器启动流程的各个关键环节,每一步都体现了系统启动过程中硬件与软件协同工作的重要性。在实际操作中,可能会有一些细节差异或配置参数的调整,但总体上将遵循上述步骤。熟悉这些步骤能使你更好地理解和管理Linux服务器的运行机制,使系统的启动更加顺利和稳定。

转载地址:http://tmwfk.baihongyu.com/

你可能感兴趣的文章
Linux 对象存储、文件存储、块存储有什么区别?
查看>>
linux 将文件内容赋值给shell脚本中的变量
查看>>
Linux 小小的cd命令,用的好可不简单哦!
查看>>
Linux 常用压缩命令全解,一次搞懂通关!
查看>>
Linux 常用命令
查看>>
linux 常用命令
查看>>
linux 常用命令
查看>>
Linux 常用命令
查看>>
Linux 常用命令之cat、tac、nl
查看>>
Linux 常用命令使用方法大搜刮
查看>>
Linux 常用命令大全
查看>>
Linux 常用网络命令
查看>>
linux 常用软件安装-目录
查看>>
Linux 常见必备
查看>>
linux 常见问题大全
查看>>
Linux 常规问题解决:File “/usr/bin/yum“, line 30 及 File “/usr/libexec/urlgrabber-ext-down“, line 28
查看>>
Linux 开发工具
查看>>
Linux 开放服务端口
查看>>
Linux 强大的网络命令:nc,网络的瑞士军刀!
查看>>
Linux 快速创建文件并写入内容
查看>>