您可能知道,GRUB2是大多数Linux操作系统的默认引导加载程序。GRUB代表GRand Unified Bootloader。GRUB引导加载程序是计算机启动时运行的第一个程序。它负责将控制加载并转移到操作系统内核。然后,内核接管并初始化操作系统的其余部分。
在本教程中,我们将讨论在Ubuntu 18.04 LTS桌面中配置一些重要的GRUB2引导加载程序的设置。我在Ubuntu 18.04 LTS桌面中测试了这个指南,但是这些说明可能适用于所有使用GRUB2引导加载程序的Linux操作系统。
配置GRUB2引导加载程序设置
警告:GRUB2的默认配置文件是/boot/grub/grub.cfg。除非非常熟悉GRUB2,否则不应该编辑或修改这个文件。这是引导到Linux操作系统的主文件。如果您对这个文件做错了什么,那么您最终肯定会导致系统崩溃。所以,不要碰这个文件!
所有与GRUB2相关的设置都将存储在/etc/default/grub文件中。无论您在这个文件中做了什么更改,都会反映到GRUB2。
在进行任何更改之前,备份/etc/default/grub文件。
linuxidc@linuxidc:~/www.linuxidc.com$ sudo cp /etc/default/grub /etc/default/grub.bak
让我们看看GRUB引导加载程序中的主要选项。
典型的grub将如下所示。
linuxidc@linuxidc:~/www.linuxidc.com$ cat /etc/default/grub
输出如下:
# If you change this file, run ‘update-grub’ afterwards to update
# /boot/grub/grub.cfg.
# For full documentation of the options in this file, see:
# info -f grub -n ‘Simple configuration’
GRUB_DEFAULT=0
GRUB_TIMEOUT_STYLE=hidden
GRUB_TIMEOUT=0
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT=”quiet splash”
GRUB_CMDLINE_LINUX=””
# Uncomment to enable BadRAM filtering, modify to suit your needs
# This works with Linux (no patch required) and with any kernel that obtains
# the memory map information from GRUB (GNU Mach, kernel of FreeBSD …)
#GRUB_BADRAM=”0x01234567,0xfefefefe,0x89abcdef,0xefefefef”
# Uncomment to disable graphical terminal (grub-pc only)
#GRUB_TERMINAL=console
# The resolution used on graphical terminal
# note that you can use only modes which your graphic card supports via VBE
# you can see them in real GRUB with the command `vbeinfo’
#GRUB_GFXMODE=640×480
# Uncomment if you don’t want GRUB to pass “root=UUID=xxx” parameter to Linux
#GRUB_DISABLE_LINUX_UUID=true
# Uncomment to disable generation of recovery mode menu entries
#GRUB_DISABLE_RECOVERY=”true”
# Uncomment to get a beep at grub start
#GRUB_INIT_TUNE=”480 440 1″
无论何时对此文件进行更改,都必须运行以下命令将更改应用于GRUB2。
linuxidc@linuxidc:~/www.linuxidc.com$ sudo update-grub
让我们在GRUB2引导加载程序中做三个重要的调整。
1、选择默认操作系统(GRUB_DEFAULT)
我们可以使用此选项选择要引导的默认操作系统。 如果将值设置为“0”,则GRUB引导菜单项中的第一个操作系统将引导。 如果将其设置为“1”,则第二个操作系统将启动,依此类推。
此外,如果您的系统中有多个OS,您可以使用GRUB_DEFAULT=saved值启动最后一个操作系统。无论何时重新启动系统,最后一个操作系统都会启动。请注意,您应该添加一行GRUB_SAVEDEFAULT=true来实现这个技巧。
您还可以指定操作系统的条目名称以引导特定操作系统。 例如,如果在BOOT菜单中有一个名为“Lubuntu 18.04 LTS”的条目,则可以使用GRUB_DEFAULT=”Lubuntu 18.04 LTS”默认启动Lubuntu。 请注意,您应该在引号内指定值。
2、设置操作系统超时(GRUB_TIMEOUT)
默认情况下,boot菜单中选择的条目将在10秒后启动。
您可以增加或减少此超时设置。如果值为“0”,默认操作系统将立即启动。如果值为“5”,启动菜单将显示5秒,这样您就可以在系统启动时选择要加载哪个操作系统。
如果想显示倒计时为5秒
GRUB_TIMEOUT_STYLE=hidden 改为 GRUB_TIMEOUT_STYLE=ountdown
GRUB_TIMEOUT=10 改为 GRUB_TIMEOUT=5
3、更改GRUB背景图像
要更改GRUB背景图像,您需要将首选图像复制到/boot/grub/ 位置。
linuxidc@linuxidc:~/www.linuxidc.com$ sudo cp linuxidc.com.png /boot/grub/
用您自己的图像路径替换。您也可以使用JPG/JPEG格式图像。但GRUB仅支持256色JPG/JPEG图像格式。因此,最好使用PNG格式图像。
在GRUB文件中进行必要的更改后,保存并关闭它。
要应用更改,您必须运行以下命令:
linuxidc@linuxidc:~/www.linuxidc.com$ sudo update-grub
您应该看到以下输出:
Sourcing file `/etc/default/grub’
Generating grub configuration file …
Found background image: linuxidc.com.png
Found linux image: /boot/vmlinuz-5.1.0-050100-generic
Found initrd image: /boot/initrd.img-5.1.0-050100-generic
Found linux image: /boot/vmlinuz-4.18.0-24-generic
Found initrd image: /boot/initrd.img-4.18.0-24-generic
Found linux image: /boot/vmlinuz-4.18.0-22-generic
Found initrd image: /boot/initrd.img-4.18.0-22-generic
Found memtest86+ image: /boot/memtest86+.elf
Found memtest86+ image: /boot/memtest86+.bin
done
重新启动并检查更改是否有效。
请注意,您不应在关键任务或生产系统中编辑或修改GRUB2设置。我建议您先在任何虚拟机中测试这些设置,然后再应用于生产系统。
有空我将在这里再发表另一篇有趣的文章。如果您觉得本指南有帮助,请把本文分享在您的社交和专业网络上。
更多Ubuntu相关信息见Ubuntu 专题页面 https://www.linuxidc.com/topicnews.aspx?tid=2
本文永久更新链接地址:https://www.linuxidc.com/Linux/2019-07/159244.htm