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

linux启动过程解析

Linux中,Boot Loader通常安装在硬盘MBR (Master Boot Record)或EFI系统分区。...内核初始化过程包括以下几个步骤: 加载驱动程序:内核会加载与硬件设备对应驱动程序,并初始化这些设备。驱动程序通常存储在内核模块中,可以在运行时加载和卸载。...启动init进程:内核会在用户空间启动第一个进程——init进程。init进程是所有进程祖先进程,它负责启动和管理所有其他进程和服务。...启动用户登录管理程序:用户登录管理程序(如getty和systemd-logind)负责管理用户登录和会话。当用户输入用户名和密码后,登录管理程序会验证用户身份并启动相应会话。...用户登录阶段: 当图形界面启动后,用户可以在屏幕上看到登录窗口,输入用户名和密码后,登录管理程序会验证用户身份并启动相应会话。

1.3K30
您找到你想要的搜索结果了吗?
是的
没有找到

基于Linuxpc启动过程

作为一个Android开发者,了解整个系统架构是必须,所以这篇就总结一下Android手机从按下开机键到启动这一过程发生了什么。...要了解Android手机启动过程,我们先来了解一下基于linux系统电脑从按下电源键那一刻起,发生了什么,这样类比可以更好理解Android手机启动过程。...基于Linuxpc启动过程 我们都知道,所有的程序软件包括操作系统都是运行在内存中,然而我们操作系统一般是存放在硬盘上,当我们按下开机键时候,此时内存中什么程序也没有,因此需要借助某种方式,将操作系统加载到内存中...Android手机启动过程 Android系统虽然也是基于linux系统,但是由于Android属于嵌入式设备,并没有像pc那样BIOS程序。取而代之是Bootloader——系统启动加载器。...当linux内核启动后会初始化各种软硬件环境,加载驱动程序,挂载根文件系统,并开始执行根文件系统init程序,init程序是Android启动过程中最重要核心程序。

1.9K00

Linux 系统启动过程

Linux 系统启动过程 linux启动时我们会看到许多启动信息。 Linux系统启动过程并不是大家想象中那么复杂,其过程可以分为5个阶段: 内核引导。 运行 init。 系统初始化。...运行级别 许多程序需要开机启动。它们在Windows叫做"服务"(service),在Linux就叫做"守护进程"(daemon)。 init进程一大任务,就是去运行这些开机启动程序。...但是,不同场合需要启动不同程序,比如用作服务器时,需要启动Apache,用作桌面就不需要。 Linux允许为不同场合,分配不同开机启动程序,这就叫做"运行级别"(runlevel)。...,而rc.sysinit是一个bash shell脚本,它主要是完成一些系统初始化工作,rc.sysinit是每一个运行级别都要首先运行重要脚本。...l5:5:wait:/etc/rc.d/rc 5 这一行表示以5为参数运行/etc/rc.d/rc,/etc/rc.d/rc是一个Shell脚本,它接受5作为参数,去执行/etc/rc.d/rc5.d/

2.7K00

启动Linux时自动执行Shell脚本

我们假定使用是 Bash 作为登录及注销Shell。如果你使用是其他 Shell,那么有些方法可能会无效。如果有其他疑问,请参考对应 Shell 文档。...在启动时执行 Linux 脚本 有两种传统方法可以实现在启动时执行命令或脚本: 方法 #1 - 使用 cron 任务 除了常用格式(分 / 时 / 日 / 月 / 周)外,cron 调度器还支持 @reboot...这个指令后面的参数是脚本(启动时要执行那个脚本)绝对路径。...方法 #2 - 使用 /etc/rc.d/rc.local 这个方法对于 systemd-based 发行版 Linux 同样有效。...Linux 脚本 * 记住,一定要提前给两个示例脚本授予执行权限: $ chmod +x /home/gacanepa/script1.sh $ chmod +x /home/gacanepa/script2

3.7K20

Linux 系统启动过程

linux启动时我们会看到许多启动信息。 Linux系统启动过程并不是大家想象中那么复杂,其过程可以分为5个阶段: 内核引导。 运行 init。 系统初始化。 建立终端 。 用户登录系统。...运行级别 许多程序需要开机启动。它们在Windows叫做"服务"(service),在Linux就叫做"守护进程"(daemon)。 init进程一大任务,就是去运行这些开机启动程序。...但是,不同场合需要启动不同程序,比如用作服务器时,需要启动Apache,用作桌面就不需要。 Linux允许为不同场合,分配不同开机启动程序,这就叫做"运行级别"(runlevel)。...,而rc.sysinit是一个bash shell脚本,它主要是完成一些系统初始化工作,rc.sysinit是每一个运行级别都要首先运行重要脚本。...---- Linux 关机 在linux领域内大多用在服务器上,很少遇到关机操作。毕竟服务器上跑一个服务是永无止境,除非特殊情况下,不得已才会关机。

2.6K30

Linux 系统启动过程

IOS/UEFI阶段计算机通电,BIOS或UEFI启动。进行硬件初始化、POST(Power-On Self-Test)自检,检查设备可用性。BIOS/UEFI查找启动设备,并加载引导加载程序。...提供引导菜单,用户可以选择不同内核或操作系统。引导加载程序将控制权交给操作系统内核。内核启动阶段内核被加载到内存中,解压缩,并进行初始化。内核初始化系统硬件、建立内存管理、设置中断服务等。...用户空间初始化阶段初始化管理器接管控制,启动系统服务和守护进程。系统初始化阶段可能包括加载共享库、配置网络、挂载文件系统。...用户输入凭据,登录管理器验证身份,启动用户会话。用户登录阶段登录后,系统加载用户配置文件、启动用户级别的进程。图形界面或命令行界面最终,系统进入用户桌面环境或命令行终端。

12521

Linux 系统启动过程

linux启动时我们会看到许多启动信息。 Linux系统启动过程并不是大家想象中那么复杂,其过程可以分为5个阶段: 内核引导。 运行 init。 系统初始化。 建立终端 。 用户登录系统。...运行级别 许多程序需要开机启动。它们在Windows叫做"服务"(service),在Linux就叫做"守护进程"(daemon)。 init进程一大任务,就是去运行这些开机启动程序。...但是,不同场合需要启动不同程序,比如用作服务器时,需要启动Apache,用作桌面就不需要。 Linux允许为不同场合,分配不同开机启动程序,这就叫做"运行级别"(runlevel)。...,而rc.sysinit是一个bash shell脚本,它主要是完成一些系统初始化工作,rc.sysinit是每一个运行级别都要首先运行重要脚本。...---- Linux 关机 在linux领域内大多用在服务器上,很少遇到关机操作。毕竟服务器上跑一个服务是永无止境,除非特殊情况下,不得已才会关机。

2.6K20

Linux系统启动过程

原文:https://www.runoob.com/linux/linux-system-boot.html Linux 系统启动过程 linux 启动时我们会看到许多启动信息。...linux 启动时我们会看到许多启动信息。 Linux 系统启动过程并不是大家想象中那么复杂,其过程可以分为 5 个阶段: 内核引导。 运行 init。 系统初始化。 建立终端 。...Linux 允许为不同场合,分配不同开机启动程序,这就叫做 "运行级别"(runlevel)。也就是说,启动时根据 "运行级别",确定要运行哪些程序。... 它调用执行了 / etc/rc.d/rc.sysinit,而 rc.sysinit 是一个 bash shell 脚本,它主要是完成一些系统初始化工作,rc.sysinit 是每一个运行级别都要首先运行重要脚本...---- Linux 关机 在 linux 领域内大多用在服务器上,很少遇到关机操作。毕竟服务器上跑一个服务是永无止境,除非特殊情况下,不得已才会关机。

3.3K30

Linux学习笔记之Linux启动引导过程

尽管目前计算机已经装备了很多工具来简化引导过程,但是这一切并没有对整个过程进行必要简化。 让我们先从高级视角来查看 Linux 引导过程,这样就可以看到整个过程全貌了。...这就是 Linux 引导整个过程。现在让我们深入挖掘一下这个过程,并深入研究一下 Linux 引导过程一些详细信息。 系统启动 系统启动阶段依赖于引导 Linux 系统上硬件。...另外,我们也可以使用一个命令行 shell 对引导过程进行高级手工控制。 将第二阶段引导加载程序加载到内存中之后,就可以对文件系统进行查询了,并将默认内核映像和 initrd 映像加载到内存中。...然后该例程会调用内核,并开始启动内核引导过程。 当 bzImage(用于 i386 映像)被调用时,我们从 ....很少有嵌入式系统会需要使用 init 所提供丰富初始化功能(这是通过 /etc/inittab 进行配置)。在很多情况下,我们可以调用一个简单 shell 脚本来启动必需嵌入式应用程序。

10.4K41

arm linux启动过程_项目冷启动和热启动区别

所谓冷启动,也就是一般所说上电复位,冷启动后片内外RAM内容是随机,通常是0x00或0xFF;单片机启动是通过外部电路给运行中单片机复位端一复位电平而实现,也就是所说按键复位或看门狗复位...常用方法是:确定某内存单位为标志位(如0x40003FF4~0x40003FF7 RAM单元),启动时首先读该内存单元内容,如果它等于一个特定值(例如为0xAA55AA55),就认为是热启动,否则就是冷启动.../冷启动处理 unStartFlag=0xAA55AA55; } 然而实际调试中发现,无论是热启动还是冷启动,开机后所有内存单元值都被复位为0,当然也实现不了热启动要求。...通过看keil MDK自带启动代码Startup.s,在这个启动代码中也并没有发现将整个RAM区域清零语句。...反汇编程序,发现从启动代码执行结束到跳转到main函数过程中,编译器还执行了很多库函数,其中__scatterload_zeroinit函数将所有W/R RAM都初始化为0(默认设置下)。

2.1K30

Linux 系统启动过程(一)

linux启动时我们会看到许多启动信息。 Linux系统启动过程并不是大家想象中那么复杂,其过程可以分为5个阶段: 内核引导。 运行 init。 系统初始化。 建立终端 。 用户登录系统。...linux1.png 运行init init 进程是系统所有进程起点,你可以把它比拟成系统所有进程老祖宗,没有这个进程,系统中任何进程都不会启动。...linux2.png 运行级别 许多程序需要开机启动。它们在Windows叫做"服务"(service),在Linux就叫做"守护进程"(daemon)。...Linux允许为不同场合,分配不同开机启动程序,这就叫做"运行级别"(runlevel)。也就是说,启动时根据"运行级别",确定要运行哪些程序。.../etc/rc.d/rc.sysinit,而rc.sysinit是一个bash shell脚本,它主要是完成一些系统初始化工作,rc.sysinit是每一个运行级别都要首先运行重要脚本。

2.4K20

Linux 系统启动过程

linux启动时我们会看到许多启动信息。 Linux系统启动过程并不是大家想象中那么复杂,其过程可以分为5个阶段: 内核引导。 运行 init。 系统初始化。 建立终端 。 用户登录系统。...它们在Windows叫做"服务"(service),在Linux就叫做"守护进程"(daemon)。 init进程一大任务,就是去运行这些开机启动程序。...但是,不同场合需要启动不同程序,比如用作服务器时,需要启动Apache,用作桌面就不需要。 Linux允许为不同场合,分配不同开机启动程序,这就叫做"运行级别"(runlevel)。...shell脚本,它主要是完成一些系统初始化工作,rc.sysinit是每一个运行级别都要首先运行重要脚本。...Linux 关机 在linux领域内大多用在服务器上,很少遇到关机操作。毕竟服务器上跑一个服务是永无止境,除非特殊情况下,不得已才会关机。

2.8K20

Linux不为人知启动过程

一、绪论 Linux系统在日常工作中已经是我们朝夕相处亲密伴侣,每次当我们按下可爱电源键那一刻起直到出现熟悉登陆界面。这短短一瞬间它都经历什么那??...二、Linux启动过程 对于一台安装了Linux系统主机来说,当我们按下开机按钮时一共要经历这几个阶段。 其中,每个过程都执行了自己该做初始化部分事情,有些过程又可分为好几个子过程。...就是一般来说,自定义程序不需要执行上面所说繁琐建立shell增加链接文件步骤,只需要将命令放在rc.local里面就可以了,这个shell脚本就是保留给用户自定义启动内容。...3.完成了系统所有的启动任务后,linux启动终端或X-Window来等待用户登录。...tty1,tty2,tty3...这表示在运行等级1,2,3,4时候,都会执行"/sbin/mingetty",而且执行了6个,所以linux会有6个纯文本终端,mingetty就是启动终端命令。

1K20

Linux启动引导程序(GRUB)加载内核过程

我们知道启动引导程序(Boot Loader,也就是 GRUB)会在启动过程中加载内核,之后内核才能取代 BIOS 接管启动过程。如果没有启动引导程,那么内核是不能被加载。...本节,我们就来看看启动引导程序加载内核过程,当然 initramfs 这个虚拟文件系统也是要靠启动引导程序调用。...GRUB加载内核过程GRUB 作用有以下几个:加载操作系统内核;拥有一个可以让用户选择菜单,来选择到底启动哪个系统;可以调用其他启动引导程序,来实现多系统引导。...答案是空间不够,GRUB 功能非常强大,MBRM 空间是不够使用。那么 Linux 解决办法是把 GRUB 程序分成了三个阶段来执行。...接下来内核就可以接管启动过程,继续自检与加载硬件模块了。

25620

linux生成initramfs,Linux启动过程与initramfs

Linux启动过程概述 这里先简单列一下 Linux 操作系统启动过程: 按下电脑电源键后,电脑通电,BIOS启动; BIOS读取硬盘MBR,运行启动扇区中代码,旧系统往往需要自己写启动扇区,...而新系统基本上由专用启动软件接管了,在 Linux 世界中,目前都是用 Grub2。...; 内核进行初始化,内核初始化过程结束后,就会把控制权交给/init程序,从此进入用户空间; 因为内核先是将 initramfs 文件挂在为根文件系统,所以刚开始运行/init程序其实是 initramfs...可以看出 init 程序运行也是一个分阶段过程; /sbin/init程序负责系统初始化、各种服务运行、用户登陆等等; 如果需要运行图形界面,则/sbin/init程序会运行 Display...initramfs概述 Initramfs/Initrd 用于创建一个系统启动初期小型用户空间,解决复杂启动流程问题,作为真实rootfs挂载前过渡。

3.5K20

Linux 系统启动过程分解

Linux 系统启动过程 linux启动时我们会看到许多启动信息。 Linux系统启动过程并不是大家想象中那么复杂,其过程可以分为5个阶段: 内核引导。 运行 init。 系统初始化。...运行级别 许多程序需要开机启动。它们在Windows叫做"服务"(service),在Linux就叫做"守护进程"(daemon)。 init进程一大任务,就是去运行这些开机启动程序。...但是,不同场合需要启动不同程序,比如用作服务器时,需要启动Apache,用作桌面就不需要。 Linux允许为不同场合,分配不同开机启动程序,这就叫做"运行级别"(runlevel)。...,而rc.sysinit是一个bash shell脚本,它主要是完成一些系统初始化工作,rc.sysinit是每一个运行级别都要首先运行重要脚本。...---- Linux 关机 在linux领域内大多用在服务器上,很少遇到关机操作。毕竟服务器上跑一个服务是永无止境,除非特殊情况下,不得已才会关机。

2.6K00

Linux不为人知启动过程

Linux系统在日常工作中已经是我们朝夕相处亲密伴侣,每次当我们按下可爱电源键那一刻起直到出现熟悉登陆界面。这短短一瞬间它都经历什么那??...二、Linux启动过程 对于一台安装了Linux系统主机来说,当我们按下开机按钮时一共要经历这几个阶段。 其中,每个过程都执行了自己该做初始化部分事情,有些过程又可分为好几个子过程。...就是一般来说,自定义程序不需要执行上面所说繁琐建立shell增加链接文件步骤,只需要将命令放在rc.local里面就可以了,这个shell脚本就是保留给用户自定义启动内容。...3.完成了系统所有的启动任务后,linux启动终端或X-Window来等待用户登录。...tty1,tty2,tty3...这表示在运行等级1,2,3,4时候,都会执行"/sbin/mingetty",而且执行了6个,所以linux会有6个纯文本终端,mingetty就是启动终端命令。

84410
领券