linux开机启动遇到grub启动_Linux启动之grub详解,故障排除,自建linux

本文深入探讨了Linux启动流程中的grub,包括grub的概念、故障排除方法,以及如何自建简单的Linux系统。内容涵盖grub的各阶段、功能、配置文件,以及针对grub启动故障的各种修复策略,旨在帮助读者理解和解决Linux启动问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

概述

上篇我们以CentOS6为例介绍了一下系统启动流程,本篇将承接上篇,详细的介绍一下系统启动流程中的grub,以及系统启动过程中的各种故障的排除,以及利用现有内核自己构建一个能够正常启动的简单Linux系统。具体分为一下几个部分:

1、grub相关概念详解

2、系统启动故障排除

2.1  grub配置文件错误无法进入系统

2.2  grub的stage1故障修复

2.3  grub的stage1.5故障修复

2.4  grub的stage2故障修复(删除/boot/grub目录和内核vmlinuz文件,initramfs文件)

2.5  破坏grub的stage1、stage1.5、删除boot目录的故障恢复

2.6  破坏grub的stage1、stage1.5、删除boot目录,删除/etc/fstab文件的故障恢复

2.7  当系统安装在lvm逻辑卷上时, 破坏grub的stage1、stage1.5、删除boot目录,删除/etc/fstab文件的故障恢复

2.8  系统上init程序被破坏后的恢复,inittab文件被破坏后的恢复

3、自建Linux系统

第一章    grub相关概念详解

1、linux上bootloader之grub详解:

grub 0.X: centos5、6上用的,也称之为grub legacy

grub 1.X: centos7上用的,也称之为grub2

2、grub legacy:分为几个阶段

stage1:安装在MBR中前446字节中

stage1_5:MBR之后的扇区,主要是让stage1中的bootloader能识别stage2所在的分区上的文件系统,否则无法加载stage2阶段

stage2:存放在磁盘分区上,一般在/boot/grub/目录下,这才是真正实现开机时显示的菜单和相关功能的程序所在位置,改程序也有其配置文件,配置文件时/boot/grub/grub.conf,其有个软链接文件是/etc/grub.conf

stage2及内核等,通常放置于一个基本磁盘分区,而不应该是放在lvm、软raid分区等复杂分区上,因为grub不能驱动lvm、软raid分区,另外lvm、软raid的识别是系统初始化脚本/etc/rc.d/rc.sysinit的功能,该功能在内核启动之后,init接管的时候才实现。

3、grub的功能:

<1>提供菜单,并提供交互式接口

e:编辑模式,用于编辑菜单

c:命令模式,交互式接口

等等

<2>加载用户选择的内核或操作系统

并允许用户传递参数给内核

也支持隐藏菜单

<3>为菜单提供了保护机制

为编辑菜单进行认证

为启用内核或操作系统进行认证

4、grub中是如何识别设备

无论是什么接口的硬盘,都识别为hd

且用(hd数字1,数字2)表示第数字1的磁盘上的数字2的分区,都从0开始编号

故(hd0,0) 表示第1个磁盘上的第1个分区

5、grub的命令行接口:

help:获取帮助列表

help 关键字   可获取某个关键字的详细帮助信息

find (hd数字1,数字2)/FILENAME   可在指定磁盘设备上找指定的文件,判断文件的存在性

如:find (hd0,0)/vmlinuz

root (hd数字1,数字2)  表示将那个磁盘设备设置为grub的根设备,注意,这里的根并不是文件系统的根

如:root (hd0,0)

如果指定了根,在find时就可以不必指定设备,而直接从grub的根开始找对应的文件

kernel /PATH/TO/KERNEL_FILE   设定本次启动时用到的内核文件,一般都需要用root指定grub根之后才指定kernel,额外还可以添加许多内核支持使用的命令行参数,如:

init=/PATH/TO/INIT  指定init程序

selinux=0   表示禁用内核中的selinux功能

root=/DEVICE   表示指定真正根文件系统所在的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值