Portál AbcLinuxu, 12. května 2025 21:18

Dotaz: Ubuntu - grub menuentry

5.5.2012 14:13 n00b
Ubuntu - grub menuentry
Přečteno: 305×
Odpovědět | Admin
Zdravím,

Při zadání update-grub2 mi najde systémy na mých discích a správně je identifikuje:
root@noname:~# update-grub2
Generating grub.cfg ...
Found linux image: /boot/vmlinuz-3.3.1-5.fc16.i686.PAE
Found initrd image: /boot/initrd.img-3.3.1-5.fc16.i686.PAE
Found linux image: /boot/vmlinuz-3.2.0-24-generic-pae
Found initrd image: /boot/initrd.img-3.2.0-24-generic-pae
Found linux image: /boot/vmlinuz-3.2.0-23-generic-pae
Found initrd image: /boot/initrd.img-3.2.0-23-generic-pae
Found memtest86+ image: /memtest86+.bin
Found Fedora release 16 (Verne) on /dev/sda2
Found Ubuntu 10.04.4 LTS (10.04) on /dev/sdb2
Found Microsoft Windows XP Professional on /dev/sdc1
done
Všimněme si rozpoznání release Fedory a jejího správného přiřazení k /dev/sda2, které je při vygenerování /boot/grub/grub.cfg ignorováno. Fedora samotná je překřtěná na 'Ubuntu, with Linux 3.3.1-5.fc16.i686.PAE' a je jednou nabízena na /dev/sda3 společně s Ubuntu 12.04 LTS, coby --class ubuntu, kdu jí zachytí /etc/grub.d/10_linux. A pak ještě jednou, jako "Ubuntu, with Linux 3.3.1-5.fc16.i686.PAE (on /dev/sda2)", za což je zodpovědný /etc/grub.d/30_os-prober. S Ubuntu 10.04 LTS a Windows XP update-grub2 nemá... Samotný /boot/grub/grub.cfg potom obsahuje menuentry:
root@noname:~# grep menuentry /boot/grub/grub.cfg 
menuentry 'Ubuntu, with Linux 3.3.1-5.fc16.i686.PAE' --class ubuntu --class gnu-linux --class gnu --class os {
menuentry 'Ubuntu, with Linux 3.2.0-24-generic-pae' --class ubuntu --class gnu-linux --class gnu --class os {
menuentry 'Ubuntu, with Linux 3.2.0-23-generic-pae' --class ubuntu --class gnu-linux --class gnu --class os {
menuentry "Memory test (memtest86+)" {
menuentry "Memory test (memtest86+, serial console 115200)" {
menuentry "Ubuntu, with Linux 3.3.1-5.fc16.i686.PAE (on /dev/sda2)" --class gnu-linux --class gnu --class os {
menuentry "Ubuntu, with Linux 3.3.1-5.fc16.i686.PAE (recovery mode) (on /dev/sda2)" --class gnu-linux --class gnu --class os {
menuentry "Ubuntu, with Linux 3.2.0-24-generic-pae (on /dev/sda2)" --class gnu-linux --class gnu --class os {
menuentry "Ubuntu, with Linux 3.2.0-24-generic-pae (recovery mode) (on /dev/sda2)" --class gnu-linux --class gnu --class os {
menuentry "Ubuntu, with Linux 3.2.0-23-generic-pae (on /dev/sda2)" --class gnu-linux --class gnu --class os {
menuentry "Ubuntu, with Linux 3.2.0-23-generic-pae (recovery mode) (on /dev/sda2)" --class gnu-linux --class gnu --class os {
menuentry "Ubuntu, with Linux 2.6.32-41-generic (on /dev/sdb2)" --class gnu-linux --class gnu --class os {
menuentry "Microsoft Windows XP Professional (on /dev/sdc1)" --class windows --class os {
Můj dotaz zní: Dá se nějak zařídit aby grub.cfg obsahoval popisy v menuentry takové, jako je výstup grub-update2 na stdout? A jako bonus, aby nevytvářel recovery menuentry i při běhu /etc/grub.d/30_os-prober?

Předem děkuju i za nasměrování k cíli.
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

12.5.2012 08:20 Petr MOTEJLEK | blog: blaznova_zpovednice
Rozbalit Rozbalit vše Re: Ubuntu - grub menuentry
Odpovědět | | Sbalit | Link | Blokovat | Admin
Ahoj ;),

Nevím, na kolik ti pomůžu.

No důležité je to, že update-grub(2) je AFAIK z tvé distribuce, kdežto to, co skutečně generuje ty menuentries, je už opravdu Grub2. Takže z toho bude nejspíš pramenit ten rozdíl.

Pokud jsi to ještě nenašel, v /etc/default/grub je možné nastavit GRUB_DISABLE_LINUX_RECOVERY="true" -- to by mělo :) zakázat generování těch recovery entries. Bude to ale dělat pro všechno, tj. nemůžeš říct, že u něčeho ano, u něčeho ne. Pokud ti i přes to, že to máš takhle zakázané, os prober vytváří, dá se do těch shell skriptů nakouknout a zjistit, jestli to vůbec umí (jestli náhodou nečte nějakou jinou proměnnou). No a vždycky se dá poslat bug report přímo do tvé distribuce/grub taskforce ;).

Založit nové vláknoNahoru

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

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