Linux系统启动流程(以CentOS 6为对象)

yizhihongxing

Linux系统启动流程是一个相对复杂的过程,涉及到多个阶段和环节。本文以CentOS 6为例,详细讲解Linux系统启动流程的完整攻略。

BIOS和Boot Loader阶段

当计算机启动时,第一阶段是BIOS(Basic Input/Output System)固件自检。BIOS是位于计算机主板上的一个芯片,它初始化计算机硬件,检查是否有可引导的设备,并将控制权转移给引导程序。在CentOS 6中,引导程序是GRUB(GRand Unified Bootloader)。

GRUB第一阶段(stage1)被安装在硬盘的MBR(Master Boot Record)扇区内。当BIOS检测到硬盘时,它会将控制权传递给MBR,MBR再启动GRUB。GRUB第二阶段(stage2)被安装在硬盘的/boot/grub目录下。GRUB第二阶段会自动扫描磁盘上的操作系统,并显示GRUB菜单,让用户选择操作系统。如果没有选择,则默认启动第一个记录。

内核启动阶段

选择内核后,GRUB会将控制权传递给内核。内核启动后,它会先初始化一些基本的系统设备和资源,然后启动核心服务、驱动和文件系统等。

init进程

在CentOS 6中,内核会启动init进程,它是系统初始化的第一个用户进程。init进程根据配置文件/etc/inittab来确定系统运行级别并启动相应的服务。在Linux系统中,运行级别(runlevel)是一组预定义的系统状态,每个状态代表一个不同的系统配置。例如,运行级别3是多用户模式,不启动图形界面;运行级别5是多用户模式和图形界面模式。

系统服务

init进程会根据运行级别启动相应的系统服务。例如,在运行级别3时,只会启动必要的服务,如网络服务和系统日志服务;在运行级别5时,还会启动图形界面和窗口管理器等服务。

/etc/rc.d

启动脚本都存放在/etc/rc.d目录下,系统按照顺序执行每个脚本。该目录包含了从系统启动到关机的所有脚本,脚本文件名以K或S(kill或start)开头,跟随一个数字(表示执行优先级),后面是脚本名称。当系统进入某个运行级别时,会自动执行相应的脚本。例如,在运行级别3时,会先执行/etc/rc.d/rc.sysinit,然后执行/etc/rc.d/rc3.d目录下的所有脚本。

终端启动阶段

当系统启动之后,终端程序(如tty1、tty2等)开始运行。用户可以通过终端访问系统。

登录窗口阶段

登陆窗口是系统界面的第一批程序,它允许用户登录,并显示用户桌面。

在CentOS 6中,登陆窗口由Display Manager负责显示和管理。Display Manager是一个图形用户界面的管理程序,负责维护图形用户界面的各个方面,如启动X窗口系统、显示屏幕解析度、键盘布局、图标等。在CentOS 6中,login窗口的Display Manager是GDM(GNOME Display Manager)。

X窗口系统

用户登录后,会开始运行X窗口系统,X窗口系统是一个图形用户界面的模块。它依赖于设备驱动程序和硬件。X窗口系统提供了各种可视化应用程序,如:文本编辑器、终端仿真器、图形化文件管理器等。

用户环境

当用户在X窗口系统中启动一个会话后,会生成一个登录Shell进程。Shell是一种通用的命令解释器和用户界面,它允许用户与系统交互。用户可以执行各种命令、编写脚本和使用其他应用程序。

在CentOS 6中,默认Shell是Bash。在用户登录后,Bash会读取一些配置文件,例如~/.bashrc和/etc/bashrc,它们包含了许多Bash的配置信息,如别名、环境变量等。

在用户环境中,还可以使用各种应用程序,如:编辑器、文件管理器、浏览器、邮件客户端等。

总结

Linux系统启动流程是一个复杂的过程,由多个阶段和环节组成。以上是CentOS 6的启动流程,不同的Linux发行版可能存在差异。了解Linux启动流程有助于理解系统的工作方式,从而更好地管理和使用系统。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Linux系统启动流程(以CentOS 6为对象) - Python技术站

(0)
上一篇 2023年3月25日
下一篇 2023年3月25日

相关文章

  • Linux ncurses安装教程(2种方法)

    Linux ncurses库是一款开源的可移植术语和字符工具包,常用于终端下进行程序的开发和设计,主要提供了面向文本终端的接口、字符处理和屏幕输出等功能,因此很受开发者的欢迎。本文将介绍如何在Linux上安装ncurses库,并提供一些基础的实例说明,让您更好地了解ncurses的使用方法。 安装前准备 在安装ncurses之前,您需要开启系统的开发环境,以…

  • 详解Linux RAID(磁盘阵列)

    Linux RAID,又称为磁盘阵列,指的是多个硬盘组合在一起,通过特定的管理软件来增强数据的安全性和灵活性。 在Linux环境下,我们可以配置多种不同的RAID级别,如RAID0、RAID1、RAID5、RAID6等等。每种RAID级别均有其优点和不足之处。以下是关于在Linux中使用RAID的完整攻略: 一、准备工作 在进行Linux RAID配置之前,…

    Linux高级文件系统管理 2023年3月25日
    00
  • 详解Linux anacron命令用法

    Anacron是一个在Linux系统上用来在后台自动执行计划任务的工具。与cron不同的是,anacron不受系统启动时间和执行时间的限制,它可以在任何时间点上运行计划任务。 使用anacron,你可以指定系统空闲时运行计划任务,从而避免了在繁忙时运行任务造成的系统资源竞争。同时,它还可以确保计划任务的执行不会被其他任务打断或中止,从而增强了任务的可靠性。 …

    Linux系统管理 2023年3月25日
    00
  • 详解Linux touch命令:创建一个新文件

    Linux touch命令用于创建一个新空文件或者修改已有文件的时间戳。 命令格式 touch [OPTION]… FILE… 命令选项 -a, –time=atime, –time=access, –time=use: 只更改文件访问时间。 -c, –no-create: 不会创建不存在的文件。 -d, –date=STRING: 将时间…

    Linux函数大全 2023年3月24日
    00
  • 详解Linux host命令:DNS 查询工具

    Linux下的host命令用于查询DNS主机名解析,可以通过使用该命令来查找互联网上的网站所对应的IP地址。下面就是host 命令的详细讲解: 什么是host命令 host命令是Linux中的一个命令,可以在终端中使用。它能够将域名解析成IP地址,或反向查询即将IP地址转化为域名,提供了一个查找DNS主机名解析的方法。 host命令的使用方法 host命令的…

    Linux函数大全 2023年3月24日
    00
  • 详解Linux swapoff命令:禁用交换分区

    Linux上的swap是一种特殊的区域,用于存储内存中不常用的信息。swapoff命令用于关闭当前系统中所有的swap分区,也可以用来临时禁用单个分区。 作用 swapoff命令的主要作用是禁用swap分区,将swap分区从系统中删除。当您的系统中存在多个swap分区时,这个命令可以暂时关闭其中一个分区,以便您在不损坏数据的情况下对其进行修改或重建。 使用方…

    Linux函数大全 2023年3月24日
    00
  • 修改/etc/fstab文件出错导致Linux不能启动,该怎么办?

    在Linux系统中,/etc/fstab文件是系统启动后自动挂载文件系统的重要配置文件。如果修改该文件出错,可能会导致系统无法启动,甚至无法进入系统。在如此危急的情况下,我们需要进行以下步骤来解决问题。 步骤一:进入 GRUB 引导模式 在系统启动时,按下 Shift 键或 Esc 键可以进入 GRUB 引导界面。 使用光标键选择 Linux 系统所在的位置…

    Linux文件系统管理 2023年3月25日
    00
  • 详解Linux w和who命令:查看登陆用户信息

    下面是对Linux w和who命令作用与使用方法的详细攻略。 w命令 作用 w命令可以显示当前系统的活动进程,以及它们所占用的CPU百分比、内存使用情况、运行时间和登录用户等信息。 语法 w [options] 参数 -f:显示用户从何处登录的详细信息。 -h:指定输出带有头信息。 -i:显示关于终端标志符的信息。 -l:显示有关系统登录的信息。 -n:指定…

    Linux系统管理 2023年3月25日
    00
合作推广
合作推广
分享本页
返回顶部