正如你所知,GRUB 2 是大多数 Linux 操作系统的默认引导加载程序。GRUB 是 GRand Unified Bootloader 的缩写,它是 Linux 启动时首先要加载的一个程序,此后它会负责载入并将控制权交给 Linux kernel,并由 Linux kernel 负责对操作系统的其它部分进行初始化。在本文中,我们将对 Ubuntu 16.04 LTS 桌面版 GRUB 2 引导加载程序的重要配置进行介绍,当然操作和配置也与其它 Linux 发行版中的 GRUB 配置通用。

GRUB 2引导加载程序设置

GRUB 2 的默认配置文件是 /boot/grub/grub.cfg,它是 Linux 启动引导过程中非常主要的一个文件,除非你已经非常熟悉,否则不要直接编辑或修改此文件。 有关 GRUB 2 的所有设置默认都存放在 /etc/default/grub 文件中,对其内容的更改将直接反馈到 GRUB 2。为保险起见,我们先将它进行备份:

sudo cp /etc/default/grub /etc/default/grub.bak

我们先来看看 GRUB 引导装载程序的主要选项:

cat /etc/default/grub

每当编辑了该配置文件之后,需要执行如下命令将变更应用到 GRUB 2:

sudo update-grub

下面我们开始对 GRUB2 boot loader 进行三项重要的优化调整。

1. 选择默认操作系统

为加快开机引导过程,用户可以手动指定默认要从哪个系统开始引导。如果设置为 0 则表示从 GRUB 选单中的第一个系统开始引导,如果设置为 1 则表示从第二个条目开始引导,以此类推。

如果你装了多个操作系统,可以使用 GRUB_DEFAULT=saved 参数从最后一个系统开始引导,配置好后你每次重启计算机都会直接从最后一个系统开始启动。注意:此功能还需配合一个 GRUB_SAVEDEFAULT=true 条目才能生效。

为了不至于数不清楚个数和方便配置,还可以直接指定 GRUB 开机默认引导系统的名称,例如你的 GRUB 选单中有「Lubuntu14.04 LTS」条目,便可以直接指定 GRUB_DEFAULT=Lubuntu 14.04 LTS 默认启动 Lubuntu。

2. 设置超时时间

默认情况下,启动菜单停留让用户选择的时间为 10 秒。用户可以直接在配置文件中增长或缩短等待时间,如果将GRUB_TIMEOUT 设置为 0,则表示忽略选单直接按上步中选择的默认操作系统进行引导。

3. 更改GRUB背景图片

要更改 GRUB 背景图片非常简单,只需将准备好的图片复制到 /boot/grub/ 路径即可。

GRUB 仅支持 265 色 JPG/JPEG 格式图片,所以建议大家使用 PNG 图片。

背景图片替换好之后记得执行 sudo update-grub 使之生效。

免费提供最新Linux技术教程书籍,为开源技术爱好者努力做得更多更好:https://www.linuxprobe.com/

如何配置Ubuntu 16.04 GRUB 2引导加载程序的更多相关文章

  1. 引导加载程序之争: LILO 和 GRUB

    在不考虑他们的工作或专业情况下,所有 Linux 用户都会使用的是哪个工具?引导加载程序.通过本文了解引导加载程序的工作原理,认识两个流行的引导加载程序 LILO(LInux LOader)和 GNU ...

  2. 引导加载程序:GRUB

    计算机在启动的时候,首先由BIOS中的程序执行自检,自检通过后,就根据CMOS的配置找到第一个可启动磁盘的MBR中的Boot Loader程序(一般在启动盘的第一个物理扇区,占446字节),并把控制权 ...

  3. Win7下安装双系统Centos,并修复Centos引导加载程序安装在U盘上的问题

    1.使用U盘安装Centos时,磁盘分区划分要注意:系统(包含Win7)只能4个主分区,所以只能在删除一个主分区或者在扩展分区的空闲分区内建立目录. 2.Centos在安装步骤的最后,引导加载程序的选 ...

  4. Ubuntu 16.04 grub rescue 模式下修复 grub

      前几天整理了下电脑的分区,合并并删除一些分区,结果导致 grub 被破坏了,Ubuntu进不去了,启动后直接进入了 rescure 模式.后来又折腾了下,终于修复好了,现总结一下. 先说一下我的系 ...

  5. win7 +v Ubuntu 16.04 grub rescue 模式下修复 grub

    前几天整理了下电脑的分区,合并并删除一些分区,结果导致 grub 被破坏了,Ubuntu进不去了,启动后直接进入了 rescure 模式.后来又折腾了下,终于修复好了,现总结一下. 先说一下我的系统环 ...

  6. 配置ubuntu 16.04.1 LTS odoo 10.0开发环境

    使用VMware Fusion 8.5.0创建ubuntu 64bit虚拟机:使用ubuntu-16.04.1-desktop-amd64.iso镜像缺省安装ubuntu,用户名odoo,密码1234 ...

  7. [环境配置]Ubuntu 16.04 源码编译安装OpenCV-3.2.0+OpenCV_contrib-3.2.0及产生的问题

    1.OpenCV-3.2.0+OpenCV_contrib-3.2.0编译安装过程 1)下载官方要求的依赖包 GCC 4.4.x or later CMake 2.6 or higher Git GT ...

  8. [硬件配置]Ubuntu 16.04下使用NETGEAR Nighthawk AC1900 (A7000) WIFi USB适配器

    为了增强无人机与地面站之间的传输信号,组里买了这款WiFi信号接收器,无奈只有Windows和Mac OS版本的驱动程序.后来不知道从哪里得来的一个偏方可以安装Ubuntu下的驱动,特此记录. 内核降 ...

  9. [环境配置]Ubuntu 16.04+CUDA 9.0+OpenCV 3.2.0下编译基于Caffe的MobileNet-SSD踩过的一些坑

    SSD是Caffe的一个分支,源码在github上:https://github.com/weiliu89/caffe/tree/ssd $ git clone https://github.com/ ...

随机推荐

  1. [HNOI2011]数学作业 --- 矩阵优化

    [HNOI2011]数学作业 题目描述: 小 C 数学成绩优异,于是老师给小 C 留了一道非常难的数学作业题: 给定正整数 N 和 M ,要求计算\(Concatenate(1..N)\; Mod\; ...

  2. BZOJ5137[Usaco2017 Dec]Standing Out from the Herd

    看了半天题 不知道怎么用SAM维护 于是借(chao)鉴(xi)的一发神犇的 只要判断这个子串之前被标记的记号(也就是他属于第几个串)和这次转移到的是否相同 如果不同就说明该子串属于多个串 直接标记- ...

  3. python开发_thread_线程_搜索本地文件

    在之前的blog中,曾经写到过关于搜索本地文件的技术文章 如: java开发_快速搜索本地文件_小应用程序 python开发_搜索本地文件信息写入文件 下面说说python中关于线程来搜索本地文件 利 ...

  4. Codeforces Round #358 (Div. 2) D. Alyona and Strings dp

    D. Alyona and Strings 题目连接: http://www.codeforces.com/contest/682/problem/D Description After return ...

  5. Codeforces Round #257 (Div. 2 ) B. Jzzhu and Sequences

    B. Jzzhu and Sequences time limit per test 1 second memory limit per test 256 megabytes input standa ...

  6. 理解linux下源码、yum和rpm安装方法的特点

    1.yum可看作在线安装,只需yum install 软件名,系统就自动根据yum源配置文件中的镜像位置去下载安装包,并可以自动分析所需的软件依赖关系,自动安装所需的依赖软件包.简单方便,不易出错,不 ...

  7. Tomcat篇

    安装tomcat 先从tomcat官网找到最新的版本下载地址,我找的是Core下的安装包,下载到本地: wget http://mirror.bit.edu.cn/apache/tomcat/tomc ...

  8. JTAG/SPI/ISP/ICSP 接口电路

  9. MySQL数据库事务各隔离级别加锁情况--read committed && MVCC(转)

    本文转自https://m.imooc.com/article/details?article_id=17290 感谢作者 上篇记录了我对MySQL 事务 隔离级别read uncommitted的理 ...

  10. java跨域解决

    import java.util.ArrayList; import java.util.List; import org.springframework.context.annotation.Bea ...