Linux系统启动过程

引言

Linux系统是一种开源操作系统,它的启动过程相比于Windows等闭源系统,更加透明和灵活。本文将介绍Linux系统的启动过程,包括硬件启动、引导加载器、内核启动、初始化进程等步骤。

硬件启动

在计算机开机后,BIOS会自动启动进行硬件自检,检测计算机所有的硬件是否正常。如果硬件检测正常,BIOS会查找可启动设备列表,例如硬盘、光驱、USB等。BIOS会按照启动设备顺序查找可启动设备,并尝试从它们中的第一个设备中加载引导程序。

引导加载器

引导加载器是一段小程序,它的主要功能是加载操作系统内核到计算机内存中。Linux系统中最常用的引导加载器是GRUB(GRand Unified Bootloader),它支持多操作系统引导,为Linux系统带来更多的灵活性。

grub> root (hd0,0)
grub> kernel /vmlinuz root=/dev/sda1
grub> initrd /initrd.img
grub> boot

上述代码是GRUB的一个示例配置,其中root命令指定引导设备,kernel命令加载内核,initrd命令加载启动镜像,boot命令启动系统。

内核启动

当引导加载器成功加载内核到内存中后,内核就开始执行。内核是Linux系统的核心,它负责管理系统资源、驱动设备、执行用户程序等任务。内核启动时,它会初始化系统资源、加载驱动程序、挂载文件系统等操作。

[    0.000000] Linux version 5.10.0-8-amd64 (debian-kernel@lists.debian.org) (gcc-10 (Debian 10.2.1-6) 10.2.1 20210110, GNU ld (GNU Binutils for Debian) 2.35.2) #1 SMP Debian 5.10.46-1 (2021-07-21)
[    0.000000] Command line: BOOT_IMAGE=/vmlinuz-5.10.0-8-amd64 root=/dev/sda1 ro quiet
[    0.000000] x86/fpu: Supporting XSAVE feature 0x001: 'x87 floating point registers'

上述代码是内核启动时的一部分输出信息,它显示了内核的版本、命令行参数、支持的硬件特性等信息。

初始化进程

内核启动后,它会启动第一个用户空间进程init(或systemd),它是整个系统的父进程,负责启动其他用户进程。init进程会读取/etc/inittab文件,根据其中的配置启动系统服务。

# /etc/inittab: init(8) configuration.
# $Id: inittab,v 1.91 2002/01/25 13:35:21 miquels Exp $

# The default runlevel.
id:3:initdefault:

# Boot-time system configuration/initialization script.
# This is run first except when booting in emergency (-b) mode.
si::sysinit:/etc/init.d/rcS

# What to do in single-user mode.
~~:S:wait:/sbin/sulogin

# /etc/init.d executes the S and K scripts upon change
# of runlevel.
#
# Runlevel 0 is halt.
# Runlevel 1 is single-user.
# Runlevels 2-5 are multi-user.
# Runlevel 6 is reboot.
l0:0:wait:/etc/init.d/rc 0
l1:1:wait:/etc/init.d/rc 1
l2:2:wait:/etc/init.d/rc 2
l3:3:wait:/etc/init.d/rc 3
l4:4:wait:/etc/init.d/rc 4
l5:5:wait:/etc/init.d/rc 5
l6:6:wait:/etc/init.d/rc 6

上述代码是/etc/inittab文件的示例配置,其中id:3:initdefault:指定系统默认运行级别为3(多用户命令行模式),si::sysinit:/etc/init.d/rcS表示在sysinit阶段执行rcS脚本等。

总结

本文介绍了Linux系统的启动过程,包括硬件启动、引导加载器、内核启动、初始化进程等步骤。Linux系统的启动过程相比于Windows等闭源系统,更加透明和灵活,这也是Linux系统受到广泛关注和喜爱的原因之一。

本文来源:词雅网

本文地址:https://www.ciyawang.com/8j0sz4.html

本文使用「 署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0) 」许可协议授权,转载或使用请署名并注明出处。

相关推荐