一、grub主要文件及基本原理
1、启动时用到的脚本
/boot/grub/grub.cfg 该脚本是自动生成的!
另外,其他文件都是各种特色功能模块
2、生成grub.cfg参考的配置文件:
A:/etc/grub.d文件夹下的数字编号开头的文件
各文件靠 cat<<EOF ... EOF包含内容,按照文件名顺序依次添加到grub.cfg中去,实际上整个机制类似头文件的编译预处理
B:/etc/default/grub文件
该文件类似于头文件全局宏定义,参数集中修改的地方
如开机系统选择菜单,GRUB_DEFUALT = 0 // 编号从0开始
1、grub引导扇区被windows等其他启动器覆盖
用grub-install修复
2、分区表变化,grub找不到含有boot的硬盘分区
用update-grub2修复(OS_probe模块自动探测)
说明:
引导扇区中的grub2功能非常简单,只能执行ls set insmod等命令;而使用/boot/时的grub则功能强大的多,可以用find等
1、启动时用到的脚本
/boot/grub/grub.cfg 该脚本是自动生成的!
另外,其他文件都是各种特色功能模块
2、生成grub.cfg参考的配置文件:
A:/etc/grub.d文件夹下的数字编号开头的文件
各文件靠 cat<<EOF ... EOF包含内容,按照文件名顺序依次添加到grub.cfg中去,实际上整个机制类似头文件的编译预处理
B:/etc/default/grub文件
该文件类似于头文件全局宏定义,参数集中修改的地方
如开机系统选择菜单,GRUB_DEFUALT = 0 // 编号从0开始
实际应用:
设置默认启动项:grub-set-default 3 # 第4个选项,默认从0开始
二、启动失败恢复
启动出问题一般由如下两点引起:1、grub引导扇区被windows等其他启动器覆盖
用grub-install修复
2、分区表变化,grub找不到含有boot的硬盘分区
用update-grub2修复(OS_probe模块自动探测)
说明:
引导扇区中的grub2功能非常简单,只能执行ls set insmod等命令;而使用/boot/时的grub则功能强大的多,可以用find等
三、系统急救分析