1. Linux启动过程:BIOS :(基本输入输出系统)基本输入和输出系统,它是在计算机主板上的ROM芯片上固化的一组程序,它保存了最重要的基本输入和输出程序。计算机,启动后自检程序和系统自启动程序可以从CMOS读取和写入系统设置的特定信息。 MBR:主引导记录,主引导记录区域。引导加载程序:启动引导加载程序。 2.详细过程步骤1:加载BIOS,打开计算机电源,计算机硬件将自动加载BIOS,读取BIOS中的相关硬件信息,并对硬件系统进行自检,然后查找根据BIOS配置的第一个具有引导程序的设备。步骤2:读取MBR硬盘上磁道0的第一个扇区称为MBR,即主引导记录,其大小为512字节,并存储预引导信息和分区表信息。系统找到BIOS指定的硬盘的MBR后,会将其复制到物理内存。复制到物理内存的内容是引导加载程序(lilo或grub)。步骤3:启动Boot Loader Boot Loader是一个小程序,在操作系统内核运行之前运行。通过这个小程序,我们可以初始化硬件设备并建立内存空间的映射,从而使系统的软件和硬件环境达到合适的状态,从而为最终的调用做好一切准备。操作系统内核。引导加载程序有几种类型,其中Grub和Lilo是常见的加载程序。本文以Grub为例进行说明。 grub功能:提供一个菜单,允许用户选择要启动的系统或其他内核版本;将用户选择的内核加载到RAM中的特定空间中,然后解压缩并扩展。系统读取内存中的grub配置信息(通常为menu.lst或grub.conf),并根据该配置信息加载指定的内核。步骤4:加载内核。 grub将系统的控制权转移到内核。内核开始检测可以识别的所有硬件设备,并尝试安装根目录以获得其驱动程序。这时,您需要先加载磁盘驱动器才能读取磁盘,并且磁盘驱动器存储在磁盘中,这将导致Linux无法启动。此时,需要一个伪文件系统来解决此问题。虚拟文件系统(初始RAM磁盘)为/boot/initramfs-release.img。该文件的功能是可以通过引导加载程序将其加载到内存中,然后将该文件解压缩并模拟为内存中的根目录,并且该模拟在内存中的文件系统可以提供可运行的程序通过它们在引导过程中加载最需要的核心模块,通常这些模块是U盘,RAID,LVM,SCSI和其他带有磁盘的文件系统驱动程序。加载完成后,它将帮助内核再次调用/ sbin / init以启动后续的正常启动过程。注意:RamDisk是一个辅助文件,不是必需的,它取决于内核是否可以直接驱动根文件系统所在的设备。步骤5:运行/ sbin / init程序并设置Linux的运行级别。加载内核之后,用户空间中的第一个应用程序是/ sbin / init,然后读取/ etc / inttab文件,并根据该文件配置设置。设置系统的运行级别;步骤6:init进程执行rc.sysinit。设置操作级别后,Linux系统将执行/etc/rc.d/rc.sysinit系统初始化脚本程序。初始化包括:设置主机名,设置欢迎消息,激活Udex和seliux,挂载/ etc / fstab文件中定义的所有文件系统,检测根文件系统,设置系统时钟以及根据/设置内核。 etc / sysctl.conf文件参数,激活LVM和软RAID设备,激活交换设备,为其他设备加载驱动程序以及执行清除操作。步骤7:启动内核模块。具体来说,根据/ etc / sysconfig / modules文件目录中的文件加载内核模块。步骤8:执行运行级别服务启动(脚本模式)根据不同的运行级别,系统将在rc0.d至rc6.d中运行相应的脚本程序,以完成相应的初始化工作并启动相应的服务。第九步:执行/etc/rc.d/rc.local rc.local是Linux在所有初始化工作完成后让用户进行个性化设置的地方。您可以放置要设置的内容,然后从这里开始。步骤10:执行/ bin / login程序并进入登录状态。 Linux将启动终端或X Window以等待用户登录。作者:zpgood原文:https://blog.51cto.com/zhangpenglinu