GRUB(Boot Loader)

本文详细介绍了GRUB启动加载器的工作原理和技术细节,包括其不同版本(GRUB Legacy和GRUB 2)的特点,各个阶段(stage1、stage1.5、stage2)的功能,以及如何通过命令行接口进行手动启动。此外还介绍了配置文件的设置方法和安装过程。

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

GRUB(Boot Loader):
grub:Grand Unified Bootloader
grub 0.x:grub legacy
grub 1.x:grub2

grub legacy:
stage1:mbr
stage1_5:mbr之后的扇区,让stage1中的bootloader能够识别stage2所在分区上的文件系统
stage2:磁盘分区(/boot/grub)
配置文件:/boot/grub/grub.conf <-- /etc/grub.conf

stage2及内核等通常放置于一个基本的磁盘分区:
(1)提供菜单、并提供交互式接口
e:编辑模式,用于编辑菜单
c:命令行模式,交互式接口
(2)加载用户选择的内核或者操作系统
允许传递参数给内核
可隐藏此菜单
(3)为菜单提供了保护机制
为编辑菜单进行认证
为启用内核或操作系统进行认证

如何识别设备:
(hd#,#)
hd#:磁盘编号,#=数字,从0开始编号
#:分区编号,#=数字,从0开始编号
(hd0,0)

grub的命令行接口
help:获取帮助信息
help KEYWORK:信息帮助信息
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,必须与内核版本完全相同。
boot引导内核启动

手动在grub命令行接口启动系统:
grub>root (hd#,#)
grub>kernel /vmlinuz-VERSION-RELEASE ro root=/dev/DEVICE
grub>initrd /initramfs-VERSION-RELEASE.img
grub>boot

grub启动菜单配置文件:/boot/grub/grub.conf
配置项:
default=# 设置默认启动项,第几个
timeout=# 指定菜单超时时间
splashimage=(hd#,#)/PATH/TO/XPM_PIC_FILE 菜单背景图片路径
hiddenmenu 隐藏菜单
password [--md5] STRING 菜单编辑认证
title TITLE 菜单项标题内容
root(hd#,#)
kernel /vmlinuz-VERSION-RELEASE ro root=/dev/DEVICE [args]
initrd /initramfs-VERSION-RELEASE.img
password [--md5] STRING 启动选定时进行认证

安装grub:
(1)grub-install
grub-install --root-directory=ROOT /dev/DISK
(2)grub
grub>root (hd#,#)
grub>setup (hd#)

转载于:https://www.cnblogs.com/colinshi/p/8569035.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值