Linux系统启动过程详解
需积分: 15 124 浏览量
更新于2024-09-15
收藏 1.2MB PDF 举报
"《Linux标准学习教程》(1).pdf"
在深入理解Linux系统的启动过程时,首先要明白的是,这个过程是由多个阶段组成的,从硬件的初始化到操作系统的实际运行。以下是Linux系统启动的关键步骤:
1. **BIOS自检**:
- 当计算机开机时,BIOS(基本输入输出系统)首先执行POST(加电自检),检查硬件是否正常工作。
- POST完成后,BIOS继续执行本地设备的枚举和初始化,为后续的操作提供服务。
- BIOS的运行时服务存储在内存中,供操作系统使用,如读取CMOS设置等。
2. **引导设备选择**:
- BIOS根据CMOS设置的引导顺序寻找活动且可引导的设备,如硬盘、软盘、CD-ROM、网络设备或USB设备。
- 在现代系统中,通常从硬盘上的MBR(主引导记录)启动。
3. **主引导记录(MBR)**:
- MBR位于硬盘的第一个扇区(0道0柱面1扇区),大小为512字节,包含主引导加载程序。
- MBR被加载到内存后,BIOS将控制权转移给MBR。
4. **引导加载器**:
- MBR中的加载程序负责找到操作系统内核的位置,并将其加载到内存中。
- 在Linux系统中,常见的引导加载器有LILO和GRUB,它们允许用户选择要启动的操作系统或者内核版本。
5. **加载内核**:
- 引导加载器读取内核映像文件并将其加载到内存特定位置,同时传递必要的参数。
- 内核开始初始化,包括识别硬件、设置中断处理、初始化驱动程序等。
6. **初始化ramdisk或initrd**:
- 在某些情况下,Linux内核会先加载一个临时的ramdisk或initrd(初始化ramdisk),用于加载额外的驱动程序和文件系统工具,以便访问主文件系统。
7. **挂载根文件系统**:
- 一旦内核准备好,它将挂载根文件系统,这是操作系统启动过程中的关键步骤,因为根文件系统包含了操作系统运行所需的大部分文件和目录。
8. **启动init进程**:
- 内核启动第一个用户空间进程——init,它根据/etc/inittab配置文件指定的运行级别,启动相应的服务和程序。
9. **系统服务启动**:
- 根据运行级别,init启动各种系统服务,如网络服务、守护进程等。
10. **用户登录**:
- 系统进入多用户模式,等待用户通过控制台或网络进行登录。
通过以上步骤,Linux系统完成了从硬件到软件的全面初始化,为用户提供了一个可用的操作环境。了解这些启动过程对于系统管理和故障排查非常重要,因为任何环节出错都可能导致系统无法正常启动。为了查看MBR内容,可以使用如`dd`和`od`这样的命令行工具,这对于诊断启动问题非常有用。
2021-12-15 上传
487 浏览量
2014-02-12 上传
2021-09-30 上传
2022-06-22 上传
2021-10-13 上传
2023-02-28 上传
2021-04-21 上传
2010-09-03 上传
q123456789098
- 粉丝: 310
- 资源: 2196
最新资源
- NIST REFPROP问题反馈与解决方案存储库
- 掌握LeetCode习题的系统开源答案
- ctop:实现汉字按首字母拼音分类排序的PHP工具
- 微信小程序课程学习——投资融资类产品说明
- Matlab犯罪模拟器开发:探索《当蛮力失败》犯罪惩罚模型
- Java网上招聘系统实战项目源码及部署教程
- OneSky APIPHP5库:PHP5.1及以上版本的API集成
- 实时监控MySQL导入进度的bash脚本技巧
- 使用MATLAB开发交流电压脉冲生成控制系统
- ESP32安全OTA更新:原生API与WebSocket加密传输
- Sonic-Sharp: 基于《刺猬索尼克》的开源C#游戏引擎
- Java文章发布系统源码及部署教程
- CQUPT Python课程代码资源完整分享
- 易语言实现获取目录尺寸的Scripting.FileSystemObject对象方法
- Excel宾果卡生成器:自定义和打印多张卡片
- 使用HALCON实现图像二维码自动读取与解码