引导和关闭 Oracle® Solaris 11.2 系统

退出打印视图

更新时间: 2014 年 7 月
 
 

x86: 定制 GRUB 配置

grub.cfg 文件包含大部分 GRUB 配置。此外,如果要向 GRUB 配置添加更复杂的结构(例如,菜单项或其他脚本),则可以使用名为 custom.cfg 的可编辑文件。缺省情况下,系统上不存在此文件。您必须创建此文件,且此文件必须与 grub.cfgmenu.conf 文件位于同一位置,即位于 /pool-name/boot/grub/ 中。

GRUB 通过以下代码(位于 grub.cfg 文件的末尾)处理 custom.cfg 文件中的命令和任意定制项:

if [ -f  $prefix/custom.cfg ]; then
			source $prefix/custom.cfg;
fi

这些指令会指示 GRUB 检查在根池的顶层数据集的 boot/grub 子目录中是否存在 custom.cfg 文件。如果存在 custom.cfg 文件,GRUB 便会获取此文件并处理此文件中的任何命令,就像在 grub.cfg 文件中以文本方式插入内容。

在带有 64 位 UEFI 固件的系统上,此文件中的条目如下所示:

menuentry "Windows (64-bit UEFI)" {
   insmod part_gpt
   insmod fat
   insmod search_fs_uuid
   insmod chain
   search --fs-uuid --no-floppy --set=root cafe-f4ee
   chainloader /efi/Microsoft/Boot/bootmgfw.efi
}

在带有 BIOS 固件的系统上,此文件中的条目如下所示:

menuentry "Windows" {
   insmod chain
   set root=(hd0,msdos1)
   chainloader --force +1
}