GRUB介绍 及 自建简版Linux(及 grub 修复)

本文详细介绍了GRUB(GRand Unified Bootloader)的含义、版本、阶段功能,特别是grub legacy的运作机制,包括stage 1到stage 2的过程。此外,还讲解了如何自建简版Linux以及在GRUB损坏时的修复方法,包括直接修复和救援模式。内容涵盖了GRUB配置文件、命令行接口和单用户模式的进入方式。
摘要由CSDN通过智能技术生成

grub 介绍

grub 含义

GRUB(GRand Unified Bootloader,简称“GRUB”)是一个多操作系统启动程序。GRUB是多启动规范的实现,它允许用户可以在计算机内同时拥有多个操作系统,并在计算机启动时选择希望运行的操作系统。GRUB 可用于选择操作系统分区上的不同内核,也可用于向这些内核传递启动参数。

在 x86 架构的机器中,Linux、BSD 或其它Unix类的操作系统中GRUB、LILO 是大家最为常用,应该说是主流。

grub 版本

grub 现有两个版本,如下:

  • grub 0.x: grub legacy
  • grub 1.x: grub2

grub legacy 介绍

grub legacy 在引导安装系统的时候,一共分为如下阶段,如下:

  • stage 1:自检硬件没有问题后,BIOS将会直接去找硬盘的第一个扇区,找到前446字节,将mbr加载到内存中。
  • stage 1.5:mbr之后的扇区,让stage1中的bootloader能识别stage2所在的分区上的文件系统。
  • stage 2:读入/boot/grub/目录下相关的配置文件,开机启动的Grub选项、信息,还有修改GRUB背景等功能都是在相关的配置文件中进行体现的。配置文件路径:/boot/grub/grub.conf ← /etc/grub.conf,注意箭头,前面是真实的路径,后面是链接文件。

stage 2 阶段的功能

stage 2 及内核等通常放置于一个基本磁盘分区(注意是基本磁盘分区,mbr 无法驱动高级软设备LVM或软raid)。

  • 提供菜单、并提供交互式接口(即系统启动时的界面及交互接口)
选择相应编辑键,进入相应的配置模式:
	e: 编辑模式,用于编辑菜单
	c: 命令模式,交互式接口
  • 加载用户选择的内核或操作系统
允许传递参数给内核
可隐藏此菜单
  • 为菜单提供了保护机制
为编辑菜单进行认证
为启用内核或操作系统进行认证

识别硬件设备

在 stage 2 阶段读取相关配置文件的时候,需要指定相应的硬盘和分区去加载内核和ramdisk 文件,格式如下:

格式:(hd#,#)
字段含义:
	hd# :磁盘编号,用数字表示,从0开始编号
	  # :分区编号,用数字表示,从0开始编号
示例:
	(hd0,0) 代表 第一块硬盘的第一个分区

grub 命令行接口

以 CentOS 6 为例,在系统启动时,按 c 键进行交互接口,可进行如下命令配置。

help:获取帮助列表
help KEYWORD:带关键字,可以获取详细帮助信息
find (hd#,#) /PATH/TO/SOMEFILE:进行查找文件时,要指定硬盘才能生效
root (hd#,#):配置根文件所在位置
kernel /PATH/TO/KERNEL_FILE:设定本次启动时用到的内核文件
	# 额外还可以添加许多内核支持使用的cmdline参数,例如:
	#   init=/path/to/init, selinux=0
initrd /PATH/TO/INITRAMFS_FILE:设定为选定的内核提供额外文件的ramdisk
	# ramdisk版本必须要与内核版本完全一致
boot:引导启动选定的内核

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值