Portál AbcLinuxu, 30. dubna 2025 09:05

grub - default boot aneb restart do Woken

14.5.2006 23:49 | Přečteno: 2852× | takruzne | poslední úprava: 15.5.2006 15:05

Pokud potřebujete z jednoho operačního systému přebootovat do jiného a nechcete čekat na nabídku grubu, pak čtěte dále.

Základem je utilitka /sbin/grub-set-default. Popis této utilitky najdete v dokumentaci grubu 19 Invoking grub-set-default nebo použitím příkazu info grub-set-default. Potřebujeme dvě věci: trochu poeditovat /boot/grub/grub.conf, aby se choval dynamicky a vytvořit soubor, z kterého grub bude číst při bootu defaultní hodnotu.

Přihlašte se jako root.

su
Vytvoříme v konfiguračním adresáři grubu soubor default. To provedeme spuštěním příkazu
grub-set-default
Pro kontrolu práv:
ls -l /boot/grub/default
-rw-r--r--  1 root root 191 kvě  6 22:29 default
Výpis souboru:
cat /boot/grub/default
0
#
#
#
#
#
#
#
#
#
#
# WARNING: If you want to edit this file directly, do not remove any line
# from this file, including this warning. Using `grub-set-default\' is
# strongly recommended.

Nyní upravíme /boot/grub/grub.conf:

Místo obvyklého default 0 napíšeme default saved. A ke každé položce (angl. entry) dopíšeme savedefault. Problémy mám s nastavením explicitní hodnoty položky jako argument savedafaultu. Pokud by na to někdo přišel, ať to dopíše do diskuze, zatím jsem to nevyužil. Pokaždé mi grub zahlásil chybu v parsování souboru.

cat /boot/grub/grub.conf

default saved

timeout 20

splashimage=(hd0,3)/boot/grub/splash.xpm.gz

title=Gentoo 2.6.11-r13
root(hd0,3)
kernel (hd0,3)/boot/kernel-2.6.11-gentoo-r13 root=/dev/hda4 gentoo=nodevfs
savedefault

title=Gentoo 2.6.11-r11-r2
root(hd0,3)
kernel (hd0,3)/boot/kernel-2.6.11-gentoo-r11-r2 root=/dev/hda4 gentoo=nodevfs
savedefault

title=Gentoo 2.6.11-r11
root(hd0,3)
kernel (hd0,3)/boot/kernel-2.6.11-gentoo-r11 root=/dev/hda4 gentoo=nodevfs
savedefault

title wokna
rootnoverify (hd0,0)
makeactive
chainloader +1
savedefault

title=memtest
root(hd0,3)
kernel (hd0,3)/memtest86.bin
savedefault

Jméno kernelu, který chcete spustit (například /boot/kernel-2.6.11-gentoo-r13), najdete většinou v adresáři /boot/. Ale to nemusíte vůbec měnit, pokud netušíte o čem je řeč, řádek začínajících na root a kernel se nedotýkejte.

Dalším nevyřešeným problémem je určení pořadí savedefaultů. Nevím přesně, zda je nutné takto označit všechny položky nebo zda je možné savedefaulty u některé položky vynechat. Když jsem u některé položky vynechal savedefault, pak mi reboot například do woken nefungoval. Otázkou je, jak se označují pak jednotlivé defaultní položky. Dalším problémem je u mě fallback, prostě podle dokumentace jsem to nerozchodil. A ani mne to zvlášť netrápí.

Pak je jěště nutné zaregistrovat potřebné programy pomocí visudo

su
visudo
A doplňte si následující řádky:
Cmnd_Alias REBOOT = /sbin/reboot
Cmnd_Alias POWEROFF = /sbin/poweroff
Cmnd_Alias GRUBBOOT = /sbin/grub-set-default
root	ALL=(ALL) ALL
elviin ALL = NOPASSWD: REBOOT
elviin ALL = NOPASSWD: POWEROFF
elviin ALL = NOPASSWD: GRUBBOOT
Mou přezdívku elviin nahraďte svou. Zjistíte ji příkazem whoami. Zkontrolujte si správnost zápisu visudo -c a nyní použijte jen nerootovskou konzoli. Pak můžeme rebootovat do Woken bez rootovských práv takto:
sudo grub-set-default 3 && sudo /sbin/reboot
To znamená, že jsme zvolili čtvrtou položku, protože grub indexuje položky od nuly. Nyní po restartu z Linuxu nám grub nabídne wokna, protože jsme mu to výslovně přikázali. Defaultně po restartu z Linuxu nám nabídne opět Linux, po restartu z Woken, grub nabídne Wokna. V případě, že máme driver ve Windows pro zápis do souboru default, pak můžeme restartovat z Windows do Linuxu a obecně z jakéhokoliv systému, který může zapisovat do tohoto souboru.

Položku měníme sudo grub-set-default N, kde N označuje N-tou položku. První položka začíná nulou. Dva znaky && je logický součin návratové hodnoty. V případě, kdy se nepovede zapsat do souboru default, tak se ani nevykoná restart počítače.

       

Hodnocení: 100 %

        špatnédobré        

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

Komentáře

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

Vložit další komentář

15.5.2006 18:42 mailo
Rozbalit Rozbalit vše Re: grub - default boot aneb restart do Woken
Odpovědět | Sbalit | Link | Blokovat | Admin
Jak rebootovat z linuxu do cehokoliv za pomoci grubu snad nemusi byt problem, ale je nejaky zpusob, jak to udelat s grubem opacne? Konkretne z windows do linuxu, pokud je jako default nastaveny win? Neco ve stylu rebootni_do_linuxu(chapu, ze to asi bude neco slozitejsi:) )
11.9.2006 20:06 robajz
Rozbalit Rozbalit vše Re: grub - default boot aneb restart do Woken
Ahoj, zkoušel jsem windowsí GRUB port (na NTFS) a funguje squele, máš pak sic dva gruby, ale to neva, ne? můžeš je pak chainovat mezi sebou. Optimální je se mi zdá, mít grub nainstalovaný na diskových oddílech, ne v MBR, pak se jen nastaví bootovací příznak a nechá se výchozí windowsí MBR. Do windows nainstaluješ windowsí grub a je to. Recovery je snadne, stačí fdiskem obnovit MBR, nebo nastavit bootovací příznak. Snad to někomu pomůže, když odpovídám na 3 měsíce starý příspěvek...
jose17 avatar 15.5.2008 15:20 jose17 | skóre: 44 | blog: Joseho_blog | Bratislava
Rozbalit Rozbalit vše Re: grub - default boot aneb restart do Woken
Odpovědět | Sbalit | Link | Blokovat | Admin
díky. inak ten savedefault cislo uz funguje :-)
Ja vim, on vi, ty nano!

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