Skocz do zawartości

Jak Zmienić Kolejność Startu Systemu W Grubie W Fedorze 16.


antioch

Rekomendowane odpowiedzi

Na różnych partycjach mam zainstalowaną Fedorę 16 oraz Windowsa XP. Wszystko działa ok., chciałem jednak zmienić kolejność startowania systemu aby po włączeniu kompa pierwszy startował XP. Po prostu brat czasem korzysta z mojego kompa i narzeka „znowu mi się włączyła jakaś fedora”. Chciałbym też zwiększyć ilość czasu jaki pozostaje na wybór systemu po starcie GRUBA. W Fedorze 15 było graficzne narzędzie, które pozwalało to bezproblemowo zmienić. Niestety w 16 o nim zapomniano albo ja nie znalazłem. Fedora 16 chodzi chyba na GRUBIE 2, a ja nie jestem pewien gdzie i jak można to zmienić. Znalazłem plik grub w katalogu /etc/default. Jest tam wiersz timeout=5. Czas satru tam się chyba ustawia, ale nadal nie wiem jak ustawić żeby XP pierwszy startował. Co mam jeszcze podać. Proszę o pomoc. Pozdrawiam Antioch.

 

Oto zawartość pliku grub:

 

GRUB_TIMEOUT=5

GRUB_DISTRIBUTOR="Fedora"

GRUB_DEFAULT=saved

GRUB_CMDLINE_LINUX="rd.md=0 rd.lvm=0 rd.dm=0 quiet SYSFONT=latarcyrheb-sun16 rhgb rd.luks=0 LANG=pl_PL.UTF-8 KEYTABLE=pl2"

Odnośnik do komentarza
Udostępnij na innych stronach

W najprostszej wersji: na prawie na samej górze grub.cfg masz linię

set default="0"

Zamień sobie 0 na inną cyfrę, pamiętając że 0 wskazuje na 1. pozycję na liście, 1 na 2. itd.

W wersji rozszerzonej: możesz jako root

grub2-set-default X # gdzie X=0 - 1 pozycja menu, X=1 - 2. poz. itd
grub2-mkconfig -o /boot/grub2/grub.cfg

ale wg mnie ta pierwsza metoda jest prostsza i szybsza.

W grub2-set-default możesz (chyba! nie próbowałem nigdy!) zamiast cyfry podać jako parametr nazwę, która wyświetla się w menu, czyli coś w rodzaju

grub2-set-default "tekst jaki się wyświetla pod opcja startu Windows"

 

timeout określa Ci wyłącznie opóźnienie, czas przez jaki będzie się wyświetlać menu GRUBa przed uruchomieniem domyślnej opcji.

 

[EDIT]

[bZDURA]Nie wiem czy dobrze pamiętam, a to może być dla Ciebie ważne. grub2-mkconfig jeśli się nie mylę wygeneruje plik zawierający wpis tylko z najnowszym jądrem a dostęp do starszych wersji jest czasem przydatny. [/bZDURA]

Warto więc użyć w tym przypadku 1. metody. No, i trzeba pamiętać, że grub.cfg jest plikiem tylko do odczytu, więc przed edycją zmień atrybuty na read-write i przywróć atrybuty read-only po zapisaniu. W vi/vim można wymusić zapis pliku, który jest ro, ale pewnie nie posługujesz się vi ;)

Edytowane przez WalDo
bzdury skreślamy :)
Odnośnik do komentarza
Udostępnij na innych stronach

Ja to zrobiłem tak:

grep -i "win" /boot/grub2/grub.cfg
menuentry "Microsoft Windows XP (on /dev/sda1)" --class windows --class os {

Teraz wystarczyło wpisać do /etc/default/grub:

GRUB_DEFAULT="Microsoft Windows XP (on /dev/sda1)"

Na koniec wiadomo:

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

Ostatnie polecenie znajduje tyle wersji jądra ile mam zainstalowane.

Odnośnik do komentarza
Udostępnij na innych stronach

Jak widać można to zrobić na kilka sposobów.

Myślę, że wypada to troszkę uporządkować.

1.

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

generuje plik grub.cfg korzystając między innymi z /etc/default/grub (tam "siedzą" stałe definiujące zachowanie gruba) min. GRUB_DEFAULT która odpowiada za domyślny wybór uruchamianego jądra czy systemu. Może ona być zdefiniowana liczbowo (WALDO), tekstem (sokar620) lub zmienną wewnętrzną gruba "saved" tak jak w Twoim przypadku.

Jeżeli w /etc/default/grub jest GRUB_DEFAULT=saved i było wykonywane już polecenie 1. to wystarczy użyć:

2.

#grub2-set-default "tekst jaki się wyświetla pod opcja startu Windows"

które to zapisze w pliku /boot/grub2/grubenv zmienną saved_entry i przy następnym uruchomieniu będzie ona przeczytana przez gruba i ustawiona w procesie uruchamiania.

grub2-set-default możesz wielokrotnie użyć do ustawienia domyślnego wyboru uruchamiania bez konieczności generowania grub.cfg czyli korzystania z grub2-mkconfig.

3.

Co wpisać przez grub2-set-default?

Możesz użyć polecenia:

#grep menuentry /boot/grub2/grub.cfg

Skopiuj tekst dotyczący Windows znajdujący się pomiędzy cudzysłowami

4.

Jak sprawdzić czy wpis w /boot/grub2/grubenv jest poprawny?

Użyj :

#grub2-editenv list

 

Pozdrawiam,

andrew

 

BTW

Czy działa Wam opcja zapamiętywania ostatnio uruchamianego systemu?

(GRUB_SAVEDEFAULT=true) bo u mnie nie zapisuje do /boot/grub2/grubenv ostatnio uruchamianego systemu. Ale to chyba temat na osobny wątek.

  • Upvote 1
Odnośnik do komentarza
Udostępnij na innych stronach

A mnie wciąż zastanawia po co się tak męczyć, jesli nadal można bezpośrednio wyedytować grub.cfg? ;)

 

Jeżeli ktoś regularnie aktualizuje system i nie wprowadza własnych opcji to ma już trzy wpisy dotyczące jąder systemu, zmienne w /etc/default/grub są ustwione przy instalacji (lub upgradzie grub2) to po co się męczyć z edycją grub.cfg, jeśli wystarczy:

#grub2-set-default "3"

:P

Odnośnik do komentarza
Udostępnij na innych stronach

W najprostszej wersji: na prawie na samej górze grub.cfg masz linie

set default="0"

Zamien sobie 0 na inna cyfre, pamietajac ze 0 wskazuje na 1. pozycje na liscie, 1 na 2. itd.

W wersji rozszerzonej: mozesz jako root

grub2-set-default X # gdzie X=0 - 1 pozycja menu, X=1 - 2. poz. itd
grub2-mkconfig -o /boot/grub2/grub.cfg

ale wg mnie ta pierwsza metoda jest prostsza i szybsza.

W grub2-set-default mozesz (chyba! nie próbowalem nigdy!) zamiast cyfry podac jako parametr nazwe, która wyswietla sie w menu, czyli cos w rodzaju

grub2-set-default "tekst jaki sie wyswietla pod opcja startu Windows"

 

timeout okresla Ci wylacznie opóznienie, czas przez jaki bedzie sie wyswietlac menu GRUBa przed uruchomieniem domyslnej opcji.

 

[EDIT]

[bZDURA]Nie wiem czy dobrze pamietam, a to moze byc dla Ciebie wazne. grub2-mkconfig jesli sie nie myle wygeneruje plik zawierajacy wpis tylko z najnowszym jadrem a dostep do starszych wersji jest czasem przydatny. [/bZDURA]

Warto wiec uzyc w tym przypadku 1. metody. No, i trzeba pamietac, ze grub.cfg jest plikiem tylko do odczytu, wiec przed edycja zmien atrybuty na read-write i przywróc atrybuty read-only po zapisaniu. W vi/vim mozna wymusic zapis pliku, który jest ro, ale pewnie nie poslugujesz sie vi ;)

Waldo

Tak wyglada mój plik grub.cfg znajdujacy sie w katalogu /boot/grub2

 

#

# DO NOT EDIT THIS FILE

#

# It is automatically generated by grub2-mkconfig using templates

# from /etc/grub.d and settings from /etc/default/grub

#

 

### BEGIN /etc/grub.d/00_header ###

if [ -s $prefix/grubenv ]; then

load_env

fi

set default="${saved_entry}"

if [ "${prev_saved_entry}" ]; then

set saved_entry="${prev_saved_entry}"

save_env saved_entry

set prev_saved_entry=

save_env prev_saved_entry

set boot_once=true

fi

 

function savedefault {

if [ -z "${boot_once}" ]; then

saved_entry="${chosen}"

save_env saved_entry

fi

}

 

function load_video {

insmod vbe

insmod vga

insmod video_bochs

insmod video_cirrus

}

 

set timeout=5

### END /etc/grub.d/00_header ###

 

### BEGIN /etc/grub.d/10_linux ###

menuentry 'Fedora Linux, with Linux 3.3.1-3.fc16.i686.PAE' --class fedora --class gnu-linux --class gnu --class os {

load_video

set gfxpayload=keep

insmod gzio

insmod part_msdos

insmod ext2

set root='(hd0,msdos6)'

search --no-floppy --fs-uuid --set=root 6e20b017-e629-4cf0-b890-9511d42f3aa7

echo 'Loading Linux 3.3.1-3.fc16.i686.PAE ...'

linux /boot/vmlinuz-3.3.1-3.fc16.i686.PAE root=UUID=6e20b017-e629-4cf0-b890-9511d42f3aa7 ro rd.md=0 rd.lvm=0 rd.dm=0 quiet SYSFONT=latarcyrheb-sun16 rhgb rd.luks=0 LANG=pl_PL.UTF-8 KEYTABLE=pl2

echo 'Loading initial ramdisk ...'

initrd /boot/initramfs-3.3.1-3.fc16.i686.PAE.img

}

menuentry 'Fedora Linux, with Linux 3.3.1-3.fc16.i686.PAE (recovery mode)' --class fedora --class gnu-linux --class gnu --class os {

load_video

set gfxpayload=keep

insmod gzio

insmod part_msdos

insmod ext2

set root='(hd0,msdos6)'

search --no-floppy --fs-uuid --set=root 6e20b017-e629-4cf0-b890-9511d42f3aa7

echo 'Loading Linux 3.3.1-3.fc16.i686.PAE ...'

linux /boot/vmlinuz-3.3.1-3.fc16.i686.PAE root=UUID=6e20b017-e629-4cf0-b890-9511d42f3aa7 ro single rd.md=0 rd.lvm=0 rd.dm=0 quiet SYSFONT=latarcyrheb-sun16 rhgb rd.luks=0 LANG=pl_PL.UTF-8 KEYTABLE=pl2

echo 'Loading initial ramdisk ...'

initrd /boot/initramfs-3.3.1-3.fc16.i686.PAE.img

}

### END /etc/grub.d/10_linux ###

 

### BEGIN /etc/grub.d/20_linux_xen ###

### END /etc/grub.d/20_linux_xen ###

 

### BEGIN /etc/grub.d/30_os-prober ###

menuentry "Microsoft Windows XP Professional (on /dev/sda1)" --class windows --class os {

insmod part_msdos

insmod ntfs

set root='(hd0,msdos1)'

search --no-floppy --fs-uuid --set=root 7CA09F71A09F309E

drivemap -s (hd0) ${root}

chainloader +1

}

### END /etc/grub.d/30_os-prober ###

 

### BEGIN /etc/grub.d/40_custom ###

# This file provides an easy way to add custom menu entries. Simply type the

# menu entries you want to add after this comment. Be careful not to change

# the 'exec tail' line above.

### END /etc/grub.d/40_custom ###

 

### BEGIN /etc/grub.d/41_custom ###

if [ -f $prefix/custom.cfg ]; then

source $prefix/custom.cfg;

fi

### END /etc/grub.d/41_custom ###

 

### BEGIN /etc/grub.d/90_persistent ###

### END /etc/grub.d/90_persistent ###

Nie wudzialem tam nigdzie wskazanej przez ciebie linii

 

set default="0"

Prosze o wskazówki bo nie kumam. Pewwnie zle szukam. Pozdrawiam Antioch.

Odnośnik do komentarza
Udostępnij na innych stronach

Nie wudzialem tam nigdzie wskazanej przez ciebie linii

 

 

Prosze o wskazówki bo nie kumam. Pewwnie zle szukam. Pozdrawiam Antioch.

Chcesz wskazówki? Oto ona: przeczytaj caly watek a nie tylko moja odpowiedz. Masz wszystko pieknie i krótko podsumowane przez andrew a sokar620 napisal Ci bezwstydnie zwyczajna sciage, nad która nawet myslec nie trzeba. Czego chcesz wiecej?

 

Co do set default="0" to u mnie akurat tak jest u Ciebie jest jak widac troche inaczej, ale wystarczy spojrzec do pliku i chwile pomyslec, poszukac w Googlach, co która linijka oznacza, na co ma wplyw i jeszcze raz: post napisany przez andrew.

Odnośnik do komentarza
Udostępnij na innych stronach

Na podstawie Twojego grub.cfg najlepszym rozwiazaniem bedzie wpisanie w terminalu po zalogowaniu sie na roota:

#grub2-set-default "Microsoft Windows XP Professional (on /dev/sda1)"

Jezeli nie zrozumiales moich poprzednich postów to tego nie bede Ci tlumaczyl

Dzieki szukalem jeszcze ingormacji na ten temat w necie i oczy juz mnie dzis bola. Do tematu wróce w wolnej chwili i zastrosuje sie do powyzszych wskazówek. Dzieki i pozdrawiam.

Odnośnik do komentarza
Udostępnij na innych stronach

Dzieki szukalem jeszcze ingormacji na ten temat w necie i oczy juz mnie dzis bola. Do tematu wróce w wolnej chwili i zastrosuje sie do powyzszych wskazówek. Dzieki i pozdrawiam.

 

Wielkie dzieki Panowie za pomoc. Oczy mi odpoczely. Przeczytalem wasze posty troche pogmyralem w necie i ostatecznie skorzystalem z waszych porad w szczególnosci sokara 620 i wszystko ustawilem jak chcialem wydluzaja przy tym czas zwloki przy wyborze systemu. Jeszcze raz dzieki za pomoc. Pozdrawiam Antioch. :unsure: Problem rozwiazany.

Odnośnik do komentarza
Udostępnij na innych stronach

  • 1 month later...

Mam 4 systemy na kompie,ale odpalam je za pomoca GAG-a.Grub kazdego z systemów zainstalowany jest na partycji boot osobnej dla kazdego systemu.Nie potrzeuje wiec ogladac menu Fedory.Zmienilem

GRUB_TIMEOUT=5
na 0,ale dalej widze Menu i odlicza 5 sekund.W Ubuntu czy Debianie po zmianie tego wspisu trzeba zrobic
sudo update-grub
zeby zmiany odniosly skutek.W Fedorze to nie dziala.Co mam wklepac,zeby Grub sie odswiezyl?Jeszcze jedno pytanie:Czy jak wywale # sprzed
#GRUB_THEME="/boot/grub2/themes/system/theme.txt"
to schowa mi sie menu?Gdzie moge znalezc jakichs aktualny poradnik do Fedory?
Odnośnik do komentarza
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
×
×
  • Dodaj nową pozycję...