從 Oracle Solaris 11.1 開始,GRUB 2 即為 x86 平台的預設開機管理程式。GRUB 2 使用的配置檔案 (grub.cfg) 不同於 GRUB Legacy 所使用的 menu.lst 檔案。grub.cfg 檔案包含大部分的 GRUB 配置,包括所有 Oracle Solaris 功能表項目。和 menu.lst 檔案不同,您只能使用 bootadm 指令來管理 grub.cfg 檔案。請勿直接編輯此檔案。
此外,grub.cfg 檔案不包含任何自訂功能表項目。對於自訂功能表項目,您可以使用另一個配置檔 (custom.cfg)。將自訂功能表項目新增至 custom.cfg 之前,您首先必須建立該檔案,並將它儲存在儲存 grub.cfg 和 menu.conf 檔案的相同位置 (/pool-name/boot/grub/)。
啟動程序期間,GRUB 會檢查根集區頂層資料集 boot/grub 子目錄中是否有 custom.cfg 檔案。若該檔案存在,GRUB 便會取得檔案並處理檔案中的任何指令,就像檔案內容已採用文字方式插入主要 grub.cfg 檔案一樣。
例如,在使用 64 位元 UEFI 韌體的系統上,custom.cfg 檔案項目可能會像下面這樣:
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 }
請參閱Booting and Shutting Down Oracle Solaris 11.2 Systems 中的Customizing the GRUB Configuration。