grub配置详细过程
- 格式:ppt
- 大小:886.00 KB
- 文档页数:55
grub 使用手册Grub,全称为 GRand Unified Bootloader,是一款功能强大的引导管理程序。
它主要用于在计算机启动时选择操作系统,并加载相应的内核。
Grub 的灵活性和可配置性使其成为了许多操作系统的首选引导程序。
本文将为您详细介绍 Grub 的使用方法和配置选项,以帮助您更好地理解和应用这一工具。
一、Grub 安装和基础配置1. 安装 GrubGrub 可以通过命令行工具或者图形界面进行安装。
在大多数Linux 系统中,您可以通过包管理器来安装 Grub。
例如,在 Ubuntu 系统上,您可以使用以下命令安装 Grub:```sudo apt-get install grub```2. Grub 配置文件Grub 的配置文件位于 /etc/grub.d/ 目录中,主要文件为 grub.cfg。
您可以使用任意文本编辑器来修改这个文件。
其中,每个菜单项对应着一个操作系统或者启动项。
二、Grub 引导菜单的创建和编辑1. 创建新菜单项您可以通过编辑 grub.cfg 文件来创建新的菜单项。
每个菜单项包含以下几个关键部分:- 标题(title):菜单项的名称,用于在引导菜单中显示。
- 根目录(root):操作系统所在的分区或者磁盘。
- 内核(kernel):要启动的操作系统内核的路径。
- 参数(options):传递给内核的参数,如运行级别或者启动参数。
2. 编辑现有菜单项如果您需要编辑已有的菜单项,可以通过修改 grub.cfg 文件中的对应部分来实现。
注意,修改配置文件需要具备一定的技巧和知识,确保文件的完整性和正确性。
三、Grub 引导程序的高级配置1. 高级引导选项Grub 提供了一些高级的引导选项,用于调整引导过程中的行为。
例如:- 设置默认启动项:您可以修改配置文件中的默认启动项,以自动选择在引导菜单中的排序顺序或者指定一个特定的菜单项。
- 自定义启动画面:Grub 允许您更改引导菜单的外观,例如更换背景图片或者调整菜单字体的颜色。
grub 语法Grub 语法指的是 GRand Unified Bootloader(简称GRUB)的配置文件语法,它是用于多操作系统启动的引导程序。
在这篇文章中,我们将详细介绍 Grub 语法的各种用法和配置选项。
一、GRUB配置文件的基本结构Grub 的配置文件通常位于/boot/grub 目录下,文件名为grub.cfg。
该配置文件采用一种类似于 Shell 脚本的语法,用于定义启动菜单和相关的选项。
配置文件的基本结构如下:```set root=(hdX,Y)```这一行用于设置 Grub 的根目录,其中 hdX 是硬盘的编号,Y 是分区的编号。
根目录是指 Grub 搜索内核和模块文件的起始位置。
二、定义启动菜单在 Grub 的配置文件中,可以通过 menuentry 关键字定义不同的启动菜单。
每个启动菜单对应一个操作系统或内核镜像。
定义启动菜单的语法如下:```menuentry '操作系统名称' {# 启动选项}```其中,操作系统名称可以是任意字符串,用于标识不同的启动菜单。
三、设置启动选项在每个启动菜单中,可以设置不同的启动选项,如指定内核文件、初始化内存文件系统等。
设置启动选项的语法如下:```linux /boot/vmlinuz 内核参数```其中,/boot/vmlinuz 是内核文件的路径,内核参数是传递给内核的额外参数。
四、设置根文件系统在启动选项中,还可以设置根文件系统。
设置根文件系统的语法如下:```root=/dev/sdXY```其中,/dev/sdXY 是根文件系统所在的分区路径。
五、设置启动命令在启动选项中,可以使用 initrd 命令加载初始化内存文件系统。
设置启动命令的语法如下:```initrd /boot/initrd.img```其中,/boot/initrd.img 是初始化内存文件系统的路径。
六、设置启动模式在启动选项中,可以设置启动模式。
grub详解应樱家冢、Bluedata以及其他兄弟的要求,这里谈一谈自己在配置Grub当中积累的点滴,不存在什么高深的使用技巧——^_^,我自己也没有掌握,实际上就是我们常用的功能整理了一下。
如有错误和疑问,请大家指教!因为时间不够用,所以才这么迟的出来,希望两位兄弟谅解,同时感谢网络上曾经为了Linux的事业不停奋斗而无私贡献的人们——因为本文参考了他们的经验!1、一个GRUB配置文件2、解读grub.conf文件3、配置grub4、GRUB的交互性5、常见grub除错方法的思路1 一个GRUB配置文件基于本例的分区如下:hda 15Ghda1 8G / RED HA T LINUX8.0hda5 7G /homehdc 20Ghdc1 6.4G WinXPhdc5 6.4Ghdc6 6.4Ghdc7 6.4G#fdisk -l# Disk /dev/hdc: 255 heads, 63 sectors, 2434 cylindersUnits = cylinders of 16065 * 512 bytesDevice Boot Start End Blocks Id System/dev/hdc1 * 1 894 7181023+ b Win95 FA T32/dev/hdc2 895 2434 12370050 f Win95 Ext'd (LBA)/dev/hdc5 895 1787 7172991 b Win95 FA T32/dev/hdc6 1788 2434 5196996 b Win95 FA T32Disk /dev/hda: 255 heads, 63 sectors, 1867 cylindersUnits = cylinders of 16065 * 512 bytesDevice Boot Start End Blocks Id System/dev/hda1 * 1 1020 8193118+ 83 Linux/dev/hda2 1021 1802 6281415 83 Linux/dev/hda3 1803 1867 522112+ 82 Linux swapgrub.conf,这个文件位于;/boot/grub/grub.conf# grub.conf generated by anaconda## Note that you do not have to rerun grub after making changes to this file# NOTICE: Y ou do not have a /boot partition. This means that# all kernel and initrd paths are relative to /, eg.# root (hd0,0)# kernel /boot/vmlinuz-version ro root=/dev/hda1# initrd /boot/initrd-version.img#boot=/dev/hdadefault=0timeout=3splashimage=(hd0,0)/boot/grub/splash.xpm.gztitle Red Hat Linux (2.4.18-14)root (hd0,0)kernel /boot/vmlinuz-2.4.18-14 ro root=LABEL=/initrd /boot/initrd-2.4.18-14.imgtitle Microsoft Windows XProot (hd1,0)chainloader (hd1,0)+1makeactivemap (hd0) (hd1)map (hd1) (hd0)boot2 解读grub.conf文件我们将来看看grub.conf文件内语句,(注:...)内的东西是我们的解读内容.# grub.conf generated by anaconda## Note that you do not have to rerun grub after making changes to this file# NOTICE: Y ou do not have a /boot partition. This means that# all kernel and initrd paths are relative to /, eg.# root (hd0,0)# kernel /boot/vmlinuz-version ro root=/dev/hda1# initrd /boot/initrd-version.img#boot=/dev/hda (注:以上以符号井"#"开头的行表示被注释掉,没有任何意义)default=0 (注:默认的操作系统就是由default控制的。
GRUB基础教程目录[隐藏]∙ 1 教程提示o 1.1 我应该学习这门教程吗?∙ 2 GRUB 基础o 2.1 什么是 GRUB?o 2.2 GRUB 很棒o 2.3 为什么使用 GRUB?∙ 3 安装 GRUBo 3.1 下载 GRUBo 3.2 安装步骤o 3.3 制作引导盘▪ 3.3.1 准备开始▪ 3.3.2 准备磁盘▪ 3.3.3 启动GRUB▪ 3.3.4 完成引导盘∙ 4 使用 GRUBo 4.1 准备o 4.2 启动 GRUBo 4.3 首次接触o 4.4 "root"o 4.5 GRUB 命名约定o 4.6 装入内核∙ 5 GRUB 内幕o 5.1 重新调查引导软盘o 5.2 两阶段过程o 5.3 阶段 1、1.5 和 2o 5.4 搜索和恢复o 5.5 硬盘引导o 5.6 引导菜单o 5.7 理解引导菜单∙ 6 总结o 6.1 GRUB 的弹性o 6.2 优秀的 GRUB 参考资料[编辑]教程提示[编辑]我应该学习这门教程吗?本教程向您显示如何安装和使用 GRUB (Grand Unified Boot Loader)。
就像 LILO 一样,GRUB 允许引导 Linux 系统,它负责装入和引导内核。
但与 LILO 不同,GRUB 的功能非常多,更易于使用,更可靠和灵活,而且非常小巧。
如果已经有些熟悉 LILO,并了解了磁盘分区的基本知识,那么您就掌握了学习本教程应具备的预备知识。
通过学习本教程和安装 GRUB 之后,您将改进 Linux 系统的可靠性和可用性。
如果只是想尝试 GRUB,可以学习本教程的前半部分,并制作 GRUB 引导盘,然后练习使用它来引导系统。
这样做以后,您将学会在紧急情况下如何使用 GRUB 来引导系统。
但是,如果想更深入地体验 GRUB,可以学完整个教程,它将为您演示如何将 GRUB 设置成缺省引导装入器。
[编辑] GRUB 基础[编辑]什么是 GRUB?GRUB 是引导装入器 -- 它负责装入内核并引导 Linux 系统。
Grub引导程序的安装、配置及使用汇总(一)安装linux时安装grub.安装redhat linux时会提示安装引导程序,如果选择grub为引导程序,建议把grub安装到硬盘的引导扇区MBR. grub 还可以引导其它操作系统,如 FreeBSD、NetBSD、OpenBSD、GNU HURD 和 DOS,以及 Windows 95、98、NT、2000、XP。
(二)grub的配置一旦选择了grub为引导程序,下面我们来了解一下它的配置./boot/grub/grub.conf是grub产生一个引导选择菜单以及设置一些选项.下面是我的grub.conf:#==========例子开始==========# grub.conf generated by anaconda# Note that you do not have to rerun grub after making changes to this file # NOTICE: You have a /boot partition. This means that# all kernel and initrd paths are relative to /boot/, eg.# root (hd0,6)# kernel /vmlinuz-version ro root=/dev/hda10 # initrd /initrd-version.img#boot=/dev/hdadefault=0timeout=10splashimage=(hd0,6)/grub/splash.xpm.gz# --> Redhat Linux 8.0 <--title Red Hat Linux (2.4.18-14)root (hd0,6)kernel /vmlinuz-2.4.18-14 ro root=LABEL=/initrd /initrd-2.4.18-14.img# --> Microsoft Windows XP <--title Microsoft Windows XProotnoverify (hd0,0)chainloader +1#===========例子结束==========配置选项解释:以"#"开头的是注释行.我这里有两个操作系统,分别是Red Hat Linux和Microsoft Windows XP.其中 timeout标识默认等待时间,我这设置为10秒,超过10秒用户还没作出选择的话,将自动选择默认的操作系统(我这里默认的是Redhat linux 8.0)里0表示第一个,1表示第二个.所以如果你想修改默认的操作系统,就修改default后的数字.title一项是设置操作系统的名称,grub不支持中文(有点遗憾).splashimage一项指定grub界面的背景图片,有兴趣的朋友可以修改grub的背景哦!root (hd0,6)标识从第一个硬盘,第7个分区来启动搜索引导内核.注意这儿的root与linux的root分区不同,此root非彼root也! grub的硬盘标识方法与linux的有点不同.在linux中第一个主分区为hda1,第二个主分区为hda2,第一个逻辑分区为hda5,而在 grub 中是以(hdx,y)来标识的,如第一个主分区为(hd0,0)第一个逻辑分区为(hd0,4)依此类推.所以这儿root后面的是你的 /boot所在分区标识.知道了内核在哪儿,还要具体指出哪个文件是内核文件,这就是kernel的工作。
GRUB2及启动过程详解作者: 南瓜剪子2016年7月28日1. 概述 (2)2. CentOS7中GRUB2 (2)3. GRUB2 的bootstrap image文件 (3)3.1. boot.img (3)3.2. diskboot.img (4)3.3. kernel.img (4)3.4. core.img (4)3.5. *.mod (4)4. 对比GRUB Legacy (5)4.1. stage1 (5)4.2. *_stage1_5 (5)4.3. stage2 (5)5. grub2-mkimage定制core.img (6)6. GRUB2安装 (7)6.1. Linux是怎么命名设备(/dev/sda) (7)6.2. MBR(Master Boot Record) (8)6.3. MBR分区表DPT(Disk Partition Table) (10)6.4. LBA and CHS (14)6.4.1. CHS(cylinders-heads-sectors) (14)6.4.2. LBA(Logical Block Address) (14)6.5. boot.img和core.img安装 (15)6.6. 硬盘总结 (18)7. 启动过程 (19)7.1. BIOS (19)7.2. GRUB2中boot.img (20)7.2.1. Step1无条件跳转 (20)7.2.2. Step2 初始化 (20)7.2.3. Step3 判断硬盘是否支持LBA还是只支持CHS (22)7.2.4. Step4 采用LBA加载core.img第一个扇区 (23)7.2.5. Step5 拷贝core.img第一个扇区到内存指定位置 (25)7.2.6. Step6 执行core.img第一条语句 (27)7.2.7. Step7 boot.img总结 (27)7.3. GRUB2中core.img (28)7.3.1. diskboot.img (28)7.3.2. GRUB2 core Startup (34)7.3.3. GRUB主函数即GRUB主要功能 (37)7.3.4. 加载Linux Kernel (38)7.4. Linux kernel (47)8. 结束语 (48)9. 参考文献 (48)1.概述计算机系统上电之后由固化到ROM中的BIOS(UEFI)进行操作,然后导入硬盘MBR中Boot Loader并调到其运行,由Boot Loader对操作系统内核进行加载,并将控制权交给操作系统.下图简单描述了CentOS7的启动过程(CentOS7使用GRUB2作为Boot Loader):现在的Boot Loader有很多类型,大致如下:1.对Linux来说GRUB2占据了统治地位2.对Windows来说Bootmgr/BCD占据了统治地位3.对Apple系统缺省的是BootX作为一名计算机工程师,了解Boot Loader的原理是很重要。