Handbook:AMD64/Blocks/Bootloader/zh-cn

选择一个引导器
完成配置Linux内核、安装系统工具和编辑配置文件，现在是时候去安装Linux安装的最后一个重要的片：引导器.

引导器负责在引导过程中启动内核——如果没有它，系统将不知道按下电源键后将如何进行.

针对，我们编写了如果在基于BIOS的系统上配置GRUB2或LILO，以及针对UEFI系统的GRUB2或efibootmgr.

在本手册的这一部分中，描述了“新出现的”引导加载程序包和installing 引导加载"程序到系统磁盘之间的区别. 这里，术语emerge将用于请求 Portage 使软件包安装于系统.  术语emerge将表示引导加载程序复制文件或物理地修改系统的磁盘驱动器的适当部分，以便在下一次开机时使引导加载程序“激活并准备好操作”.

默认：GRUB2
过去，Gentoo Linux建议使用的是一个现在叫作传统GRUB的引导器. 顾名思义，老的GRUB包不再积极地维护并且被GRUB2所取代. 关于传统GRUB的更多信息，请参考GRUB文章.

By default, the majority of Gentoo systems now rely upon GRUB2 (found in the package), which is the direct successor to GRUB Legacy. With no additional configuration, GRUB2 gladly supports older BIOS ("pc") systems. With a small amount of configuration, necessary before build time, GRUB2 can support more than a half a dozen additional platforms. For more information, consult the Prerequisites section of the GRUB2 article.

安装
当使用只支持MBR分区表的，旧版BIOS系统时，无需进行其他配置即可安装GRUB：



A note for UEFI users: running the above command will output the enabled GRUB_PLATFORMS values before emerging. When using UEFI capable systems, users will need to ensure  is enabled (as it is the case by default). If that is not the case for the setup,  will need to be added to the  file before emerging GRUB2 so that the package will be built with EFI functionality:






 * If GRUB2 was somehow emerged without enabling, the line (as shown above) can be added to  then and dependencies for the world package set re-calculated by passing the   options to :



GRUB2现在已经安装到系统中了，但是还没有激活.

配置
接下来，通过命令安装GRUB2所需的文件到目录. 假设第一块磁盘（引导系统的那块）是，将使用下面的一条命令：


 * 使用BIOS时：


 * 使用UEFI时：







Some motherboard manufacturers seem to only support the directory location for the .EFI file in the EFI System Partition (ESP). The GRUB installer can perform this operation automatically with the  option. Verify the ESP is mounted before running the following commands. Presuming the ESP is mounted at (as suggested earlier), execute:

This creates the default directory defined by the UEFI specification, and then copies the file to the 'default' EFI file location defined by the same specification.

再一次配置
接下来，基于用户在文件和中特别配置的脚本文件来生成GRUB2. 在大多数场景中，不需要由用户来配置，GRUB2就可以自动检测出哪个内核用于引导（位于中最高的那一个）以及根文件系统是什么. 也可以使用 GRUB_CMDLINE_LINUX >变量在中附加内核参数.

要生成最终的GRUB2配置，运行命令：

需要注意至少找到一个Linux镜像在命令的输出中，它们是用来引导系统的. 如何使用一个initramfs或用建立内核，同样会检测到正确的initrd 镜像. 如果不是这样，进入到并使用命令检查内容. 如果文件确实不存在，回到内核配置和安装的介绍.

安装
LILO (the LInuxLOader,) 是Linux引导程序的久经考验的主力. 但是它缺少GRUB所拥有的一些特性. LILO仍旧在一些系统上被使用的原因是GRUB无法使用但LILO却可以. 当然还因为一些人是先认识了LILO而且对它忠心不二. 不管怎样，Gentoo可以支持它们两个启动器.

安装LILO是一件轻而易举的事，使用emerge就可以了.

配置
要配置LILO，首先要创建 :

在配置文件中，小节（sections）被用于指向可引导的内核. 请确保内核文件（与内核版本号一起）和initramfs文件都可以被知晓，因为它们都需要被这个配置文件所引用.

如果initramfs是必须的，那么就更改配置文件以便引用这个initramfs文件，并且告诉initramfs根设备的所在位置.

如果额外的选项需要被传递到内核，使用 语句. 例如增加  语句来使能framebuffer：

使用 的用户应该了解他们的内核使用与安装CD相同的引导选项. 例如，如果对SCSI设备的支持需要被使能，就增加 到内核选项中.

现在保存这个文件并退出.

安装
为了彻底完成，运行 ，这样LILO就会把 中的设置应用到系统中（也就是说安装它自己到磁盘上）. 要记住每一次一个新内核被安装或者 文件被改变后，都需要执行一次，以确保在内核文件名发生改变后系统仍然能够被引导起来.

备选2：efibootmgr
在基于UEFI的系统上，系统上的UEFI固件（换句话说，主引导加载程序）可以直接操作以查找UEFI引导条目. 这样的系统不需要具有额外的（也称为辅助）引导加载器，如GRUB2，以帮助引导系统. 据说，基于EFI的引导加载程序（如GRUB2）存在的原因是在引导过程中“扩展”UEFI系统的功能. 使用是真正的那些想要采取一个极简主义（虽然更僵硬的）方法来启动他们的系统; 使用GRUB2（见上文）对于大多数用户更容易，因为它在引导UEFI系统时提供了灵活的方法.

记住应用程序不是一个引导器，它是一个和UEFI固件相互作用并更新它的设置，因为之前安装的Linux内核可以通过额外的选项（如果需要）来引导，或允许多重引导条目. 可以通过EFI变量（需要支持EFI变量的内核）来完成这个相互作用.

一定要阅读通过 EFI stub kernel文章“'再''继续. 内核必须具有能够被系统的UEFI固件直接引导的特定选项. 可能需要重新编译内核. 看看 文章，这也是一个好主意.

那些决定采取这种方法的人必须安装软件：

Then, create the location, and then copy the kernel into this location, calling it :

接下来，告诉UEFI固件创建一个叫作“Gentoo”的引导条目，它拥有全新编译的EFI stub内核：

如果使用一个内存文件系统（initramfs），为它添加相应的引导选项：

完成这些变更后，当系统重新启动时，会有一个叫作“Gentoo”的引导条目.

Alternative 3: Syslinux
Syslinux is yet another bootloader alternative for the architecture. It supports MBR and, as of version 6.00, it supports EFI boot. PXE (network) boot and lesser-known options are also supported. Although Syslinux is a popular bootloader for many it is unsupported by the Handbook. Readers can find information on emerging and then installing this bootloader in the Syslinux article.