GRUB2启动引导器–完全教程
本教程仅讨论GRUB版本2流行的启动引导器的下一代。如果您在寻找常规GRUB的教程请查看这篇文章。
欢迎来到GRUB2启动引导器教程你肯定已经读过我的关于GRUB legacy版本的指南。在过去的两年半里面它独自积累了五十万次阅读在全世界的计算机使用者中相当流行和实用。我希望利用我的GRUB2重新创造同样的成功。目标为用户使用GRUB作为他们的启动引导器实现启动任何其钟情的类UNIX操作系统或者多重启动他们的计算机提供一个简单、实际、循序渐进、行之有效的教程从而允许他们快速、简单、毫不不费力的控制他们的系统启动流程。
在这个教程里您将学到如何使用GRUB2添加和删除菜单定制标题和启动选项双重启动和三重启动操作系统 结合GRUB和GRUB2我们甚至看一下Windows如何加入这个模式。之后我们将学习如何从错误中恢复。
目录
1. 目录
2.警告
3.GRU B2路标
4.GRU B2介绍
新布局
Grub.cfg文件实例
/etc/grub.d/ 目录示例
/etc/default/grub示例
5.基本用法
GRUB2如何工作
添加新的GRUB脚本
更新GRUB
通过改变脚本名称中的数字改变脚本启动顺序
替换默认条目
操作系统探测器
重装GRUB
简短的总结
6.现实多重启动情况
双重启动使用GRUB2启动两个操作系统
双重启动两个操作系统使用GRUB legacy和GRUB2的结合。
双启动Windows7和Ubuntu
把GRUB legacy升级到GRUB2
7.附加的测试用例
三重启动
8.定制GRU B菜单
编辑/etc/default/grub
从菜单中去掉内存测试memtest
如果您不想让GRUB菜单包含memtest项可以将20_memtest86+这个脚本
设置为不可执行然后更新GRUB。
更改菜单行标题
更改主题(启动背景图片)
9.GRU B 2恢复recovery
从启动失败中恢复
10.观察小问题
内核损坏
内核崩溃转储机制
命令名称
11.GRUB legacy对比GRUB 2
GRUB legacy
GRUB2
结论
12.更多阅读(文档和链接)
官方
其他有用的GRUB资源
13.结论
14.更新
警告
警告 GRUB2还是测试软件。尽管它已经获得Ubuntu的青睐本身没有质量问题。您可以没有问题的使用虽然可能存在损害但那离您是非常遥远的即使真的发生损害也只是轻微的一点点。
您需要认识到这些。另外任何处理危险的任务比如执行系统本身的危险命令磁盘分区启动序列镜像等等的时候您应该时刻准备着最坏的情况。这意味着
对您的数据来考虑您必须有一个可靠的备份过程。
您必须拥有从灾难中迅速恢复的知识和工具。
这包括可以恢复系统的前一个镜像修复损毁。
配置恢复启动引导器还有更多。
您必须对您所做的有信心。
现在您知道了这些让我们高兴并且安全的开始。
那么一定要铭记 GRUB2还是测试版。尽管同样我们可以想到Google Mai l 它测试了六年或者更多您必须小心练习。更重要的是这篇指南的内容和内容相关可能会随着GRUB2被做成产品而改变所以请持续关注更新。
GRUB2路标
这是您使用GRUB2之前需要考虑的。什么时候GRUB2会成为类UNIX操作系统的实际启动引导器 目前 GRU B legacy版本工作的很好并且还将持续很多年。像RedHat和Novel l这样的公司为了服务器发行版会提供长期的技术支持 GRUB legacy还是作为重要参与者存在五到十年。
在桌面领域采用比率会快一些但是不要期待短期内会有奇迹发生。尽管如此这并不影响探索。请认识到您很可能会遇到兼容性问题而抛锚特别是很多保守的发行版对新技术的支持并不是很及时。
到目前为止 GRUB2仅仅被Ubuntu家族使用 Ubuntu家族占了桌面市场的三分之一到一半。这使得这篇指南变得有意义 因为两个或者三个Linux家庭使用者中就会有一个希望了解GRUB2信息并学习它的使用技术。
让我们现在到真正的技术中去。
GRUB2介绍
在开始之前我强烈推荐您阅读我的关于GRUB常规版本的指南这会帮助您更好的理解这篇文章。
GRUB2引入了很多新的更改。GRUB2有更好的移植性和模块性支持非ASCII码字符动态加载模块真实内存管理还有更多。
所有这些几乎都和大多数使用者无关。您需要知道的仅仅是配置文件的改变和GRUB2的操作方法。
新布局
GRUB legacy版本将文件放置在/boot/grub/目录下包括在启动过程中读取并显示内容给用户的menu. lst文件。
GRUB2将文件主要放在三个地方
/boot/grub/grub.cfg --这是替代menu. lst的主要配置文件。不像menu. lst那样grub.cfg不能手动更改我强烈建议不要尝试干预这个文件无论是使用chattr命令或者其他。 由他去就行。
/etc/grub.d/ --这个新文件夹包含GRUB脚本。这些文件是创建grub.cfg文件的基础。当相关的GRUB命令执行以后这些脚本以某个特定的顺序被读取并且创建grub.cfg文件。
/etc/default/grub --这个文件包含GRUB脚本读取并且写入grub.cfg文件的GRUB菜单。它是GRUB的定制部分类似于老的menu. lst文件实际启动项目除外。
这意味着如果您想改变GRUB菜单您将必须编辑已经存在的脚本或者创建新的脚本然后更新菜单。相比老的GRUB这更类似于LILO LILO允许在运行中编辑菜单。
Grub.cfg文件实例
文件位于 /boot/grub/
Grub.cfg文件看起来是这样的
它实际上并不有趣 因为它仅仅是个脚本。多数人可能不想读它的内容或者不能完全理解它们。但是这个文件在任何您更新了GRUB菜单的时候还是值得浏览一下 以确保正确的条目像您预期的一样被加了进来。但是仅仅在您熟悉脚本的情况下
/etc/grub.d/ 目录示例
这是刚刚安装的系统中/etc/grub.d/文件夹下的所有文件 以Kubuntu为例
我们来看一下这些脚本
00_header是从/etc/default/grub中加载GRUB设置的脚本包括超时、默认启动项和其他。我们会稍侯了解更多。
05_debian_theme定义背景、颜色和主题。这个脚本的名字很明确将会改掉当别的版本采用GRUB的时候。
10_l inux为已经安装的发行版加载菜单项。
20_memtest86+加载memtest 内存测试功能
30_os-prober这个脚本将会扫描硬盘上的其他操作系统并且添加到启动菜单。
40_custom是一个您可以用来创建新加的条目到菜单的模板。
您是不是已经认识到了脚本名字中数字的使用不错这有点像不同的runlevel的Start/Ki l l脚本的顺序。数字定义了优先级。这意味着10_l inux会比20_memtest86+先执行所以在启动菜单项中的位置更加靠前一点。
这些脚本也不太有趣。像grub.cfg文件一样他们也不希望被编辑除了40_custom。您必操作这些脚本的时候须非常小心。
我们稍侯看看它们的样子并且学习一下如何使用它们。
/etc/default/grub示例
文件位于 /etc/default/目录下
这个目录包含很多其他文件所以不要以为仅仅被GRUB使用。 grub文件是一个被00_header脚本解析的文本文件。您可以在这里更改如果您想改动的话。我们稍侯在定制部分细谈。
现在我们知道了文件是什么样的让我们看看怎么使用。基本用法
是将我们的理论知识转化为实际行动的时候了。
GRUB2如何工作
GRUB2这样工作
/etc/default/grub包含定制化 /etc/grub.d/脚本包含GRUB菜单信息和操作系统启动脚本。当运行update-grub命令时 它读取grub文件的内容、执行grub.d中的脚本来创建grub.cfg文件。
就是这样。
想要更改grub.cfg文件您需要编辑grub文件或者grub.d下面的脚本。
脚本是被执行的这意味这他们拥有执行权限如果您取消了执行权限他们将不会执行。这意味着您可以在grub.d下放多个文件您想放多少就放多少像update-grub能读的shel l脚本那样长。如果您想使用他们就激活可执行权限chmod+x 反之亦然去掉可执行权限chmod–x 。
让我们来看一下这些脚本
拿00_header和05_debian_theme作为示例:
HostHatch在当地时间7月30日发布了一系列的促销套餐,涉及亚洲和欧美的多个地区机房,最低年付15美元起,一次买2年还能免费升级双倍资源。商家成立于2011年,提供基于KVM架构的VPS主机,数据中心包括中国香港、美国、英国、荷兰、印度、挪威、澳大利亚等国家的十几个地区机房。官方网站:https://hosthatch.com/NVMe VPS(香港/悉尼)1 CPU core (12.5%...
41云怎么样?41云是国人主机品牌,目前经营产品有国内外云服务器、CDN(高防CDN)和物理机,其中国内外云服务器又细分小类有香港限流量VPS、香港大带宽VPS、香港弹性自选VPS、香港不限流VPS、香港BGP线路VPS、香港Cera+大带宽机器、美国超防VPS、韩国原生VPS、仁川原生VPS、日本CN2 VPS、枣庄高防VPS和金华高防VPS;物理机有美国Cera服务器、香港单程CN2服务器、香...
傲游主机商我们可能很多人并不陌生,实际上这个商家早年也就是个人主机商,传说是有几个个人投资创办的,不过能坚持到现在也算不错,毕竟有早年的用户积累正常情况上还是能延续的。如果是新服务商这几年确实不是特别容易,问到几个老牌的个人服务商很多都是早年的用户积累客户群。傲游主机目前有提供XEN和KVM架构的云服务器,不少还是亚洲CN2优化节点,目前数据中心包括中国香港、韩国、德国、荷兰和美国等多个地区的CN...