当前位置:首页 > 操作系统 > 正文内容

linux启动顺序,Linux启动顺序概述

admin1个月前 (12-10)操作系统107

Linux系统的启动顺序可以分为以下几个主要步骤:

1. 加电自检(POST):当计算机加电后,BIOS(Basic Input/Output System)会首先执行加电自检(POST),检查硬件是否正常工作。

2. 加载引导程序:如果硬件正常,BIOS会根据CMOS设置中的启动顺序加载引导程序。在大多数现代Linux系统中,这个引导程序通常是GRUB(GRand Unified Bootloader)。

3. 加载内核:GRUB加载Linux内核到内存中,然后内核开始执行。

4. 初始化ramdisk:在某些系统中,内核可能需要加载一个ramdisk,这是一个临时的根文件系统,用于在真正的根文件系统可用之前运行必要的初始化脚本。

5. 执行init进程:内核启动init进程(通常是PID为1的进程),这是系统的第一个用户空间进程。在传统的System V init系统中,init会读取/etc/inittab文件来决定系统的运行级别。在较新的系统中,如使用systemd的系统,init进程由systemd代替。

6. 执行启动脚本:init或systemd会执行一系列的启动脚本,这些脚本会设置网络、挂载文件系统、启动必要的系统服务(如SSH、Apache、MySQL等)。

7. 启动登录管理器:在启动了所有必要的系统服务之后,系统会启动登录管理器,如GDM(GNOME Display Manager)、KDM(KDE Display Manager)或LightDM等,用户可以通过这些管理器登录系统。

8. 用户登录:用户登录后,系统会启动用户会话,加载用户配置文件,启动用户的应用程序。

9. 运行级别或目标:在System V init系统中,运行级别定义了系统启动后应执行的服务集。在systemd中,目标(target)是服务集合的抽象表示,它定义了系统在特定状态下的服务配置。

10. 系统运行:一旦用户登录,系统就进入了正常运行状态,用户可以执行各种操作。

这个过程可能会因为不同的Linux发行版和配置而有所不同,但上述步骤提供了一个大致的框架。

Linux启动顺序概述

Linux系统的启动顺序是系统运行的基础,了解这一过程对于维护和优化系统性能至关重要。本文将详细介绍Linux系统的启动顺序,帮助读者更好地理解这一复杂但关键的过程。

一、加电自检(POST)

当计算机接通电源后,首先进入的是机器主板的BIOS程序。这个过程称为POST(Power-On Self-Test),即加电自检。BIOS会检查计算机的硬件状态,包括CPU、内存、硬盘等,确保所有的硬件可以正常工作。这一阶段,BIOS还会加载硬件的驱动程序,使各个硬件设备能够正常运行。

二、选择启动设备

POST自检完成后,BIOS会根据设置的启动顺序来查找启动设备。启动顺序通常可以在BIOS设置中修改,常见的启动设备包括硬盘、U盘、光盘、网络等。如果设置为从硬盘启动,BIOS会从启动设备的MBR(Master Boot Record,主引导记录)读取记录引导信息的扇区。

三、MBR引导

MBR是启动盘的前512字节,其中包含了预启动信息和分区信息。MBR中的引导加载程序(Boot Loader)负责将操作系统的内核加载到内存中。常见的引导加载程序有GRUB、LILO等。在MBR引导过程中,如果引导加载程序损坏,可能导致系统无法启动。

四、GRUB引导加载程序

GRUB(GRand Unified Bootloader)是一个多操作系统引导管理器,允许用户在启动时选择不同的操作系统或根据默认配置加载系统。GRUB会显示一个菜单,列出所有可启动的内核和操作系统选项。用户可以选择要启动的操作系统或内核,然后GRUB将加载选定的内核以及初始内存映像(initramfs)。

五、加载Linux内核

选择好操作系统后,GRUB会加载选定的操作系统内核以及初始内存映像(initramfs)。Linux内核是一个预先编译好的二进制可执行文件,介于各种硬件资源与系统程序之间,负责资源分配与调度。初始内存映像是一个临时的文件系统,包含了启动Linux系统所需的基本工具和驱动程序。

六、init进程初始化

内核加载完成后,会启动init进程。init进程是Linux系统中的第一个进程,也是系统所有进程的起点。init进程的进程号永远是1,系统中的所有进程的父进程都是init进程。init进程负责初始化系统,启动各种系统服务,并根据运行级别决定系统的运行状态。

七、系统初始化

init进程启动后,会读取配置文件(如/etc/inittab)来决定系统的运行级别。Linux系统的运行级别有7种,从0到6,分别对应关机、单用户模式、多用户模式等。在系统初始化过程中,init进程会启动各种系统服务,如网络服务、守护进程等,使系统进入正常运行状态。

八、用户登录

系统初始化完成后,用户可以通过终端或图形界面登录系统。登录过程中,系统会根据/etc/passwd和/etc/shadow文件中的用户名和密码信息验证用户身份。验证成功后,用户家目录下的环境变量初始文件(如~/.bashrc、~/.bashprofile)将被读取,用户将获得bash提示符,可以开始使用系统。

Linux系统的启动顺序是一个复杂的过程,涉及多个阶段和组件。了解这一过程有助于我们更好地维护和优化系统性能。本文详细介绍了Linux系统的启动顺序,希望对读者有所帮助。

扫描二维码推送至手机访问。

版权声明:本文由51Blog发布,如需转载请注明出处。

本文链接:https://www.51blog.vip/?id=870

分享给朋友:

“linux启动顺序,Linux启动顺序概述” 的相关文章

痞子衡嵌入式:简析i.MXRT1170 XECC敞开及Data Swap功用关于外部RAM的拜访功能影响

痞子衡嵌入式:简析i.MXRT1170 XECC敞开及Data Swap功用关于外部RAM的拜访功能影响

  咱们好,我是痞子衡,是正派搞技能的痞子。今日痞子衡给咱们共享的是i.MXRT1170 XECC敞开及Data Swap功用关于外部RAM的拜访功用影响。   文接上篇 《i.MXRT1170 XECC功用特色及其维护串行NOR Flash和SDRAM之道》,这篇文章里痞子衡给咱们介绍了 XECC...

苹果windows驱动,苹果Windows驱动的概述及安装方法

如果你需要为苹果设备在Windows系统上安装驱动程序,可以参考以下几种方法和资源:1. Boot Camp 支持软件: 你可以下载Boot Camp支持软件,该软件包含了在Mac上支持64位版本的Windows 7、Windows 8和Windows 8.1所需的Windows驱动程序。下载...

linux项目案例,企业级Web服务的稳定部署与优化实践

linux项目案例,企业级Web服务的稳定部署与优化实践

1. Linux运维企业架构项目实战系列这个系列包括多个实战项目,例如: LNMP的搭建、nginx的ssl加密、权限控制的实现 LVS、nginx实现负载均衡系列 基于Keepalived LVS的高可用集群网站架构 HAProxy实现高级负载均衡实战和ACL控制 企业级缓存系统varnish应...

全嵌入式洗碗机,打造现代厨房的智能生活新选择

全嵌入式洗碗机,打造现代厨房的智能生活新选择

全嵌入式洗碗机是一种将洗碗机完全嵌入橱柜中的洗碗机类型,具有以下几个主要特点:1. 美观度提升:全嵌入式洗碗机的操作面板通常位于门板的顶部,关上门后面板被隐藏,与橱柜完美融合,提升厨房的整体美观度。2. 操作便捷:由于操作面板位于顶部,用户在使用时无需弯腰,操作更加人性化。3. 功能全面:全嵌入式洗...

windows纸牌,经典电脑游戏的魅力与玩法解析

windows纸牌,经典电脑游戏的魅力与玩法解析

Windows纸牌是一款经典且广受欢迎的纸牌游戏,其历史可以追溯到1988年,由微软的一名暑期实习生Wes Cherry开发。这款游戏最早随Windows 3.0系统发布,旨在帮助用户熟悉鼠标操作,并逐渐成为Windows操作系统中不可或缺的一部分。 游戏规则Windows纸牌的基本规则如下:1....

php执行linux命令, PHP执行Linux命令的方法

在PHP中执行Linux命令通常可以通过使用`exec`, `shell_exec`, `system`, `passthru`等函数实现。这些函数允许你从PHP脚本中执行Shell命令。但是,使用这些函数时需要注意安全性和性能问题,因为它们可能会允许执行任意命令,从而可能被用于安全漏洞。1. `e...