MBR格式与Linux启动:从BIOS到GRUB详解
需积分: 9 35 浏览量
更新于2024-08-25
收藏 235KB PPT 举报
MBR格式是计算机启动过程中一个至关重要的环节,特别是在传统的基于硬盘的Linux系统中。MBR(Master Boot Record)位于硬盘的第一个扇区(0道0柱面1扇区),它是一个512字节大小的扇区,负责引导操作系统的初始加载。当计算机加电自检(POST)完成并确认硬件正常后,BIOS会寻找启动扇区,即MBR,然后将控制权交给MBR。
在MBR中,有一个非常小的引导加载程序,通常包括bootsect(早期版本的BIOS引导程序),它会将自己复制到内存的特定地址(如0x00090000),并执行setup()函数。setup()阶段主要负责初始化硬件设备,设置内核运行环境,将系统参数保存到特殊内存区域,以便在保护模式下访问,以及配置视频设备。
GRUB(Grand Unified Bootloader),作为一个两阶段的引导加载程序,通常阶段1(stage1)被安装在MBR中,长度约为446字节,它的作用是加载并执行阶段2(stage2)。stage2更进一步,它不仅加载内核,还会显示一个引导菜单,让用户可以选择不同的内核版本或其他操作系统。在这个阶段,还提供了shell环境,允许用户指定内核的位置。
Linux内核的引导过程在ancient age(古代)阶段开始,从_start()函数生成引导扇区的汇编源码,随后bootsect被执行。在middle ages(中世纪)阶段,setup()函数负责初始化硬件和设置内核运行环境,比如内存管理、磁盘驱动加载和视频模式设置。最终,renaissance(文艺复兴)阶段,通过startup_32()函数设置基础环境,解压缩bzImage(预编译的内核映像)到内存,然后执行实际的内核初始化。
整个过程涉及多个步骤,从BIOS的引导到内核的启动,每一个环节都精心设计以确保系统的稳定启动。了解这些细节对于理解Linux启动机制以及维护和故障排查至关重要。同时,随着技术发展,现代的引导方式可能已不再完全依赖MBR,如UEFI取代BIOS引导,但MBR的基本原理仍然是理解Linux启动流程的基础。
2021-11-29 上传
2013-05-06 上传
2019-09-14 上传
2023-07-12 上传
2023-06-06 上传
2024-09-13 上传
2023-03-16 上传
2023-06-09 上传
2023-05-18 上传
ServeRobotics
- 粉丝: 34
- 资源: 2万+
最新资源
- C++多态实现机制详解:虚函数与早期绑定
- Java多线程与异常处理详解
- 校园导游系统:无向图实现最短路径探索
- SQL2005彻底删除指南:避免重装失败
- GTD时间管理法:提升效率与组织生活的关键
- Python进制转换全攻略:从10进制到16进制
- 商丘物流业区位优势探究:发展战略与机遇
- C语言实训:简单计算器程序设计
- Oracle SQL命令大全:用户管理、权限操作与查询
- Struts2配置详解与示例
- C#编程规范与最佳实践
- C语言面试常见问题解析
- 超声波测距技术详解:电路与程序设计
- 反激开关电源设计:UC3844与TL431优化稳压
- Cisco路由器配置全攻略
- SQLServer 2005 CTE递归教程:创建员工层级结构