Portál AbcLinuxu, 1. května 2025 06:59

Jak manuálně přidat menuentry do Grubu 2

26.6.2011 15:35 | Přečteno: 1931× | Software | Výběrový blog | poslední úprava: 26.6.2011 15:32

Před nějakým časem jsem hledal způsob, jak do Grubu 2 přidat vlastní menuentry vedoucí na systém, který se mi při standardním update-grub nenačetl. Zprvu jsem našel stížnosti na nepraktičnost Grubu 2 a nemožnost jeho manuálního nastavení, a přeci jsem později našel jednoduchý postup jak na to.

Soubor, který umožňuje ruční přidání menuentry se "schovává" v /etc/grub.d/ a nese název 40_custom. Abyste ho mohli úspěšně editovat potřebujete samozřejmě rootovská oprávnění.


Menuentry vedoucí přímo na systém
menuentry "Mandriva Linux" {

 insmod ext2

 linux (hd0,3)/boot/vmlinuz root=/dev/sda3

 initrd (hd0,3)/boot/initrd.img

}

Důležité je odkázat zavaděč na správný disk a správný oddíl. To se provádí pomocí parametrů

(hdX,Y)
X je číslo disku a Y číslo oddílu na daném disku. Číslování disků začíná od nuly, takže hd0 pro první disk(neboli sda), hd1 pro druhý disk(neboli sdb) a tak dále. Číslo oddílu je totožné. Jednička pro sd_1, dvojka pro sd_2, trojka pro sd_3 a tak podobně. V mém případě tedy Grub odkazuje na třetí oddíl(sda3) prvního disku(sda). Nezapomeňte obdobně nastavit i parametr root.

U některých systémů je potřeba odkázat i na konkrétní jádro. Tak je tomu např u Debianu. Menuentry pro něj tedy vypadá následovně:

menuentry "debian squeeze" {

 insmod ext2

 linux (hd0,1)/boot/vmlinuz-2.6.32-5-amd64 root=/dev/sda1

 initrd (hd0,1)/boot/initrd.img-2.6.32-5-amd64

}

Menuentry vedoucí na zavaděč instalovaný na oddíl

Pokud si při instalování druhého systému nechcete přemazat původní zavaděč, můžete ten nový instalovat na diskový oddíl. Do původního zavaděče poté jen přidáte menuentry odkazující na tento druhý zavaděč. Taková záznam bude vypadat například takto:

menuentry "Grub1" {
 set root=(hd0,3)
 chainloader +1
 }
Po uložení editovaného souboru nezapomeňte spustit update-grub. Nové záznamy se v jeho výpisu sice neobjeví, ale po restartu již budou v seznamu položek Grubu zobrazeny.        

Hodnocení: 73 %

        špatnédobré        

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

Komentáře

Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře. , Tisk

Vložit další komentář

26.6.2011 15:56 miriam | blog: miriam
Rozbalit Rozbalit vše Re: Jak manuálně přidat menuentry do Grubu 2
Odpovědět | Sbalit | Link | Blokovat | Admin
Máš to pěkný, ale co je to takové to menuentry, a co je to grub? Jinak dávám 100% hodnocení. Díky, Miriam
26.6.2011 17:26 trekker.dk | skóre: 72
Rozbalit Rozbalit vše Re: Jak manuálně přidat menuentry do Grubu 2
Nekrmit
Quando omni flunkus moritati
26.6.2011 17:38 miriam | blog: miriam
Rozbalit Rozbalit vše Re: Jak manuálně přidat menuentry do Grubu 2
Jak to, že už má teď jenom 75% hodnocení? Když sem klikla já tak bylo 100%. Co to znamená nekrmit? To jako že se mu má snížit hodnocení? Díky, Miriam
stativ avatar 26.6.2011 20:49 stativ | skóre: 54 | blog: SlaNé roury
Rozbalit Rozbalit vše Re: Jak manuálně přidat menuentry do Grubu 2
Odpovědět | Sbalit | Link | Blokovat | Admin
Podle mě je update-grub zbytečně komplikovaný pro běžnou konfiguraci. Mám napsaný vlastní grub.cfg a funguje to stejně dobře jako v grub-legacy. Je to stejně jednoduché a nemusím řešit fakt, že moje konfigurace je rozestrkaná všude možně.

Jedinou výhodu update-grub vidím v tom, že se to možná o trochu lépe strojově zpracovává.
Ať sežeru elfa i s chlupama!!! ljirkovsky.wordpress.com stativ.tk
pavlix avatar 27.6.2011 10:11 pavlix | skóre: 54 | blog: pavlix
Rozbalit Rozbalit vše Re: Jak manuálně přidat menuentry do Grubu 2
Podle mě je update-grub zbytečně komplikovaný pro běžnou konfiguraci.
Běžná konfigurace je podle mě ta, kdy uživatel do grub.cfg ani jiného souvisejícího souboru nezasahuje a vše se detekuje samo.

To o čem píšeš ty je ultra custom nastavení pro pár jedinců, kteří si chtějí GRUB2 vyladit sami. Ale jinak ok.
Jedinou výhodu update-grub vidím v tom, že se to možná o trochu lépe strojově zpracovává.
No oproti vloženým automatickým volbám rozhodně.
Já už tu vlastně ani nejsem. Abclinuxu umřelo.
pavlix avatar 27.6.2011 10:08 pavlix | skóre: 54 | blog: pavlix
Rozbalit Rozbalit vše Re: Jak manuálně přidat menuentry do Grubu 2
Odpovědět | Sbalit | Link | Blokovat | Admin
Zprvu jsem našel stížnosti na nepraktičnost Grubu 2 a nemožnost jeho manuálního nastavení, a přeci jsem později našel jednoduchý postup jak na to.
Ony to jsou totiž zase jako vždy stížnosti od lidí, kteřé se pouze nejsou ochotni naučit něco nového (a to ani když to přináší důležitou funkcionalitu jako RAID a LVM).
Já už tu vlastně ani nejsem. Abclinuxu umřelo.
27.6.2011 13:36 trekker.dk | skóre: 72
Rozbalit Rozbalit vše Re: Jak manuálně přidat menuentry do Grubu 2
a) RAID(1) fungoval už na starém GRUBu

b) nemám nic proti tomu učit se něco nového, ale vynálezy, které samy nějak dělají něco, mě prostě štvou a v systému je nechci. Nehledě na to, že půlkilometrový (vygenerovaný) konfigurační soubor na něco, na co stačí 20 řádek, se mi nelíbí už z principu, protože je tam spousta nadbytečnejch hovadin.

Quando omni flunkus moritati
pavlix avatar 27.6.2011 15:06 pavlix | skóre: 54 | blog: pavlix
Rozbalit Rozbalit vše Re: Jak manuálně přidat menuentry do Grubu 2
a) RAID(1) fungoval už na starém GRUBu
To nic nemění na faktu, že RAID obecně nefungoval.
b) nemám nic proti tomu učit se něco nového, ale vynálezy, které samy nějak dělají něco, mě prostě štvou a v systému je nechci. Nehledě na to, že půlkilometrový (vygenerovaný) konfigurační soubor na něco, na co stačí 20 řádek, se mi nelíbí už z principu, protože je tam spousta nadbytečnejch hovadin.
Jediné, co se od GRUB1 ke GRUB2 změnilo, je že se sjednotilo generování konfigu napříč distribucemi. Tak inteligentní člověk jako ty ale jistě zvládne přenést přes srdce to že jiní můžou využít toho sjednoceného generování a sám používat GRUB2 úplně stejně jako GRUB1.
Já už tu vlastně ani nejsem. Abclinuxu umřelo.
27.6.2011 20:33 trekker.dk | skóre: 72
Rozbalit Rozbalit vše Re: Jak manuálně přidat menuentry do Grubu 2
To nic nemění na faktu, že RAID obecně nefungoval.

OK, uznávám, nicméně nic jiného než RAID1 nepotřebuju, takže v tomhle mi nový GRUB nepřináší nic nového.
Tak inteligentní člověk jako ty ale jistě zvládne přenést přes srdce to že jiní můžou využít toho sjednoceného generování
Ve chvíli, kdy tu podivnost nemusím používat, ji přes srdce přenesu snadno. ;-)

Nicméně když budu mluvit za sebe, tak nový GRUB nepřinesl žádné nové vlastnosti (RAID1 fungoval už předtím) a naopak přinesl práci navíc - instalátor mi po dokončení instalace suše oznámil, že mi na disku chybí BIOS boot partition, že ji pro boot z RAIDu (1) potřebuje a že ten GRUB nemá kam dát.
Quando omni flunkus moritati
28.6.2011 16:15 CEST
Rozbalit Rozbalit vše Re: Jak manuálně přidat menuentry do Grubu 2
To nic nemění na faktu, že RAID obecně nefungoval.
OK, uznávám, nicméně nic jiného než RAID1 nepotřebuju, takže v tomhle mi nový GRUB nepřináší nic nového.
No, pak jeste NTFS, GPT. Mozna jeste tak rok a az budes chtit mit partition vetsi nez 2TB, tak zjistis, ze s GRUB1 si nevystacis. Uz lenny instaloval grub2, kdyz chtel clovek pracovat s diskem vetsim nez 2TB (ten limit nevim presne, ja delal 8TB oddil a lenny nahodil grub2 pro praci s GPT).
Tak inteligentní člověk jako ty ale jistě zvládne přenést přes srdce to že jiní můžou využít toho sjednoceného generování
Ve chvíli, kdy tu podivnost nemusím používat, ji přes srdce přenesu snadno. ;-)
A co ti brani dat to /etc/grub.d/00-aaa radku cp /boot/grub/menu.lst /boot/grub/grub.cfg? Ano, musis se to naucit.
Nicméně když budu mluvit za sebe, tak nový GRUB nepřinesl žádné nové vlastnosti (RAID1 fungoval už předtím) a naopak přinesl práci navíc - instalátor mi po dokončení instalace suše oznámil, že mi na disku chybí BIOS boot partition, že ji pro boot z RAIDu (1) potřebuje a že ten GRUB nemá kam dát.
No, grub1 nainstalovat stage1 do MBR, pak stage1.5 do tech bloku mezi MBR a zacatkem prvni partition. Stage1.5 (ovladac FS) pak vyhledal na FS stage2. Druha moznost byla stage2 pomoci dd nacpat primo na zacatek floppy (ale to jsem delal tusim jenom jednou a jenom s floppy).

grub2 vytvori z nekolika zakladnich souboru (kernel.img a potrebnych modulu) core.img. Potom nainstaluje boot.img do MBR a core.img do te oblasti mezi MBR a prvni partition. Funguje to teda hodne stejne jako grub1. Cili, jak jsi udelal RAID1? Pres celej dev (/dev/sda+/dev/sdb) nebo na oddilech (/dev/sda1+/dev/sdb1)? V pripade /dev/sda by se ti tam nemohl vejit ani grub1, grub2 te na to aspon upozorni.

Ano, taky mi vic vyhovuje setup (hd0), ale kdyz clovek uz zjisti, jak nahrat grub kamkoliv (grub-install --root-directory=/mnt/disk /dev/sda), tak je to v pohode. Pak si muzes konfiguraci nechat vygenerovat, nebo ten generator proste exitnes v 00-aaa a nakopirujes si do grub.cfg vlastni veci. Kdo chce ale generovat, tak muze generovat. V GRUB1 mel debian vlastni templatovaci system, ale /etc/grub.d je lepsi reseni, dava ti vetsi svobodu/volnost, muzes se rozhodnout, co budes pouzivat a v bude to tak fungovat na vsech distrech, v tom ma pavlix pravdu.
28.6.2011 23:33 trekker.dk | skóre: 72
Rozbalit Rozbalit vše Re: Jak manuálně přidat menuentry do Grubu 2
Mozna jeste tak rok a az budes chtit mit partition vetsi nez 2TB
2TB na / a /boot? Tak to bude za hodně dlouho.
A co ti brani dat to /etc/grub.d/00-aaa radku cp /boot/grub/menu.lst /boot/grub/grub.cfg?
Nic, ale nemám důvod. Dávám do grub-mkconfig řádku exit 0
Cili, jak jsi udelal RAID1? Pres celej dev (/dev/sda+/dev/sdb) nebo na oddilech (/dev/sda1+/dev/sdb1)?
Na oddílech.
ale /etc/grub.d je lepsi reseni, dava ti vetsi svobodu/volnost
GRUB2 je přesložitělé řešení...
Quando omni flunkus moritati
pavlix avatar 28.6.2011 23:55 pavlix | skóre: 54 | blog: pavlix
Rozbalit Rozbalit vše Re: Jak manuálně přidat menuentry do Grubu 2
GRUB2 je přesložitělé řešení...
Asi tak složité jako GRUB1.
Já už tu vlastně ani nejsem. Abclinuxu umřelo.
stativ avatar 29.6.2011 13:57 stativ | skóre: 54 | blog: SlaNé roury
Rozbalit Rozbalit vše Re: Jak manuálně přidat menuentry do Grubu 2
V čem je tohle o tolik složitější než odpovídající menu.lst ze starého grubu?
set timeout=1
set default="0"

set menu_color_normal=light-blue/black
set menu_color_highlight=light-cyan/blue

terminal_input console
terminal_output gfxterm

insmod part_msdos

menuentry 'Arch Linux' --class archlinux {
    insmod ext2
    set root='(hd0,msdos1)'
    echo    'Loading Linux vmlinuz26 ...'
    linux   /boot/vmlinuz26 root=/dev/disk/by-uuid/a0323c48-bcf9-4e6a-903f-a802a575188e ro  quiet
    echo    'Loading initial ramdisk ...'
    initrd  /boot/kernel26.img
}

menuentry 'Arch Linux Fallback' --class archlinux {
    insmod ext2
    set root='(hd0,msdos1)'
    linux   /boot/vmlinuz26 root=/dev/disk/by-uuid/a0323c48-bcf9-4e6a-903f-a802a575188e ro
    initrd  /boot/kernel26-fallback.img
}
Ať sežeru elfa i s chlupama!!! ljirkovsky.wordpress.com stativ.tk
pavlix avatar 28.6.2011 21:04 pavlix | skóre: 54 | blog: pavlix
Rozbalit Rozbalit vše Re: Jak manuálně přidat menuentry do Grubu 2
OK, uznávám, nicméně nic jiného než RAID1 nepotřebuju, takže v tomhle mi nový GRUB nepřináší nic nového.

Já si zase nepamatuju, kdy jsem RAID1 naposledy použil.
instalátor mi po dokončení instalace suše oznámil, že mi na disku chybí BIOS boot partition
Hmm, tak to už bych mohl nadávat úplně na cokoliv, na co si vzpomenu v souvislosti s tím, že mi někdy někde něco vyhodilo chybu. Zvláště pak GRUB1, který mi házel chybu daleko častěji než GRUB2.

Někdy si o osobních pocitech povídám rád, ale v souvislosti s hodnocením verzí GRUBu mi přijde, že jsou dojmy dost k ničemu.
Já už tu vlastně ani nejsem. Abclinuxu umřelo.
29.6.2011 19:47 mimi.vx | skóre: 37 | blog: Mimi.VX | Praha
Rozbalit Rozbalit vše Re: Jak manuálně přidat menuentry do Grubu 2
Odpovědět | Sbalit | Link | Blokovat | Admin

a nebo pouzit /boot/grub/cunstom.conf

USE="-gnome -kde";turris

Založit nové vláknoNahoru

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.