首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

linux 开机流程

Linux系统的开机流程是一个涉及多个步骤的复杂过程,从硬件自检到用户登录,每一步都对系统的正常运行至关重要。以下是Linux开机流程的详细概述:

BIOS/UEFI启动

  • 加电自检:开机后,BIOS会进行自检,确保所有硬件设备正常工作。
  • 设备检测:检测CPU、内存、硬盘等硬件设备。
  • 启动设备选择:根据设置,BIOS会选择一个启动设备,如硬盘、USB等。
  • 加载引导程序:从选定的设备加载引导程序(如GRUB)。

引导加载程序(Bootloader)

  • 加载内核:引导加载程序将内核加载到内存中。
  • 传递控制权:将控制权交给内核,完成操作系统的加载。

内核加载与初始化

  • 解压内核:如果内核是压缩的,会进行解压。
  • 硬件初始化:内核会进行硬件设备的初始化和配置。
  • 加载驱动程序:加载必要的设备驱动程序,确保硬件设备正常工作。
  • 挂载根文件系统:内核会尝试挂载根文件系统,这是访问系统文件和目录的必要步骤。

系统初始化

  • init进程启动:内核启动后,会创建并启动init进程(PID为1),这是系统第一个用户空间进程。
  • 执行启动脚本:init进程会根据配置文件(如/etc/inittab或systemd的unit文件)执行相应的启动脚本,如网络服务、守护进程等。

用户登录

  • 登录界面:系统会显示登录界面,用户可以输入用户名和密码进行登录。
  • 用户会话:用户登录成功后,会进入用户会话,可以执行各种命令。

图形界面(可选)

  • 启动图形界面:如果系统配置了图形环境,登录成功后会进入图形界面,提供图形化操作环境。

理解Linux的开机流程有助于开发者在系统层面进行故障排查和性能优化。如果遇到启动问题,可以检查硬件状态、引导加载程序配置、内核参数等关键步骤。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • linux centos系统开机启动流程

    系统启动总体流程:         任何系统启动的第一步都是加电,也就是按下电源,然后计算机硬件会主动读取BIOS来加载硬件设备信息以及硬件设备的自我检测,之后系统会主动地读取第一个有引导程序的设备,...在BIOS将系统的控制权交给硬盘第一个扇区之后,就开始由Linux来控制系统了。...Linux内核需要适应多种不同的硬件架构,但是将所有的硬件驱动编入内核又是不实际的,而且内核也不可能每新出一种硬件结构,就将该硬件的设备驱动写入内核。...实际上Linux的内核镜像仅是包含了基本的硬件驱动,在系统安装过程中会检测系统硬件信息,根据安装信息和系统硬件信息将一部分设备驱动写入 initrd 。...4)、完成了系统所有的启动任务后,linux会启动终端或X-Window来等待用户登录。

    3.4K30

    Linux系统开机启动流程(简述)

    1)开机自检,加载BIOS信息     CPU的相关信息、设备启动顺序信息、硬盘信息、内存信息、时钟信息等 2)MBR引导     硬盘的0柱面0磁道1扇区被称为MBR(Master Boot...读取inittab文件,执行rc.sysinit,rc等脚本     读取/etc/inittab文件,获取系统运行级别,如级别3,文本模式或字符模式 /etc/rc.d/rc.sysinit,Linux...启动对应系统运行级别的脚本程序,如运行级别3,启动/etc/rc.d/rc3.d/目录下所有文件,这些文件都是软链接文件,指向/etc/init.d/*     执行/etc/rc.d/rc.local文件,该文件是自己配置的开机自启动文件...,自己开发的程序、脚本等 7)启动mingetty,进入系统登录界面 流程图示: ?

    5.6K20

    Linux目录结构及开机流程详解

    目录 0x01 Linux重要目录结构 0x02 Linux启动流程 0x01 Linux重要目录结构 /bin 用户的命令都在这里 使用which 命令 可以查看命令的所在路径 ?...的启动流程,还有两个文件需要明确一下 一、 /etc/fstab 配置开机设备自动挂载的文件 前面说/mnt目录的时候也说过了,只有把硬盘挂载到挂载点后,才能进行访问的,但是Linux启动我们也没有手动来做过挂载呀...就是由于这个文件实现了开机设备自动挂载,我们可以通过更改这个文件来实现文件的自动挂载,一定要注意不要写错其中的内容,如果写错的话将可能会导致Linux系统无法启动,因为在挂载中遇到错误后,是不会再继续往下执行的...当然如果想在切换到某一个级别的时候运行某些指定程序,我们就可以在对应的目录下放入所需要执行的程序 0x02 Linux启动流程 当了解了这两个内容之后,再说Linux启动流程就比较清楚了 在网上给出的简单图解大致是这样的...首先在开机的时候,会加载主板上的BIOS,然后会启动硬件自检,如果发现有问题的话,就不继续启动了。

    71620

    CentOS开机流程详解

    开机流程 BIOS: (Basic Input Output System)基本输入输出系统,它是一组固化到计算机内主板上一个ROM芯片 上的程序,保存着计算机最重要的基本输入输出的程序、开机后自检程序和系统自启动程序...开机详细流程 第一步:加载BIOS 打开计算机电源,计算机硬件会自动加载BIOS,读取BIOS内相关硬件信息及进行硬件系统的自检,随后根据BIOS配置找到第一个有引导程序的的设备。...此时就需要首先加载磁盘驱动程序以便读取磁盘,而磁盘驱动程序又保存在磁盘内,这样就会导致linux无法启动。此时需要通过伪文件系统来解决这一问题。...等加载完成后, 会帮助核心重新呼叫 /sbin/init 来开始后续的正常启动流程。 注:RamDisk是辅助性文件,并非必须,取决于内核是否能直接驱动根文件系统所在的设备。...第六步:init进程执行rc.sysinit 设定了运行等级后,Linux系统执行/etc/rc.d/rc.sysinit系统初始化脚本程序。

    69720

    第十六章.Linux系统管理-开机启动流程

    Linux启动流程 修改CentOS7网卡名称为eth0和eth1 Systemd 进程管理 -曾老湿, 江湖人称曾老大。...5)堡垒机,连接Linux、Windows平台及日志审计。 6)SQL执行及审批流程。 7)慢查询日志分析web界面。...---- Linux启动流程 CentOS6 Linux启动的时候,大家可以看到黑屏,一顿滚动,噼里啪啦,噼里啪啦,整的像是黑客帝国...啥玩应根本看不懂。...Linux允许为不同的场合,分配不同的开机启动程序,这就叫做"运行级别"(runlevel)。也就是说,启动时根据"运行级别",确定要运行哪些程序。... 老男孩教育李导出品必是精品:CentOS6启动流程  ---- CentOS7 1.BIOS(开机自检) 2.MBR ( Master Boot Record 主引导记录) 3.GRUB2

    2.4K20

    linux开机启动顺序

    LINUX 开机过程指的是从打开计算机电源直到LINUX显示用户登录画面的全过程。分析LINUX开机过程也是深入了解LINUX核心工作原理的一个很好的途径。...至此,Linux内核已经建立起来了,基于Linux的程序应该可以正常运行了。   ...windows不支持linux的分区格式。所以,用windows的boot。ini是查不到linux的系统的。...其中,S(start)开头的表明开机启动,K(kill)开头的表明开机不启动。数字表示启动顺序。 数字越小,启动越早。   注意,他们都是连接到etc/rc。d/init。d/目录中的相关文件。...所以,如果需要什么开机启动的话,可以写个脚本或命令到这里面来。就不用像上面那么麻烦。以后删除也方便。

    8.3K100

    Linux开机启动(bootstrap)

    计算机开机是一个神秘的过程。我们只是按了开机键,就看到屏幕上的进度条或者一行行的输出,直到我们到达登录界面。...然而,计算机开机又是个异常脆弱的过程,我们满心期望的登录界面可能并不会出现,而是一个命令行或者错误信息。了解计算机开机过程有助于我们修复开机可能出现的问题。...Windows和Linux各自有自己内核。狭义的操作系统就是指内核,广义的操作系统包括内核以及内核之上的各种应用。 (Linus Torvalds与其说是Linux之父,不如说是Linux 内核之父。...小结:BIOS -> MBR -> 引导加载程序 -> 内核 内核 如果我们加载的是Linux内核,Linux内核开始工作。...它是Linux系统中的1号进程(Linux系统没有0号进程)。到此,内核就完成了在计算机启动阶段的工作,交接给init来管理。

    8.3K80

    Linux开机启动(bootstrap)

    作者:Vamei 来源:见文末 计算机开机是一个神秘的过程。我们只是按了开机键,就看到屏幕上的进度条或者一行行的输出,直到我们到达登录界面。...然而,计算机开机又是个异常脆弱的过程,我们满心期望的登录界面可能并不会出现,而是一个命令行或者错误信息。了解计算机开机过程有助于我们修复开机可能出现的问题。...Windows和Linux各自有自己内核。狭义的操作系统就是指内核,广义的操作系统包括内核以及内核之上的各种应用。 (Linus Torvalds与其说是Linux之父,不如说是Linux 内核之父。...小结:BIOS -> MBR -> 引导加载程序 -> 内核 内核 如果我们加载的是Linux内核,Linux内核开始工作。...它是Linux系统中的1号进程(Linux系统没有0号进程)。到此,内核就完成了在计算机启动阶段的工作,交接给init来管理。

    6.5K50

    Linux开机自动挂载磁盘

    我们当然可以手动再次将其挂载,但如果每次重启都需要这样手动操作会很不方便;因此我们可以利用自动挂载,这样系统每次开机的时候就可以自动将磁盘挂载上去了。自动挂载可以有两种方式。...第3列是所要挂载设备的文件系统或者文件系统类型 第4列是挂载选项,通常使用defaults就可以 第5列设置是否使用dump备份,置0为不备份,置1,2为备份,但2的备份重要性比1小 第6列设置是否开机的时候使用...本文需将逻辑卷lv_study挂载到 /lvm_study ,文件系统为ext4 格式,不进行dump备份以及开机磁盘检查。...挂载点必须为已经存在的目录 (3)卸载时必须保证当前磁盘没有发生读写操作 2.修改/etc/rc.d/rc.local文件 将mount命令添加进rc.local文件是另一种实现开机自动挂载的方式

    9.9K40

    linux设置开机自启动

    linux设置开机自启动执行命令: 执行命令: 编辑"/etc/rc.local",添加你想开机运行的命令 运行程序脚本:然后在文件最后一行添加要执行程序的全路径。...例如,每次开机时要执行一个hello.sh,这个脚本放在/usr下面,那就可以在"/etc/rc.local"中加一行"/usr/./hello.sh",或者" cd /opt && ..../hello.sh " 注意,你的命令应该添加在:exit 0 之前 image.png 在/etc/init.d目录下添加自启动脚本 linux在“/etc/rc.d/init.d”下有很多的文件...,每个文件都是可以看到内容的,其实都是一些shell脚本或者可执行二进制文件 Linux开机的时候,会加载运行/etc/init.d目录下的程序,因此我们可以把想要自动运行的脚本放到这个目录下即可。...在下次开机启动的时候,proxy.py就会以root用户身份被自动运行。

    17.8K40
    领券