蚊章汇 - grub
type: channel
link: https://linuxcn.bwsl.wang/tag/grub/
items: 如何访问虚拟机中的 GRUB 菜单
items: 如何在 Linux 中更改 GRUB 主题
items: 如何启动 Ubuntu 22.04 进入救援/紧急模式
items: 详解在 Ubuntu 中引导到救援模式或紧急模式
items: Linux 黑话解释：Linux 中的 GRUB 是什么？
items: 如何在 Ubuntu 和其它 Linux 发行版上更新 grub
items: 如何在 Arch Linux（UEFI）上安装 GRUB
items: Boot Repair Tool： 可以修复与启动相关的大部分问题
items: Linux GRUB2 配置简介
items: 详解 UEFI 模式下安装 Linux

如何访问虚拟机中的 GRUB 菜单
type: item
date: 2023-08-02T19:30:00+08:00
description: 需要在虚拟机中访问 GRUB 菜单吗？以下是做法。大多数现代虚拟机都配置为跳过 GRUB 引导加载程序 以获得无缝体验。但是，你有时可能需要访问 GRUB 菜单。例如，如果你想切换回旧内核或进入恢复模式以 重置密码。? TLDR：重启虚拟机并在再次启动时按住 Shift 键。这将为你提供 GRUB 菜单。在这篇简短的文章中，我将向你展示两种访问虚拟机中运行的 Linux 中的 GRUB 菜单的方法：临时方案（当你需要访问 GRUB 一两次时）永久方案（每次启动时都会显示 GRUB）由于大多数用户不会每天与 GRUB 交互，因此我将从一个临时解决方案开始，你可以无需任何调整即可访问 GRUB。? 我在此处的教程中使用了 Ubuntu，但这些步骤也适用于其他 Linux 发行版。在虚拟机中访问 GRUB 引导加载程序（快速方式）如果你偶尔想访问 GRUB，这应该是最好的方法，因为它不需要任何配置。只需重新启动系统并按住 shift 键即可。就是这样！你将拥有没有任何时间限制的 GRUB 菜单：很简单的方法。不是吗？但它仅适用于特定的启动。那么如果你想在每次启动时都进入 GRUB 该怎么办呢？ 请参考下面的方法。永久在虚拟机中启用 GRUB 菜单（如果你愿意）? 此方法需要在命令行中更改 GRUB 配置文件。请确保你能够轻松地在终端中进行编辑。如果你需要处理 GRUB 菜单来访问其他操作系统或经常更改 从旧内核启动，那么此方法非常适合你。要使 GRUB 在每次引导时都可访问，你必须在配置文件中进行更改。首先，使用以下命令打开 GRUB 配置文件：sudo nano /etc/default/grub 在这里，将 GRUB_TIMEOUT_STYLE=hidden 更改为 GRUB_TIMEOUT_STYLE=menu：接下来，在同一个配置文件中，指定你希望 GRUB 显示的秒数。我建议 5 秒，因为它似乎在太长和太短之间取得了平衡（是的，非常相关）：GRUB_TIMEOUT=5 最后，你可以 保存更改并退出 nano 编辑器。要激活对配置文件所做的更改，请使用以下命令更新 GRUB：sudo update-grub 就是这样。重启系统，GRUB 应该会显示 5 秒钟。将 GRUB 主题化如何？大多数 Linux 发行版都会使用 GRUB 引导加载程序，因为它的配置非常简单，而且能完成工作。但在默认情况下，除了黑色背景和纯文本外，它没什么样式。因此，我们制作了一份指南，教你如何让它看起来更漂亮：定制 GRUB 以获得更好的体验希望本指南对你有所帮助，如果你有任何疑问，请在评论中告诉我。（题图：MJ/f75daf37-20c2-4bae-8a68-dc6a82ad0d61）via: https://itsfoss.com/access-grub-virtual-machine/作者：Sagar Sharma 选题：lkxed 译者：geekpi 校对：wxy本文由 LCTT 原创编译，Linux中国 荣誉推出

如何在 Linux 中更改 GRUB 主题
type: item
date: 2022-08-29T19:47:26+08:00
description: 在 Linux 中安装和应用现代的漂亮的 GRUB 主题。GRUB ，意即 大统一引导程序 GRand Unified Bootloader ，它是大多数 Linux 操作系统的默认引导加载程序。GRUB 引导加载程序是计算机启动时运行的第一个程序。正如你可能注意到的，GRUB 菜单的默认主题是朴素的。它只有一个黑色的背景和一些白色的字符。你们中的一些人可能不喜欢默认的 GRUB 主题。在这篇教程中，我将演示如何 更改 GRUB 主题 或应用华丽的主题，以使你的 GRUB 菜单在 Linux 中更加精美。数年前，我们发布了一篇指南，阐释了如何在 Ubuntu 中 配置 GRUB2 引导加载程序设置 。在这篇文章中，我们将向你展示如何更改 GRUB 背景。但是，只更改背景不是真正的自定义。在这篇指南中，我们不仅会更改壁纸，也会更改 GRUB 的字体、主题和整体的设计。免责声明： 安装 GRUB 主题可能会破坏你的系统。我强烈建议你在一个虚拟机中尝试和测试一个主题来查看它是否没有正常工作。然后再在实际的系统上安装主题。介绍在互联网上可以找到很多社区开发的 GRUB 主题。然而，它们却散落在不同的网站上。因此，找到一个好的 GRUB 主题可能会事倍功半。GRUB 主题的一个重要的贡献者是 Pling 网站。但是，Pling 中的大部分主题是非常简单的或过时的。幸运的是，我遇到一个名称为 Gorgeous GRUB 的项目，它是一个可以找到各种精美的 GRUB 主题的地方。相信我，作者付出了巨大的努力来收集这些主题，肯定会你喜欢的主题。Gorgeous GRUB：一个可以找到很棒的 GRUB 主题的地方Gorgeous GRUB 是一个由不同用户所创建的质量上乘的 GRUB 社区主题的收藏集合。这个项目的开发者从 Pling 、/r/unixporn 和其它很多的论坛中手工挑选漂亮的 GRUB 主题，并将它们放置到一起，以便用户可以很容易的浏览它们。如上所述，在 Pling 中的很多主题都是粗糙和过时的。Gorgeous GRUB 的作者翻遍了 Pling 和其它一些论坛的整个 GRUB 部分，并将所有令人满意的 GRUB 主题放置到一个地方。它们不是一些粗制滥造的主题。他们付出了大量的努力来将定制的背景、字体和颜色等融合在一起。请注意，Gorgeous GRUB 并不是一个安装你最喜欢的 GRUB 主题的应用程序。它只是一个良好工作的 GRUB 主题的展览列表。这个项目托管在 GitHub 中。如果你有一些很酷的 GRUB 主题，你也可以将其添加到 Gorgeous GRUB 主题列表之中。如何更改 GRUB 主题应用或更改 GRUB 主题并不难。转到 Gorgeous GRUB 的 GitHub 网页 ，单击任意你想要应用的主题的标题。接下来，你将会被带到该主题的实际主页。一些主题托管在 Pling 之中，一些主题托管在 GitHub 之中。我将会看看如何安装来自 Pling 或 GitHub 的 GRUB 主题。首先，让我们看看如何应用 “Descent” 主题，它托管在 Pling 中。1、从 Pling 安装 GRUB 主题如果主题托管在 Pling 网站，遵循这些操作说明。在主题主页，单击 文件 Files 标签页。你将会在图像预览的下方找到这个标签页。单击文件链接来下载它。转到下载位置并提取存档文件：$ tar xzf 173860-20150926\ descent.tar.gz 存档文件的内容将被提取到当前工作目录中一个名称为 descent 目录中。使用下面的命令复制 descent 目录到 /boot/grub/themes/ 目录：$ sudo cp -r descent/ /boot/grub/themes/ 如果 themes 目录不存在，只需要创建它：$ sudo mkdir /boot/grub/themes 并给 themes 目录分配适当的权限：$ sudo chown $USER /boot/grub/themes/ 接下来，如上所述复制 descent 目录中内容到 themes 目录。现在，你应该在 themes 目录中有一个以主题名称命名的文件夹：$ ls /boot/grub/themes/ descent 并且，这个主题文件夹（例如 descent）应该包含 theme.txt 和该主题附带的其它一些相关的文件（例如，背景图像、自定义文件）。$ ls /boot/grub/themes/descent/ background1280x800.png descent_score_14.pf2 menu_ne.png menu_s.png progresshigh_c.png scrollf…

如何启动 Ubuntu 22.04 进入救援/紧急模式
type: item
date: 2022-06-24T18:16:48+08:00
description: 极客们好，将 Ubuntu 22.04（Jammy Jellyfish）启动到 救援 Rescue 和 紧急 Emergency 模式可以重置忘记的用户密码、修复文件系统错误，以及在启动过程中禁用或启用 systemd 服务。在这篇文章中，我们将学习如何启动 Ubuntu 22.04 LTS 系统进入救援和应急模式。救援模式类似于单用户模式，所有的故障排除步骤都在这里进行。救援模式加载最小的环境并挂载根文件系统。而在紧急模式下，我们得到的是单用户 Shell，而不启动任何系统服务。因此，当我们无法启动系统进入救援模式时，就需要紧急模式。启动 Ubuntu 22.04 进入救援或单用户模式前往你想启动到救援或单用户模式的目标系统。在启动时按下 SHIFT + ESC 键，进入 GRUB 引导加载器页面。选择第一个选项 “Ubuntu”，并按 e 键进入编辑模式。在以 linux 开头的一行末尾，删除字符串 $vt_handoff 并添加字符串 systemd.unit=rescue.target。做完修改后，按 Ctrl + X 或 F10 在救援模式下启动。进入救援模式后，运行所有的故障排除命令，并运行 systemctl reboot 命令来重启系统。另一种启动系统进入救援模式的方法重新启动系统并按下 ESC + Shift 键，进入 GRUB 启动界面。选择第二个选项 “ Ubuntu 高级选项 Advanced Options for Ubuntu ”->选择“ 恢复模式 recovery mode ”选项并点击回车->选择 root（进入 root shell 提示符） root (Drop to root shell prompt) 。下面是一个例子：当你有了 root Shell，运行命令来恢复和修复系统问题，最后使用 systemctl reboot 来重启系统。引导 Ubuntu 22.04 进入紧急模式要启动系统进入紧急模式，首先进入 GRUB 页面。选择第一个选项 “Ubuntu” 并按 e 键进行编辑。寻找以 linux 开头的一行，移到该行的末尾，删除字符串 $vt_handoff 并添加字符串 systemd.unit=emergency.target。按 Ctrl + X 或 F10 将系统启动到紧急模式。同样，在紧急模式下，你可以在这个模式下执行所有的故障排除，完成后，就用 systemctl reboot 命令重启系统。这篇文章的内容就这些。文章内容丰富，不要犹豫，请在你的技术朋友中分享它。请在下面的评论区发表你的疑问和反馈。via: https://www.linuxtechi.com/boot-ubuntu-22-04-rescue-emergency-mode/作者：Pradeep Kumar 选题：lkxed 译者：geekpi 校对：wxy本文由 LCTT 原创编译，Linux中国 荣誉推出

详解在 Ubuntu 中引导到救援模式或紧急模式
type: item
date: 2022-06-14T23:36:45+08:00
description: 这篇教程将介绍如何在 Ubuntu 22.04、20.04 和 18.04 LTS 版本中引导到 救援 Rescue 模式或 紧急 Emergency 模式。你可能已经知道，在 RHEL 7 、RHEL 8 、Ubuntu 16.04 LTS 及其更新的版本的 Linux 发行版中 运行等级 Runlevels 已经被 系统目标 Systemd target 所替代。更多关于 运行等级 Runlevel 和 系统目标 Systemd targets 的信息，参考 这篇指南 。这篇指南是针对 Ubuntu 编写的，但是，下面所给的步骤应该也适用于大多数使用 systemd 作为默认服务管理器的 Linux 发行版。在进入主题前，让我们简单的理解：什么是 救援 rescue 模式 和 紧急 Emergency 模式，以及这两种模式的目的是什么。什么是救援模式？在 Linux 发行版中，救援模式等效于使用 SysV 作为默认的服务器管理器的 单用户 single user 模式。在救援模式中，将挂载所有的本地文件系统，将仅启动一些重要的服务。但是，不会启动一般的服务（例如，网络服务）。救援模式在不能正常引导系统的情况下是很有用的。此外，我们可以在救援模式下执行一些重要的救援操作，例如，重新设置 root 密码 。什么是紧急模式？与救援模式相比，在紧急模式中，不会启动任何的东西。不会启动服务、不会挂载挂载点、不会建立套接字、什么都不会启动。你将所拥有的只是一个 原始的 shell 。紧急模式适用于调试目的。首先，我们将看到如何在 Ubuntu 22.04 和 20.04 LTS 发行版中引导到救援模式或紧急模式。在 Ubuntu 22.04 和 20.04 LTS 中的过程是完全相同的！在 Ubuntu 22.04 / 20.04 LTS 中引导到救援模式我们可以使用两种方法来引导到救援模式。方法 1打开你的 Ubuntu 系统。在 BIOS 徽标出现后，按下 ESC 按键来显示 GRUB 菜单。在 GRUB 菜单中，选择第一项，并按下 e 按键来编辑它。按下 ↓ 按键，并找到以单词 linux 开头的一行代码，并在其结尾处添加下面的一行代码。为到达其结尾处，只需要按下 Ctrl + e 组合键，或使用你键盘上的 END 按键或 ←/→ 按键。systemd.unit=rescue.target 在添加上面的代码行后，按下 Ctrl + x 组合键或按下 F10 按键来引导到救援模式。数秒后，你将作为 root 用户来登录到救援模式（即单用户模式）。将会提示你按下回车键来进入维护。下图是 Ubuntu 22.04 / 20.04 LTS 系统的救援模式的样子：现在，在救援模式中做你想做的任何事。在救援模式中，在你执行任何操作前，你可能需要以 读/写模式来挂载根（/）文件系统。mount -n -o remount,rw / 在完成后，按下 Ctrl + d 组合键来引导到正常模式。或者，你可以输入下面的任意一个命令来引导到正常模式。systemctl default 或者，exit 如果你想重新启动系统，而不是引导到正常的模式，输入：systemctl reboot 方法 2在这种方法中，你不需要编辑 GRUB 启动菜单项目。打开系统电源，并从 GRUB 启动菜单中选择 Ubuntu 高级选项 Advanced options for Ubuntu 。接下来，你将看到一个带有内核版本的可用的 Ubuntu 版本的列表。在 Ubuntu 中的 GRUB 启动菜单中选择 恢复模式 Recovery mode 。数秒后，你将看到 Ubuntu 的 恢复 Recovery 菜单。从恢复菜单中，选择 进入 root 的 shell 提示符 Drop to root shell prompt 选项 ，并按下回车键。现在，你将进入维护。通过输入下面的命令来 以读/写模式的方式 来挂载根（/）文件系统：mount -n -o remount,rw / 在救援模式中做你想做的任何事。在完成后，输入 exit 来返回到恢复菜单。exit 最后，选择 救援正常启动 Resume normal boot 选项，并按下回车键。再次按下回车键来退出恢复模式，并继续引导到正常模式。如果你不想引导到正常模式，从救援模式中输入 reboot 并按下回车键来重新启动你的系统。在 Ubuntu 22.04 / 20.04 LTS 中引导到紧急模式当 GRUB 菜单出现时，按下 e 按键来编辑它。找到以单词 linux 开头的一行代码，并在其结尾处添加下面的一行代码：systemd.unit=emergency.target 在添加上面的代码行后，按下 Ctrl + x 组…

Linux 黑话解释：Linux 中的 GRUB 是什么？
type: item
date: 2022-04-03T19:19:38+08:00
description: 如果你曾经使用过 Linux 桌面，你一定见过这个屏幕。这就是所谓的 GRUB 屏幕。是的，它的字母全部都是大写的。在 “ Linux 黑话解释 Linux Jargon Buster ”系列的这一个章节中，我将告诉你 GRUB 是什么，以及它有什么用处。此外，我还会简要地介绍一下配置和定制的部分。GRUB 是什么？GRUB 是一个用于加载和管理系统启动的完整程序。它是 Linux 发行版中最常见的 引导程序 bootloader 。引导程序是计算机启动时运行的第一个软件。它加载 操作系统的内核，然后再由内核初始化操作系统的其他部分（包括 Shell、显示管理器、桌面环境 等等）。引导程序和引导管理器我不想现在就把你搞糊涂，但是我认为这个话题是不可避免的。 引导程序 boot loader 和 引导管理器 boot manager 之间有着一条模糊的界限。你已经知道了引导程序是什么。它会首先启动，然后将内核加载到内存中并执行它。引导管理器则允许你在不同的操作系统之间进行选择（如果你的电脑上不止一个操作系统的话）。引导管理器并不会直接加载系统。随着 Linux 内核 3.3 版本的推出，Linux 内核包括了一个内置的 EFI 引导程序。事实上，任何一个支持 EFI 的系统都包括一个 EFI 引导程序。在支持 EFI 的系统中，固件会读取 EFI 系统分区 EFI System Partition （ESP）中的 EFI 文件，从而获得启动信息。这里插入一张图片，图中显示了带有 ESP 分区的分区表：GRUB 既是一个引导程序，也是一个引导管理器。一会儿我再来谈 GRUB。让我们先看看其他类似 GRUB 的程序。小知识：GRUB 是 GRand Unified Bootloader（大一统引导程序） 的首字母缩写。GRUB 屏幕上的那些行是什么意思？你会在 GRUB 屏幕上看到几行字。这些行对于不同的设置、不同的发行版会有所不同。通常情况下，第一行是你的 Linux 发行版。如果你看到类似高级选项的东西，你可以进入其中，找到一些以 “linux-generic-x-y-z” 等开头的行。当你的 Linux 发行版更新内核版本时，它至少会保留一个旧版本。你可以选择启动到旧的 Linux 内核，以防你的系统遇到新更新的 Linux 内核的任何问题。在基于 Ubuntu 的发行版中，你也可以看到一个恢复选项。在高级选项下，通常有一个旧的内核版本和恢复选项在最后，你可能会看到一个条目，如系统设置或 UEFI 设置，以访问系统的 BIOS 设置。还有哪些类似 GRUB 的引导管理器？GRUB 是 Linux 中最流行的引导管理器。但它并不是唯一的一个。有一个高度可定制的引导管理器，名字叫做 rEFInd 引导管理器，它同样受到了一些 Linux 用户的喜爱。还有一个基于文本的引导管理器，名字叫做 systemd-boot。你可以猜到这是专为基于 systemd 的 Linux 发行版准备的。有一些发行版正在使用 systemd-boot，比如 Pop OS。访问或编辑 GRUB通常你看到的 GRUB 屏幕是它的菜单界面。如果你安装了一个以上的操作系统，它会允许你在其中选择一个来启动。如果你的 Linux 发行版安装了不止一个内核，你也可以选择加载不同的内核。根据不同的 Linux 发行版的配置，你的 GRUB 菜单上可能会有一些其他选项。你可以在 GRUB 菜单界面按 e 键来编辑菜单项。这样你就可以在内核加载前修改它的参数。例如，在某些情况下，禁用内核提供的图形驱动可以帮助你解决 Linux 系统在启动时卡住的问题。你也可以在 GRUB 菜单界面上按 c 键来进入 GRUB 的命令行菜单。GRUB 配置文件你在菜单界面里对 GRUB 所做的任何改变都是暂时的。如果你想对 GRUB 做一些永久性的改变，比如改变默认的超时时间，你可以在 Linux 系统启动后修改 GRUB 配置文件。默认的 GRUB 配置文件是 /etc/default/grub。还有一个 /etc/default/grub.d 目录，里面也存放一些配置。你可以直接编辑 /etc/default/grub 文件，但是我还是建议通过在这个目录中添加配置文件（.cfg 文件）进行额外的修改。你必须 更新 GRUB 才能使这些修改生效。使用 GRUB 定制器来定制 GRUB如果你不太习惯 在终端里使用文本编辑器编辑文件，你可以 使用一个叫做 GRUB 定制器的图形工具。它允许你改变启动顺序、默认超时时间等等。你还可以用它来把 GRUB 的背景设置成一张自定义的墙纸。GRUB 定制器可以在 Ubuntu 20.04 中从 Universe 仓库安装，在 Ubuntu 18.04 …

如何在 Ubuntu 和其它 Linux 发行版上更新 grub
type: item
date: 2019-12-29T19:02:11+08:00
description: 在这篇文章中，你将学习在 Ubuntu 或任何其它 Linux 发行版上更新 grub 。你也将学习一个或两个关于更新这个 grub 过程如何工作的事情。如何更新 grubUbuntu 和很多其它的 Linux 发行版提供一个易使用的称为 update-grub 命令行实用程序。为更新 grub ，你所要的全部工作就是使用 sudo 在终端中运行这个命令。sudo update-grub你应该看到一个像这样的输出：[email protected]:~$ sudo update-grub [sudo] password for abhishek: Sourcing file `/etc/default/grub' Generating grub configuration file ... Found linux image: /boot/vmlinuz-5.0.0-37-generic Found initrd image: /boot/initrd.img-5.0.0-37-generic Found linux image: /boot/vmlinuz-5.0.0-36-generic Found initrd image: /boot/initrd.img-5.0.0-36-generic Found linux image: /boot/vmlinuz-5.0.0-31-generic Found initrd image: /boot/initrd.img-5.0.0-31-generic Found Ubuntu 19.10 (19.10) on /dev/sda4 Found MX 19 patito feo (19) on /dev/sdb1 Adding boot menu entry for EFI firmware configuration done你可能看到一个类似的称为 update-grub2 的命令。不需要在 update-grub 和 update-grub2 之间感到害怕或不知所措。这两个命令执行相同的动作。大约在 10 年前，当 grub2 刚刚被引进时，update-grub2 命令也被引进。现在，update-grub2 只是一个链接到 update-grub 的符号，它们都更新 grub2 配置（因为 grub2 是默认的）。不能找到 update-grub 命令？这里是在这种情况下该做什么它可能是，你的 Linux 发行版可能没有可用的 update-grub 命令。在这种情况下你该做什么？你如何在这样一个 Linux 发行版上更新 grub ？在这里不需要惊慌。update-grub 命令只是一个入口，用于运行 grub-mkconfig -o /boot/grub/grub.cfg 来生成 grub2 配置文件。这意味着你可以在任意 Linux 发行版上使用下面的命令更新 grub ：sudo grub-mkconfig -o /boot/grub/grub.cfg当然，记住 update-grub 命令比上面的命令容易很多，这是为什么它在一开始被创建的原因。update-grub 是如何工作的？当你安装一个 Linux 发行版时，它（通常）要求你安装 grub 启动引导程序。grub 的一部分安装在 MBR/ESP 分区上。grub 的剩余部分保留在 Linux 发行版的 /boot/grub 目录中。依据它的 man 页面，update-grub 通过查找 /boot 目录来工作。所有以 vmlinuz- 开头的文件将被作为内核来对待，并且它们将得到一个 grub 菜单项。它也将为与所找到内核版本相同的 ramdisk 镜像添加 initrd 行。它也使用 os-prober 为其它操作系统查找所有磁盘分区。如果找到其它操作系统，它添加它们到 grub 菜单。为什么你需要更新 grub ？在有很多场景下你需要更新 grub。假设你修改 grub 配置文件（/etc/default/grub）以 更改默认启动顺序 或减少默认启动时间。除非你更新 grub ，否则你的修改将不会生效。另一种情况是，你在同一个电脑系统上安装多个 Linux 发行版。例如，在我的 Intel NUC 上，我有两个磁盘。第一个磁盘有 Ubuntu 19.10 ，并且我在其上面安装了 Ubuntu 18.04 。第二个操作系统（Ubuntu 18.04）安装了其自己的 grub ，现在 grub 启动屏幕由 Ubuntu 18.04 grub 控制。在第二个磁盘上，我安装了 MX Linux ，但是这次我没有安装 grub。我希望现有的 grub（由 Ubuntu 18.04 控制）来处理所有的操作系…

如何在 Arch Linux（UEFI）上安装 GRUB
type: item
date: 2018-10-23T06:15:28+08:00
description: 前段时间，我写了一篇在安装 Windows 后在 Arch Linux 上如何重新安装 Grub的教程。几周前，我不得不在我的笔记本上从头开始重新安装 Arch Linux，同时我发现安装 Grub 并不像我想的那么简单。出于这个原因，由于在新安装 Arch Linux 时在 UEFI bios 中安装 Grub 并不容易，所以我要写这篇教程。定位 EFI 分区在 Arch Linux 上安装 Grub 的第一件重要事情是定位 EFI 分区。让我们运行以下命令以找到此分区：# fdisk -l我们需要检查标记为 EFI System 的分区，我这里是 /dev/sda2。之后，我们需要在例如 /boot/efi 上挂载这个分区：# mkdir /boot/efi # mount /dev/sdb2 /boot/efi另一件重要的事情是将此分区添加到 /etc/fstab 中。安装 Grub现在我们可以在我们的系统中安装 Grub：# grub-mkconfig -o /boot/grub/grub.cfg # grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=GRUB自动将 Windows 添加到 Grub 菜单中为了自动将 Windows 条目添加到 Grub 菜单，我们需要安装 os-prober：# pacman -Sy os-prober要添加它，让我们运行以下命令：# os-prober # grub-mkconfig -o /boot/grub/grub.cfg # grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=GRUB你可以在这里找到更多关于在 Arch Linux 上 Grub 的信息。via: http://fasterland.net/how-to-install-grub-on-arch-linux-uefi.html作者：Francesco Mondello 选题：lujun9972 译者：geekpi 校对：wxy本文由 LCTT 原创编译，Linux中国 荣誉推出

Boot Repair Tool： 可以修复与启动相关的大部分问题
type: item
date: 2017-07-02T03:38:59+08:00
description: ​我们都碰到过启动相关的问题，并且大部分时候都是简单的 GRUB 上的问题。 有时候很多人会觉得、输入一段很长的命令或在论坛中搜索来找到解决方法太麻烦了。今天我要告诉你如何使用一个简单而轻巧的软件来解决大部分的启动相关的问题。这个工具就是著名的 Boot Repair Tool 。好了，话不多说，让我们开始吧。如何在 Linux 中安装和使用启动修复工具你需要一个你所安装的操作系统的现场版的 USB 棒或 DVD，这是安装这个应用并使用它的前提条件。 引导到操作系统17 并打开终端并输入以下命令sudo add-apt-repository -y ppa:yannubuntu/boot-repair sudo apt-get update sudo apt-get install -y boot-repair && boot-repair 在安装结束以后，你可以从应用菜单或或其它你在系统上启动应用的地方启动你的修复工具。你可以在菜单栏中看到 Boot Repair。​启动它，它就会开始进行一些扫描操作，我们只要等它自己结束就好了。 ​现在你会看到这个界面，这是基于之前扫描的建议修复。 在底部还可以有一个高级选项，你可以在高级选项里进行各方面的设置。 我建议没有经验的用户使用推荐维修，因为它很简单，在大多数情况下我们都可以这样做。选择推荐的更新后，它将开始修复。 等待进一步的处理。你现在会看到一个指令界面。 现在是轮到我们操作的时候了。打开终端，逐个复制并粘贴其中高亮的命令到终端中。命令完成后，你会看到一个上面提及的要求确认的界面。 使用箭头键或 Tab 键选择“Yes”，然后按回车键。 现在在 启动修复工具 界面中点击 “forward”。现在你会看到这个界面。 复制在那里提到的命令，并将其粘贴到终端中，然后按回车并让其执行此操作。 需要一段时间所以请耐心等待，它将下载GRUB、内核或任何修复您的引导所需的内容。现在你可能会看到一些选项用于配置安装 GRUB 的位置。 选择“yes”，然后按回车，你会看到上面的界面。使用空格键选择选项和按 TAB 以浏览选项。 选择并安装 GRUB 后，可以关闭终端。 现在在启动修复工具屏幕中选择 “forward” 选项。现在它会做一些扫描操作，并且会询问你一些需要确认的一些选项。 每个选项都选择是即可。它会显示一个成功的确认消息。 如果没有，并且显示失败的消息，则将生成链接。 转到该链接获取更多帮助。成功后，重启你的电脑。 当你重新启动时，你会看到 GRUB。 现在已成功维修您的电脑。 一切顺利。引导修复的高级技巧当我的电脑出现双引导启动画面时，我发现在修复时，它无法识别 安装在另一个分区上的 Windows 7。 这里有一个简单的提示来帮你解决这个问题。打开终端并安装 os-prober。 它很简单，可以在软件中心或通过终端找到。os-prober 可以帮助您识别安装在 PC 上的其他操作系统。os-prober 安装完成后，通过输入 os-prober 在终端运行它。 如果失败了那么试着用 root 账号运行它。 之后运行update-grub 命令。 这就是你可以用于从 GRUB 中启动 Windows 的所需要做的全部。总结​以上就是全部的内容。现在你已经成功地修复了你的 PC。via: http://www.linuxandubuntu.com/home/boot-repair-tool-repair-the-most-boot-related-problems作者：linuxandubuntu 译者：chenxinlong 校对：wxy本文由 LCTT 原创编译，Linux中国 荣誉推出

Linux GRUB2 配置简介
type: item
date: 2017-06-13T14:13:35+08:00
description: 学习 GRUB 引导加载程序是如何预备你的系统并启动操作系统内核的。自从上个月为我的文章《Linux 引导和启动过程简介》做研究开始，我对更深入了解 GRUB2 产生了兴趣。这篇文章提供了配置 GRUB2 的简要介绍。为了简便起见，我大多数情况下会使用 GRUB 指代 GRUB2。GRUBGRUB 来自 GRand Unified Bootloader 的缩写。它的功能是在启动时从 BIOS 接管掌控、加载自身、加载 Linux 内核到内存，然后再把执行权交给内核。一旦内核开始掌控，GRUB 就完成了它的任务，也就不再需要了。GRUB 支持多种 Linux 内核，并允许用户在启动时通过菜单在其中选择。我发现这是一种非常有用的工具，因为我有很多次遇到一个应用程序或者系统服务在特定内核版本下失败的问题。有好几次，引导到一个较旧的内核时就可以避免类似的问题。默认情况下，使用 yum 或 dnf 进行更新时会保存三个内核 - 最新的以及两个比较旧的。在被包管理器删除之前所保留的内核数目可以在 /etc/dnf/dnf.conf 或 /etc/yum.conf 文件中配置。我通常把 installonly_limit 的值修改为 9 以便保留 9 个内核。当我不得不恢复到低几个版本的内核时这非常有用。GRUB 菜单GRUB 菜单的功能是当默认的内核不是想要的时，允许用户从已经安装的内核中选择一个进行引导。通过上下箭头键允许你选中想要的内核，敲击回车键会使用选中的内核继续引导进程。GRUB 菜单也提供了超时机制，因此如果用户没有做任何选择，GRUB 就会在没有用户干预的情况下使用默认内核继续引导。敲击键盘上除了回车键之外的任何键会停止终端上显示的倒数计时器。立即敲击回车键会使用默认内核或者选中的内核继续引导进程。GRUB 菜单提供了一个 “ 救援 rescue ” 内核，用于故障排除或者由于某些原因导致的常规内核不能完成启动过程。不幸的是，这个救援内核不会引导到救援模式。文章后面会更详细介绍这方面的东西。grub.cfg 文件grub.cfg 文件是 GRUB 配置文件。它由 grub2-mkconfig 程序根据用户的配置使用一组主配置文件以及 grub 默认文件而生成。/boot/grub2/grub.cfg 文件在 Linux 安装时会初次生成，安装新内核时又会重新生成。grub.cfg 文件包括了类似 Bash 脚本的代码以及一个按照安装顺序排序的已安装内核列表。例如，如果你有 4 个已安装内核，最新的内核索引是 0，前一个内核索引是 1，最旧的内核索引是 3。如果你能访问 grub.cfg 文件，你应该去看看感受一下它看起来是什么样。grub.cfg 太大也就没有包含在这篇文章中。GRUB 配置文件grub.cfg 的主要配置文件都在 /etc/grub.d 目录。该目录中的每个文件都包含了最终会整合到 grub.cfg 文件中的 GRUB 代码。这些配置文件的命名模式以排序方式设计，这使得最终的 grub.cfg 文件可以按正确的顺序整合而成。每个文件都有注释表明该部分的开始和结束，这些注释也是最终的 grub.cfg 文件的一部分，从而可以看出每个部分是由哪个文件生成。分隔注释看起来像这样：### BEGIN /etc/grub.d/10_linux ### ### END /etc/grub.d/10_linux ### 不要修改这些文件，除非你是一个 GRUB 专家并明白更改会发生什么。无论如何，修改 grub.cfg 文件时你也总应该保留一个原始文件的备份。 40_custom 和 41_custom 这两个特别的文件用于生成用户对 GRUB 配置的修改。你仍然要注意对这些文件的更改的后果，并保存一份原始 grub.cfg 文件的备份。你也可以把你自己的文件添加到 /etc/grub.d 目录。这样做的一个可能的原因是为非 Linux 操作系统添加菜单行。要注意遵循命名规则，确保配置文件中额外的菜单选项刚好在 10_linux 条目之前或之后。GRUB 默认文件老版本 GRUB 的配置非常简单而明了，我只需要修改 /boot/grub/grub.conf 就可以了。对于新版本的 GRUB2，我虽然还可以通过更改 /boot/grub2/grub.cfg 来修改，但和老版本的 GRUB 相比，新版本相对更加复杂。另外，安装一个新内核时 grub.cfg 可能会被重写，因此任何修改都可能消失。当然，GNU.org 的 GRUB 手册确实有过直接创建和修改 /boot/grub2/grub.cfg 的讨论。一旦你明白了如何做，更改 GRUB2 配置就会变得非常简单。我为之前的文章研究 GRUB2 的时候才明白这个。秘方就在 …

详解 UEFI 模式下安装 Linux
type: item
date: 2017-05-06T16:05:00+08:00
description: 此页面是免费浏览的，没有烦人的外部广告；然而，我的确花了时间准备，网站托管也花了钱。如果您发现此页面帮到了您，请考虑进行小额捐款，以帮助保持网站的运行。谢谢！ 原著于 2013/10/19；最后修改于 2015/3/16引言几年来，一种新的固件技术悄然出现，而大多数普通用户对此并无所知。该技术被称为 可扩展固件接口 （ Extensible Firmware Interface ） （EFI）， 或更新一些的统一可扩展固件接口（Unified EFI，UEFI，本质上是 EFI 2.x），它已经开始替代古老的 基本输入/输出系统 （ Basic Input/Output System ） （BIOS）固件技术，有经验的计算机用户或多或少都有些熟悉 BIOS。本页面是给 Linux 用户使用 EFI 技术的一个快速介绍，其中包括有关开始将 Linux 安装到此类计算机上的建议。不幸的是，EFI 是一个庞杂的话题；EFI 软件本身是复杂的，许多实现有系统特定的怪异行为甚至是缺陷。因此，我无法在一个页面上描述在 EFI 计算机上安装和使用 Linux 的一切知识。我希望你能将本页面作为一个有用的起点，不管怎么说，每个部分以及末尾“参考文献”部分的链接可以指引你找到更多的文档。你的计算机是否使用 EFI 技术？EFI 是一种固件，意味着它是内置于计算机中处理低级任务的软件。最重要的是，固件控制着计算机的引导过程，反过来说这代表着基于 EFI 的计算机与基于 BIOS 的计算机的引导过程不同。（有关此规律的例外之处稍后再说。）这种差异可能使操作系统安装介质的设计超级复杂化，但是一旦安装好并运行之后，它对计算机的日常操作几乎没有影响。请注意，大多数制造商使用术语 “BIOS” 来表示他们的 EFI。我认为这种用法很混乱，所以我避免了；在我看来，EFI 和 BIOS 是两种不同类型的固件。注意：苹果公司的 Mac 使用的 EFI 在许多方面是不同寻常的。尽管本页面的大部分内容同样适用于 Mac，但有些细节上的出入，特别是在设置 EFI 引导加载程序的时候。这个任务最好在 OS X 上进行，使用 Mac 的 bless utility工具，我不在此做过多描述。自从 2006 年第一次推出以来，EFI 已被用于基于英特尔的 Mac 上。从 2012 年底开始，大多数安装 Windows 8 或更高版本系统的计算机就已经默认使用 UEFI 启动，实际上大多数 PC 从 2011 年中期就开始使用 UEFI，虽然默认情况下它们可能无法以 EFI 模式启动。2011 年前销出的 PC 也有一些支持 EFI，尽管它们大都默认使用 BIOS 模式启动。如果你不确定你的计算机是否支持 EFI，则应查看固件设置实用程序和参考用户手册关于 EFI、UEFI 以及 legacy booting 的部分。（可以通过搜索用户手册的 PDF 文件来快速了解。）如果你没有找到类似的参考，你的计算机可能使用老式的（“legacy”） BIOS 引导；但如果你找到了这些术语的参考，几乎可以肯定它使用了 EFI 技术。你还可以尝试只有 EFI 模式的引导加载器的安装介质。使用 rEFInd 制作的 USB 闪存驱动器或 CD-R 镜像是用来测试不错的选择。在继续之前，你应当了解大多数 x86 和 x86-64 架构的计算机上的 EFI 都包含一个叫做 兼容支持模块 Compatibility Support Module （CSM）的组件，这使得 EFI 能够使用旧的 BIOS 风格的引导机制来引导操作系统。这会非常方便，因为它向后兼容；但是这样也导致一些意外情况的发生，因为计算机不论以 EFI 模式引导还是以 BIOS （也称为 CSM 或 legacy）模式引导，在控制时没有标准的使用规范和用户界面。特别地，你的 Linux 安装介质非常容易意外的以 BIOS/CSM/legacy 模式启动，这会导致 Linux 以 BIOS/CSM/legacy 模式安装。如果 Linux 是唯一的操作系统，也可以正常工作，但是如果与在 EFI 模式下的 Windows 组成双启动的话，就会非常复杂。（反过来问题也可能发生。）以下部分将帮助你以正确模式引导安装程序。如果你在阅读这篇文章之前就已经以 BIOS 模式安装了 Linux，并且希望切换引导模式，请阅读后续章节，“哎呀：将传统模式下安装的引导转为 EFI 模式下的引导”。UEFI 的一个附加功能值得一提： 安全启动 Secure Boot 。此特性旨在最大限度的降低计算机受到 boot kit 病毒感染的风险，这是一种感染计算机引导加载程序的恶意软件。Boot kits 很难检测和删除，阻止它们的运行刻不容缓。微软公司要求所有带…