Jak přidat vlastní položku do menu v grub 2?

Mar|30 2012

Grub 2 změnil logiku, jakým způsobem jsou do menu přidávány položky. Místo editace jednoho souboru menu.lst se nyní používají skripty, jejichž výstupem je soubor podobný dřívějšímu, nicméně tento už není určen pro další editaci. Jak tedy přidat položku do menu, která není automaticky rozpoznána již existujícími skritpy?

Odpověď je jednoduchá, vytvoříme si vlastní skript. Ty jsou uloženy ve složce /etc/grub.d a jsou spouštěny podle jména, proto obsahují na začátku číslo. Změnou pořadí můžeme ovlivnit pořadí položek v menu zavaděče.

Řekněme, že chceme přidat starší systém nainstalovaný na jiném LVM oddílu, např. /dev/mapper/vg_main-lv_fc15. Jádro tohoto systému potom bude na fyzickém oddílu s uuid a1e9953e-4c4c-43ff-bdd7-faf6ca6df777. Systém chceme mít až jako poslední, vytvoříme tedy soubor s právy 755 /etc/grub.d/50_myothers s tímto obsahem:

#! /bin/sh

# Tento text bude zobrazen pri generovani konfiguracniho souboru
echo "Adding FC15 by manual configuration" >&2

cat <<EOF
menuentry "Red Hat Enterprise Linux Server release 6 (Santiago) (2.6.32-220.el6.x86_64) 
(on /dev/mapper/vg_main-lv_rhel6)" --class gnu-linux --class gnu --class os {
        insmod part_msdos
        insmod ext2
        set root='(hd0,msdos1)'
        search --no-floppy --fs-uuid --set=root a1e9953e-4c4c-43ff-bdd7-faf6ca6df776
        linux /vmlinuz-2.6.32-220.el6.x86_64 ro root=/dev/mapper/vg_main-lv_rhel6 
rd_LVM_LV=vg_main/lv_rhel6 rd_LVM_LV=vg_main/main_swap rd_NO_LUKS rd_NO_MD rd_NO_DM 
LANG=en_US.UTF-8 SYSFONT=latarcyrheb-sun16 KEYTABLE=cz-us-qwertz rhgb quiet
        initrd /initramfs-2.6.32-220.el6.x86_64.img
}
EOF

Potom vygenerujeme samotný soubor s konfiguraci:

# /sbin/grub2-mkconfig -o /boot/grub2/grub.cfg

Nakonec můžeme restartovat a modlit se, že v menu bude funkční položka "Fedora 15 (2.6.35-10.fc15.x86_64) (on /dev/mapper/vg_main-lv_fc15)" a po jejím zvolení naběhne požadovaný systém.

Tags: Počítače | Linux | Fedora | Operační systém

Add New Comment

Note: Comments will be visible after manual check by admin.

* These fields have to be filled.