Linux启动过程详解:从BIOS到Kernel Boot
需积分: 9 108 浏览量
更新于2024-08-25
收藏 235KB PPT 举报
本文主要探讨了Linux系统的启动过程,包括BIOS引导、GRUB加载、内核启动、Init系统及后续服务的启动等关键步骤。其中详细解释了各个阶段的功能和作用。
Linux启动过程通常从BIOS(Basic Input/Output System)开始。BIOS在系统加电后执行自检(POST),初始化硬件设备,并寻找驱动器和启动扇区。一旦找到MBR(主引导记录),它会加载MBR中的引导加载程序。MBR是磁盘上的第一个扇区,包含了分区表和一个小的引导加载程序。
GRUB(Grand Unified Bootloader)作为常见的引导加载程序,其有两个阶段。Stage1通常安装在MBR中,负责加载Stage2,如果需要支持文件系统,还可能有Stage1.5。Stage2显示引导菜单,允许用户选择要启动的操作系统或内核。
GRUB的配置文件`menu.lst`用于定义引导选项。当选择启动Linux内核时,内核开始加载。内核加载分为几个阶段,首先是古老的_start()函数,它将自身移动到内存的特定位置并调用setup()。
setup()阶段则负责重新初始化硬件,设置内核运行环境,保存系统参数,并调用video.S来检测和设置显示器。然后,系统进入保护模式,启动startup_32()函数。startup_32()会建立基本的运行环境,解压缩bzImage内核到内存,并跳转到内核的入口点。
内核加载完成后,初始化进程(Init)开始运行。在经典的Linux启动过程中,Init可能是/sbin/init。Init根据配置文件(如`/etc/inittab`)定义的运行级别启动一系列服务,这些服务通常在`/etc/init.d/`目录下。例如,`/etc/init.d/rc`脚本会启动系统的基本服务。
进一步的,Init会启动getty进程(如agetty)来创建终端会话,然后运行/bin/login程序,用户可以输入用户名和密码进行登录。登录成功后,用户会进入shell环境,至此,操作系统启动完成,用户可以开始使用Linux系统。
Linux启动过程的每一个步骤都至关重要,理解这些步骤有助于我们更好地管理和维护Linux系统,尤其是在解决启动问题时能提供宝贵的线索。
2019-12-04 上传
2012-11-06 上传
2021-09-29 上传
2011-04-13 上传
点击了解资源详情
2021-04-13 上传
2021-10-07 上传
2022-07-21 上传
顾阑
- 粉丝: 20
- 资源: 2万+
最新资源
- 创建个性化的Discord聊天机器人教程
- RequireJS实现单页应用延迟加载模块示例教程
- 基于Java+Applet的聊天系统毕业设计项目
- 从HTML到JSX的转换实战教程
- 轻量级滚动到顶部按钮插件-无广告体验
- 探索皇帝多云的天空:MMP 100网站深度解析
- 掌握JavaScript构造函数与原型链的实战应用
- 用香草JS和测试优先方法开发的剪刀石头布游戏
- SensorTagTool: 实现TI SensorTags数据获取的OS X命令行工具
- Vue模块构建与安装教程
- JavaWeb图片浏览小程序毕业设计教程
- 解决 Browserify require与browserify-shim冲突的方法
- Ventuno外卖下载器扩展程序使用体验
- IIT孟买医院模拟申请webapp功能介绍
- 掌握Create React App: 开发Tic-Tac-Toe游戏
- 实现顺序编程与异步操作的wait.for在HarmonyOS2及JavaScript中