A partire da Oracle Solaris 11.1, GRUB 2 è il boot loader predefinito nelle piattaforme x86. GRUB 2 utilizza un file di configurazione (grub.cfg) diverso dal file menu.lst utilizzato da GRUB Legacy. Il file grub.cfg contiene la maggior parte della configurazione GRUB, incluse tutte le opzioni di menu di Oracle Solaris. A differenza del file menu.lst, il file grub.cfg viene gestito unicamente mediante il comando bootadm. Non modificare direttamente questo file.
Inoltre, il file grub.cfg non contiene alcuna opzione di menu personalizzata. Per le voci di menu personalizzate è possibile utilizzare un file di configurazione aggiuntivo (custom.cfg). Prima di aggiungere voci di menu personalizzate al file custom.cfg, è necessario creare il file e memorizzarlo nella stessa posizione in cui sono memorizzati i file grub.cfg e menu.conf (/pool-name/boot/grub/).
Durante il processo di boot, GRUB verifica se esiste un file custom.cfg nel set di dati di livello superiore del pool root, nella sottodirectory boot/grub. Se il file esiste, GRUB elabora gli eventuali comandi in esso contenuti, come se il contenuto venisse inserito in modalità testo nel file grub.cfg principale.
Ad esempio, in un sistema con firmware UEFI a 64 bit, le voci del file custom.cfg possono essere simili alle seguenti:
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 }
In un sistema con firmware BIOS le opzioni in questo file possono essere simili alle seguenti:
menuentry "Windows" { insmod chain set root=(hd0,msdos1) chainloader --force +1 }
Vedere Customizing the GRUB Configuration in Booting and Shutting Down Oracle Solaris 11.2 Systems .