#yyds干货盘点#启动流程和grub故障排错
Posted 王华_linux
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了#yyds干货盘点#启动流程和grub故障排错相关的知识,希望对你有一定的参考价值。
#1.CentOS 6 的启动管理
Linux组成
kernel 实现进程管理、内存管理、网络管理、驱动程序、文件系统、安全功能等功能
rootfs 包括程序和 glibc 库
程序:二进制执行文件
库:函数集合, function, 调用接口(头文件负责描述)
内核设计流派
宏内核(monolithic kernel):又称单内核和强内核,Unix,Linux
把所有系统服务都放到内核里,所有功能集成于同一个程序,分层实现不同功能,系统庞大复杂,Linux其实在单内核内核实现了模块化,也就相当于吸收了微内核的优点微内核(micro kernel):Windows,Solaris,HarmonyOS(华为开发微内核)
简化内核功能,在内核之外的用户态尽可能多地实现系统服务,同时加入相互之间的安全保护,每种功能使用一个单独子系统实现,将内核功能移到用户空间,性能差
CentOS 6 启动流程
1. 加载Bios的硬件信息,获取第一个启动设备
2. 读取第一个启动设备MBR的引导加载程序(grub)的启动信息
3. 加载核心操作系统的核心信息,核心开始解压缩,并尝试驱动所有的硬件设备
4. 核心执行init程序,并获取默认的运行信息
5. init程序执行/etc/rc.d/rc.sysinit文件,重新挂载根文件系统
6. 启动核心的外gua模块
7. init执行运行的各个批处理文件(scripts)
8. init执行/etc/rc.d/rc.local
9. 执行/bin/login程序,等待用户登录
10. 登录之后开始以Shell控制主机
硬件启动POST
POST:Power-On-Self-Test,加电自检,是BIOS功能的一个主要部分。负责完成对CPU、主板、内存、硬盘子系统、显示子系统、串并行接口、键盘等硬件情况的检测
主板的ROM:BIOS,Basic Input and Output System,保存着有关计算机系统最重要的基本输入输出程序,系统信息设置、开机加电自检程序和系统启动自举程序等
主板的RAM:CMOS互补金属氧化物半导体,保存各项参数的设定,按次序查找引导设备,第一个有引导程序的设备为本次启动设备
启动加载器 bootloader
bootloader: 引导加载器,引导程序
- windows: ntloader,仅是启动OS
- Linux:功能丰富,提供菜单,允许用户选择要启动系统或不同的内核版本;把用户选定的内核装载到内存中的特定空间中,解压、展开,并把系统控制权移交给内核
Linux的bootloader
- LILO:LInux LOader,早期的bootloader,功能单一
- GRUB: GRand Unified Bootloader, CentOS 6 GRUB 0.97: GRUB Legacy, CentOS 7 以后使用 GRUB 2.02
GRUB 启动阶段
- primary boot loader :
1st stageMBR的前446个字节
1.5 stage: mbr 之后的扇区,让stage1中的bootloader能识别stage2所在的分区上的文件系统
secondary boot loader :2nd stage,分区文件/boot/grub/
定义了菜单信息 ,
636K ext4的驱动无法放在446字节里面 。要进入系统首先要加载内核
2.CentOS 6 grub 安装
安装grub:
(1) grub-install 安装grub stage1和stage1_5到/dev/DISK磁盘上,并复制GRUB相关文件到 DIR/boot
目录下
grub-install --root-directory=DIR /dev/DISK
(2) grub
grub> root (hd#,#)
grub> setup (hd#)
3.修复grub的第1阶段故障
重启就不可以了,因为要用到前446字节
ctrl alt del 重启
27个扇区都被修复了
4. 修复grub的第1.5 阶段故障
错误提示
因为1.5阶段被破坏了,但是第1阶段是好的,它认为硬盘还是可以启动的,所以不停的在这里闪烁
修复:
exit
光盘启动,进入rescue模式
#chroot /mnt/sysimage
#grub-install /dev/sda
#sync
#按 ctrl+alt+delete 三个键重启动
以上是关于#yyds干货盘点#启动流程和grub故障排错的主要内容,如果未能解决你的问题,请参考以下文章