grub.cfg ファイルにはほとんどの GRUB 構成が格納されます。GRUB 構成にメニューエントリやその他のスクリプトなどの、複雑な構造を追加したい場合は、custom.cfg という追加の編集可能ファイルを使用できます。このファイルはデフォルトでシステムに存在しません。このファイルを作成し、/pool-name/boot/grub/ にある grub.cfg ファイルと menu.conf ファイルと同じ場所に置く必要があります。
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 }