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

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

尽管目前计算机已经装备了很多工具来简化引导过程,但是这一切并没有对整个过程进行必要简化。 让我们先从高级视角来查看 Linux 引导过程,这样就可以看到整个过程全貌了。...这就是 Linux 引导整个过程。现在让我们深入挖掘一下这个过程,并深入研究一下 Linux 引导过程一些详细信息。 系统启动 系统启动阶段依赖于引导 Linux 系统上硬件。...除了可以存储并引导 Linux 映像之外,这些引导监视器还执行一定级别的系统测试和硬件初始化过程。在嵌入式平台中,这些引导监视器通常会涉及第一阶段和第二阶段引导加载程序。...然后该例程会调用内核,并开始启动内核引导过程。 当 bzImage(用于 i386 映像)被调用时,我们从 ....结束语 与 Linux 本身非常类似,Linux 引导过程也非常灵活,可以支持众多处理器和硬件平台。最初,加载引导加载程序提供了一种简单方法,不用任何花架子就可以引导 Linux

10.4K41

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

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

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

Linux启动引导参数grub

内核引导参数精选 由于引导参数多如牛毛,本文不可能涉及全部,因此本文只基于 X86_64 平台以及 Linux-3.13.2 精选了一些与设备无关引导参数以及少部分与设备有关引导参数,过时参数、非...是一个内核启动参数 BOOT 是一个引导程序参数 标记为"BOOT"参数实际上由引导程序(例如GRUB)使用,对内核本身没有直接意义。...[KNL] ignore_loglevel 忽略内核日志等级设置,向控制台输出所有内核消息。仅用于调试目的。 [KNL] debug 将引导过程所有调试信息都显示在控制台上。...[KNL] initcall_debug 跟踪所有内核初始化过程中调用函数。有助于诊断内核在启动过程中死在了那个函数上面。...[HIBERNATION] hibernate={noresume|nocompress} 设置休眠/唤醒属性: noresume 表示禁用唤醒,也就是在启动过程中无视任何已经存在休眠镜像,完全重新启动

9.3K20

Android启动流程——1序言、bootloader引导Linux启动

从系统角度看,Android启动程序可分为: 1、bootloader引导 2、装载与启动Linux内核 3、启动Android系统 3.1、启动Init进程 3.1、启动Zygote 3.1、...手机系统不像其他嵌入式系统,它还需要在启动过程中关心CP启动,这个时候就涉及到CPimage和唤醒时刻,而一般嵌入式系统uboot只负责引导OS内核。...关于这块详细资料,我也不是很熟悉,就不误人子弟了,大家可以自行查询 相关资料如下: bootloader 二、Linux系统启动 Linux系统启动过程由很多阶段组成,但是无论你是启动标准x86...从初始化引导到第一个用户空间来研究Linux启动进程。...BootLoader完成系统引导以后并将Linux内核调入内核之后,调用do_bootm_linux(),这个函数将跳转到kernel其实位置。如果kernel没有被压缩,就可以启动了。

4.6K21

linux启动过程解析

在自检完成后,BIOS会寻找可引导设备,通常是硬盘或光盘驱动器。如果找到了可引导设备,则BIOS将把控制权交给该设备中引导程序。...Boot Loader阶段: 引导程序是一段特殊代码,通常被称为Boot Loader,它负责加载操作系统内核并初始化系统环境。常见Boot Loader有GRUB、LILO和SYSLINUX等。...在Linux中,Boot Loader通常安装在硬盘MBR (Master Boot Record)或EFI系统分区。...当Boot Loader加载时,它会在引导选项菜单中显示可用内核版本,用户可以选择要引导内核。 Kernel初始化阶段: 内核是操作系统核心,它控制着系统各种操作。...内核初始化过程包括以下几个步骤: 加载驱动程序:内核会加载与硬件设备对应驱动程序,并初始化这些设备。驱动程序通常存储在内核模块中,可以在运行时加载和卸载。

1.3K30

linux aarch64启动不了,引导AArch64 Linux

这篇文章基于Russell King所写《the ARM booting document》,并与AArch64 Linux kernel所有公开版本相关。...在本文中,我们使用术语“boot loader”来简单地定义在控制权传递给Linux kernel之前,在CPU上执行所有软件,这可能包括Secure Monitor和hypervisor代码,或者仅仅是一小段预备好最小引导环境指令代码...会跳回code0处来恢复正常引导过程。...该基地址一下内存目前Linux并没有使用,因此强烈建议基地址就是于RAM开始地址,从映像开始,必须保证有image_size大小可用空间给kernel映像使用。...根据编号为ARM DEN 0022AARM文档所描述,kernel起来时将发起CPU_ON调用来将这些CPU引导起来进入kernel。

4.8K10

基于Linuxpc启动过程

要了解Android手机启动过程,我们先来了解一下基于linux系统电脑从按下电源键那一刻起,发生了什么,这样类比可以更好理解Android手机启动过程。...基于Linuxpc启动过程 我们都知道,所有的程序软件包括操作系统都是运行在内存中,然而我们操作系统一般是存放在硬盘上,当我们按下开机键时候,此时内存中什么程序也没有,因此需要借助某种方式,将操作系统加载到内存中...随后,在引导程序作用下,陆续将操作系统其他程序载入内存,完成实模式到保护模式转变,为执行操作系统入口函数main做准备,后面就是操作系统初始化工作了,最后完成计算机启动。...Android手机启动过程 Android系统虽然也是基于linux系统,但是由于Android属于嵌入式设备,并没有像pc那样BIOS程序。取而代之是Bootloader——系统启动加载器。...当linux内核启动后会初始化各种软硬件环境,加载驱动程序,挂载根文件系统,并开始执行根文件系统init程序,init程序是Android启动过程中最重要核心程序。

2K00

Linux 系统启动过程

Linux 系统启动过程 linux启动时我们会看到许多启动信息。 Linux系统启动过程并不是大家想象中那么复杂,其过程可以分为5个阶段: 内核引导。 运行 init。 系统初始化。...---- 内核引导 当计算机打开电源后,首先是BIOS开机自检,按照BIOS中设置启动设备(通常是硬盘)来启动。 操作系统接管硬件以后,首先读入 /boot 目录下内核文件。...运行级别 许多程序需要开机启动。它们在Windows叫做"服务"(service),在Linux就叫做"守护进程"(daemon)。 init进程一大任务,就是去运行这些开机启动程序。...但是,不同场合需要启动不同程序,比如用作服务器时,需要启动Apache,用作桌面就不需要。 Linux允许为不同场合,分配不同开机启动程序,这就叫做"运行级别"(runlevel)。...Linux系统有7个运行级别(runlevel): 运行级别0:系统停机状态,系统默认运行级别不能设为0,否则不能正常启动 运行级别1:单用户工作状态,root权限,用于系统维护,禁止远程登陆 运行级别

2.7K00

Linux 系统启动过程

linux启动时我们会看到许多启动信息。 Linux系统启动过程并不是大家想象中那么复杂,其过程可以分为5个阶段: 内核引导。 运行 init。 系统初始化。 建立终端 。 用户登录系统。...---- 内核引导 当计算机打开电源后,首先是BIOS开机自检,按照BIOS中设置启动设备(通常是硬盘)来启动。 操作系统接管硬件以后,首先读入 /boot 目录下内核文件。...运行级别 许多程序需要开机启动。它们在Windows叫做"服务"(service),在Linux就叫做"守护进程"(daemon)。 init进程一大任务,就是去运行这些开机启动程序。...但是,不同场合需要启动不同程序,比如用作服务器时,需要启动Apache,用作桌面就不需要。 Linux允许为不同场合,分配不同开机启动程序,这就叫做"运行级别"(runlevel)。...---- Linux 关机 在linux领域内大多用在服务器上,很少遇到关机操作。毕竟服务器上跑一个服务是永无止境,除非特殊情况下,不得已才会关机。

2.6K20

Linux系统启动过程

原文:https://www.runoob.com/linux/linux-system-boot.html Linux 系统启动过程 linux 启动时我们会看到许多启动信息。...linux 启动时我们会看到许多启动信息。 Linux 系统启动过程并不是大家想象中那么复杂,其过程可以分为 5 个阶段: 内核引导。 运行 init。 系统初始化。 建立终端 。...内核引导 当计算机打开电源后,首先是 BIOS 开机自检,按照 BIOS 中设置启动设备(通常是硬盘)来启动。 操作系统接管硬件以后,首先读入 /boot 目录下内核文件。...Linux 允许为不同场合,分配不同开机启动程序,这就叫做 "运行级别"(runlevel)。也就是说,启动时根据 "运行级别",确定要运行哪些程序。...---- Linux 关机 在 linux 领域内大多用在服务器上,很少遇到关机操作。毕竟服务器上跑一个服务是永无止境,除非特殊情况下,不得已才会关机。

3.3K30

Linux 系统启动过程

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

15021

Linux 系统启动过程

linux启动时我们会看到许多启动信息。 Linux系统启动过程并不是大家想象中那么复杂,其过程可以分为5个阶段: 内核引导。 运行 init。 系统初始化。 建立终端 。 用户登录系统。...---- 内核引导 当计算机打开电源后,首先是BIOS开机自检,按照BIOS中设置启动设备(通常是硬盘)来启动。 操作系统接管硬件以后,首先读入 /boot 目录下内核文件。...运行级别 许多程序需要开机启动。它们在Windows叫做"服务"(service),在Linux就叫做"守护进程"(daemon)。 init进程一大任务,就是去运行这些开机启动程序。...但是,不同场合需要启动不同程序,比如用作服务器时,需要启动Apache,用作桌面就不需要。 Linux允许为不同场合,分配不同开机启动程序,这就叫做"运行级别"(runlevel)。...---- Linux 关机 在linux领域内大多用在服务器上,很少遇到关机操作。毕竟服务器上跑一个服务是永无止境,除非特殊情况下,不得已才会关机。

2.6K30

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.2K30

Linux From Scratch(LFS11.0)使 LFS 系统可引导 - 使用 GRUB 设定引导过程

这里不属于任何文件系统,在启动时,第一个物理磁道中程序从引导分区加载 GRUB 模块,默认在 /boot/grub 中查找模块。...引导分区位置由负责进行配置用户自己决定,作者推荐创建一个小 (建议大小为 200 MB) 分区,专门存放引导信息。...这样,不同 Linux 系统 (无论是 LFS 还是商业发行版) 在启动时和启动后都能访问相同引导文件。...直接使用 LFS 分区也是可以,但这样在配置多系统启动时比较麻烦。 根据以上信息,确定 LFS 根分区 (或 boot 分区,如果使用了独立 boot 分区) 名称。...sda3 ro } EOF GRUB 是一个很强大程序,它提供了非常多选项,可以支持多种设备、操作系统和分区类型,还有很多用于定制启动屏幕、声音、鼠标输入等选项。

2.2K50

Linux 系统启动过程(一)

linux启动时我们会看到许多启动信息。 Linux系统启动过程并不是大家想象中那么复杂,其过程可以分为5个阶段: 内核引导。 运行 init。 系统初始化。 建立终端 。 用户登录系统。...内核引导 当计算机打开电源后,首先是BIOS开机自检,按照BIOS中设置启动设备(通常是硬盘)来启动。 操作系统接管硬件以后,首先读入 /boot 目录下内核文件。...linux1.png 运行init init 进程是系统所有进程起点,你可以把它比拟成系统所有进程老祖宗,没有这个进程,系统中任何进程都不会启动。...linux2.png 运行级别 许多程序需要开机启动。它们在Windows叫做"服务"(service),在Linux就叫做"守护进程"(daemon)。...Linux允许为不同场合,分配不同开机启动程序,这就叫做"运行级别"(runlevel)。也就是说,启动时根据"运行级别",确定要运行哪些程序。

2.4K20

Linux 系统启动过程

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

2.9K20

Linux不为人知启动过程

二、Linux启动过程 对于一台安装了Linux系统主机来说,当我们按下开机按钮时一共要经历这几个阶段。 其中,每个过程都执行了自己该做初始化部分事情,有些过程又可分为好几个子过程。...四、系统引导 我们首先来了解一下MBR,它是Master Boot Record缩写。硬盘0柱面、0磁头、1扇区称为主引导扇区。...ID (5:延申 82:Swap 83:Linux 8e:LVM fd:RAID) Partition起始磁柱 Partition磁柱数量 通常情况下,诸如lilo、grub这些常见引导程序都直接安装在...我们以grub为例来分析这个引导过程 grub有两个作用: 加载扇区 加载内核 首先加载 /boot/grub grub加载第一个文件是stage1,此时只能识别ext3系统文件。...3.完成了系统所有的启动任务后,linux启动终端或X-Window来等待用户登录。

1K20
领券