首页 > 系统相关 >Linux启动过程以及7种运行级别

Linux启动过程以及7种运行级别

时间:2024-04-26 13:11:21浏览次数:19  
标签:初始化 启动 系统 Linux 级别 运行

Linux启动过程

Linux启动需要经历一些步骤,这些步骤确保系统能够在各种不同的硬件和配置条件下可靠地启动和运行,并且具有足够的灵活性以适应不同的使用场景和需求,具体步骤如下:

  1. BIOS/UEFI初始化(硬件初始化):执行基本输入输出系统(BIOS)或统一可扩展接口(UEFI)中的初始化程序。这些程序负责硬件的自检、加载引导程序等操作,这确保了系统能够正确地与硬件交互,并且提供了基本的硬件支持。
  2. 引导加载程序(Boot Loader):BIOS/UEFI初始化后,控制权被传递给引导加载程序,从而加载操作系统的内核映像和必要的初始化RAM磁盘映像,以及传递启动参数给内核;这个过程是系统启动的关键一步,确保了正确的内核被加载并且系统启动参数被正确传递。
  3. Linux内核启动:引导加载程序将控制权交给Linux内核。内核启动时,会初始化硬件、加载必要的驱动程序以及创建第一个用户进程(init进程);这确保了系统能够正确地与硬件交互,并且能够访问存储在磁盘上的文件系统。
  4. init进程启动:init 进程是 Linux 系统的第一个用户空间进程,它负责启动系统的其他进程和服务;通过 init 进程,系统可以在启动时根据需要启动不同的服务,并且提供了系统运行级别的管理和切换功能。
  5. 运行级别初始化:根据系统的默认运行级别,init 进程会启动相应的运行级别。每个运行级别都定义了一组需要启动的系统服务和进程。通过运行级别,管理员可以根据需要轻松地切换系统的运行状态,并且可以根据需要启动或停止不同的服务。
  6. 系统初始化和用户登录:一旦系统处于适当的运行级别并启动了所需的服务,系统就会初始化各种设置和环境。如果是多用户环境,系统会等待用户登录。登录后,用户可以开始使用系统。

Linux中的7种运行级别

通过设置不同的运行级别,管理员可以实现系统启动时的自定义配置,例如启用或禁用特定服务、加载特定的内核模块等。这种灵活性使得 Linux 系统可以更好地适应不同的使用场景和需求。

  1. 单用户模式(runlevel 1):也称为救援模式,系统在此模式下只启动最基本的服务和进程,通常用于系统修复和维护。
  2. 多用户模式(runlevel 2、3、4):这些运行级别通常用于多用户环境下,系统启动基本的网络服务,但不包含图形用户界面。
  3. 多用户图形界面模式(runlevel 5):系统启动图形用户界面和相关服务,适用于桌面系统或需要图形界面的服务器环境。
  4. 关机(runlevel 0):系统关闭所有服务并停止运行;
  5. 重新启动(runlevel 6):系统重新启动;

与运行级别相关的 Bash 指令通常用于管理系统的运行级别以及执行与运行级别相关的操作。以下是一些常用的与运行级别相关的 Bash 指令:

runlevel #显示当前系统的运行级别
telinit <运行级别> #用于改变系统的运行级别
init <运行级别> #传统的系统初始化程序,也可用来改变系统的运行级别
chkconfig --list       # 显示所有系统服务及其在各个运行级别下的启用情况
chkconfig <服务名> on  # 将指定服务在启动时自动启用
chkconfig <服务名> off # 将指定服务在启动时取消自动启用

标签:初始化,启动,系统,Linux,级别,运行
From: https://www.cnblogs.com/liuyelll/p/18159822

相关文章

  • PostgreSQL14.11一键启动免安装绿色版
    PostgreSQL14.11_x64一键启动免安装版使用方法:解压后,将整个文件夹放到你希望的位置,注意路径不要包含中文。双击运行bat即可,第一次打开会自动初始化数据库目录。注意:pgsql15版本以后,需要使用navicat16.2以上版本才可以正常连接。想使用最新版本的PostgreSQL16.2,可以下载P......
  • 利用frp+Linux+Windows实现内网穿透
    准备工作1、一台拥有公网IP的服务器(本文档使用:Ubuntu22.04.2LTS(GNU/Linux5.15.0-76-genericx86_64))2、frp:Linux服务端+Windows客户端安装部署1、下载地址:https://github.com/fatedier/frp/releases一、服务端部署1.创建目录mkdir-p/usr/local/etc/frp上传安装包fr......
  • Linux 系统故障排查,一文详解
    导读有时候会遇到一些疑难杂症,并且监控插件并不能一眼立马发现问题的根源。这时候就需要登录服务器进一步深入分析问题的根源。那么分析问题需要有一定的技术经验积累,并且有些问题涉及到的领域非常广,才能定位到问题。所以,分析问题和踩坑是非常锻炼一个人的成长和提升自我能力。如......
  • linux配置网络环境(固定ip)
    通过cd/etc/sysconfig/network-scripts/查看网络配置输入viifcfg-ens33(主机的网卡文件夹)https://blog.csdn.net/hold_on_qlc/article/details/130440562 然后查看https://blog.csdn.net/2201_75288693/article/details/133097221修改网卡模式为 BOOTPROTO=static修改启......
  • Linux网络管理
    一、Docker网络概念1、网络驱动Docker网络子系统使用可插拔的驱动,默认情况下有多个驱动程序,并提供核心联网功能。bridge:桥接网络,这是默认的网络驱动程序(不指定驱动程序创建的容器默认是bridge驱动)。host:主机网络。消除容器和主机的网络隔离,直接使用主机的网络。overlay:覆......
  • linux 服务器间做时间同步
    一、首先选择一台同步阿里云时间服务器1、安装ntpyuminstallntp2、配置ntp.conf[root@localhost~]#vim/etc/ntp.conf增加restrict172.28.5.0mask255.255.255.0nomondifynotrap172.28.5.0为服务器间内网网段#Usepublicserversfromthepool.ntp.org......
  • Linux 登录后提示修改密码 怎么设置不提醒
    在Linux系统中,如果你登录后立即被提示修改密码,这通常是因为密码过期或者账户的密码有相关的策略限制。要设置不再提示,你可以修改密码的过期策略或修改账户的密码策略。以下是如何修改密码策略的步骤:以root用户登录或使用sudo。查看密码策略:根据需要修改密码策略。例如,要取消密......
  • Windows下RocketMQ的启动
    下载地址:下载|RocketMQ 解压后   一、修改runbroker.cmd修改 bin目录下的runbroker.cmdset"JAVA_OPT=%JAVA_OPT%-server-Xms2g-Xmx2g"set"JAVA_OPT=%JAVA_OPT%-XX:MaxDirectMemorySize=15g"set"JAVA_OPT=%JAVA_OPT%-cp%CLASSPATH%"分别改为 s......
  • linux(麒麟 centos7)安装7z
    1、下载7-Zip下载地址:7-Zip-程序下载  2、解压mkdir7zip--创建文件夹7zipmv7z2301-linux-x64.tar.xz7zip/--移动cd7ziptar-xvJf7z2301-linux-x64.tar.xz--解压输入ll查看解压后的文件3、安装cp7zzs/usr/local/bin/输入7zzs查看是否安装成功4......
  • 04_Linux下把驱动编译进内核
    Linux下把驱动编译进内核需求:把前面课程学习的helloworld驱动编译到内核。例子:source"drivers/redled/Kconfig"configLED_4412 tristate"LedSupportforGPIOLed" dependsonLEDSCLASS help Thisoptionenablesupportforled说明:1.source“drivers/redled......