GRUB2 – zmiana kolejności systemów

Uwaga: Ten wpis został utworzony ponad rok temu. Informacje w nim zawarte mogą być nieaktualne!

Odkąd pojawił się Ubuntu w wersji 9.10, a w nim GRUB2, stary wpis o zmianie kolejności systemów przestał być aktualny. Pora na poprawkę :)

W GRUB2 lista systemów znajduje się w pliku /boot/grub/grub.cfg, który jest „Tylko do odczytu„, dlatego na początek zmieniamy uprawnienia:

sudo chmod 664 /boot/grub/grub.cfg

Teraz właściwa edycja:

sudo gedit /boot/grub/grub.cfg

Odszukaj wpis z Windowsem, będzie wyglądał mniej więcej tak:

### BEGIN /etc/grub.d/30_os-prober ###
menuentry "Windows 7 (loader) (on /dev/sda1)" {
            insmod ntfs
            set root=(hd0,1)
            search --no-floppy --fs-uuid --set 641e3ad91e3aa448
            chainloader +1
}
### END /etc/grub.d/30_os-prober ###

Zaznacz całe i wytnij (Ctrl + X), teraz odszukaj fragment:

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

I wklej wpis z Windows powyżej tej linijki. Całość, a raczej fragment, który Cię interesuje, powinien teraz wyglądać tak:

### BEGIN /etc/grub.d/30_os-prober ###
menuentry "Windows 7 (loader) (on /dev/sda1)" {
            insmod ntfs
            set root=(hd0,1)
            search --no-floppy --fs-uuid --set 641e3ad91e3aa448
            chainloader +1
}
### END /etc/grub.d/30_os-prober ###
### BEGIN /etc/grub.d/10_linux ###

Zapisz zmiany (Ctrl + S) i przywróć domyślne uprawnienia (nie jest to konieczne, po kolejnej aktualizacji jądra prawdopodobnie znowu będziesz musiał zrobić wszystko od początku):

sudo chmod 644 /boot/grub/grub.cfg
Uwaga!!!
Jednak zaprezentowany powyżej sposób będzie działał dopóty, dopóki nie zainstalujesz nowego jądra.

Znacznie lepszym i jednocześnie łatwiejszym sposobem jest zmiana nazw plików, które są elementami składowymi nowego GRUBa. Znajdują się one w katalog /etc/grub.d/. Aby móc łatwo zmienić ich nazwę, wpisz w terminalu:

sudo nautilus /etc/grub.d/

Teraz odszukaj plik z frazą os-prober. To właśnie w nim znajdują się informacje o innych systemach zainstalowanych na Twoim komputerze – w tym i Windows. Zmień jego nazwę na:

10_os-prober

Dzięki temu system będzie pierwszy na liście. Jednak to nie wszystko! Skoro plik os-prober ma teraz przedrostek 10, musisz zmienić przedrostek pliku z frazą linux. Jeśli chcesz, aby Twój Ubunciak był na liście jako drugi, zmień nazwę na:

20_linux

a plik z frazą memtest86+ na:

30_memtest86+
Jeżeli powyższy artykuł nie rozwiązał lub rozwiązał częściowo Twój problem, dodaj swój komentarz opisujący, w którym miejscu napotkałeś trudności.
Mile widziane komentarze z uwagami lub informacjami o rozwiązaniu problemu.
  • AliB

    Działa ! Bardzo dziekuję.

  • freaks

    Warto dodać, że w 2gim przypadku konieczne jest wydanie komendy sudo update-grub aby zaktualizować gruba inaczej sama zmiana nazwy przedrostków w nazwach plików nie pomoże. Pozdr

  • sq5mbg

    A jakby tak prościej?
    Jeśli komu nie zależy na kolejności listy, tylko na odpaleniu domyślnie np. Windowsa to można w pliku grub.cfg zmienić domyślny na windows.

    set default=”0″

    zmienić 0 na odpowiedni numer i spokój mamy.

  • http://www.ubuntu-pomoc.org Szmitas

    Pobierzesz nowe jądro i wszystko namieszane ;) Drugi sposób jest zdecydowanie lepszy.

  • depowator

    Miałem na 1 dysku systemowym SSD Windowsa 7 a na drugim dysku ubuntu.
    Tak było kilka tygodni. Systemy wybierałem przy starcie wybierając przez F1 z którego dysku chcę zastartować komputer. Zepsuł to wszystko aktualizacja która tak zainstalowała gruba że czy startuję z 1 czy z 2 dysku. zawsze muszę jeszcze raz wybierać.

    Jak te zmiany cofnąć?

  • http://www.ubuntu-pomoc.org Szmitas

    Nie bardzo rozumiem.

    Zrób downgrade gruba – sposób jest opisany w jednym z najnowszych artykułów.

  • nowy

    Witam
    a jak zmienić nazwę konkretnej pozycji np:
    Windows xp na np: system xxx
    Ubuntu xxx na np: Linux xxx
    chodzi mi głównie aby wyświetlały się inne nazwy w Grubie 2.

  • http://www.ubuntu-pomoc.org Szmitas

    Na pewno w pliku /boot/grub/grub.cfg możesz to zrobić. Jednak będzie to rozwiązanie chwilowe – jedynie do aktualizacji jądra.

    Niestety nic lepszego nie jestem w stanie powiedzieć, bo nie używam GRUB2…

  • xxxxx

    A ja poproszę autora o przeczytanie kilku pierwszych linii w pliku /boot/grub/grub.cfg. W grub2 przeprowadza się edycję pliku /etc/default/grub. A jak zrobić, aby Windows startował jako domyślny (nawet po instalacji nowego jądra)?
    Odpal „sudo update-grub”, Sprawdź jak Ci rozpoznaje Windowsa, u mnie pojawiło się m.in. to: „Found Windows 7 (loader) on /dev/sda2”.

    Następnie edytuj plik /etc/default/grub:
    sudo gedit /etc/default/grub
    i zmień linię: GRUB_DEFAULT=0 na
    GRUB_DEFAULT=”Windows 7 (loader) on /dev/sda2″
    Na koniec, „sudo update-grub”
    Pamiętaj tylko aby dostosować wpisy do swoich ustawień, powyższe są tylko przykładem moich ustawień.

  • http://www.ubuntu-pomoc.org Szmitas

    A ja poproszę Cię o przeczytanie artykułu do końca :)

  • Petru

    zainstalowac startupmanager, po zainstalowaniu pojawia sie w system->administration, interfejs okienkowy, wybieramy domyslny system :)

    sudo apt-get install startupmanager

  • Hean

    startupmanager był dobry do wydania najnowszej wersji Ubuntu. Potem przestał mi działać :D
    Dziękuję autorowi poradnika za pomoc – wreszcie mogę sobie ustalić, co jest pierwsze :P

    Pozdrawiam.

  • pawka

    A co jezeli w startupmanager nie widze windows tylko ubuntu oraz test memory ?

    • http://www.ubuntu-pomoc.org Szmitas

      Zaloguj się na Ubuntu i w terminalu wydaj polecenie:

      sudo update-grub

      Sprawdź czy nie wystąpiły błędy.
      Uruchom ponownie komputer i zobacz czy Windows startuje.

  • pawka

    pozmienialem nazwy plikow jak jest w instrukcji powyzej i niestety nie dziala
    ale nie ma prawa dzialac poniewaz w sekcji os-prober nie ma takiego wpisu o windowsach jak powyzej
    musialem zrobic cos nie tak :(
    jak teraz zrobiz zeby przy uruchomieniu systemu by wybor windows lub linux, dawno temu bawilem sie linuxem kiedy konfigurowalem lilo ale juz zapomnialem

  • Wasyli

    Nareszcie znalazłem rozwiązanie dla GRUB 1.99 (przez kilka dni próbowałem przywrócić domyślne odpalanie Windowsa po aktualizacji do Ubuntu 11.10). Wszystko jest opisane na tej stronie. W skrócie: automatyczne konfiguratory nie radzą sobie z nowszymi wersjami GRUB-a, ponieważ wprowadzono w nich nową strukturę z podmenu. Stąd StartUp Manager ustawił mi dla Win7 numer 9, nie uwzględniając, że pewne opcje są ukryte w podmenu. Wystarczyło podać polecenie gksu gedit /etc/default/grub i zmienić wartość GRUB_DEFAULT=9 na GRUB_DEFAULT=6 i kończąc wpisać sudo update-grub. Teoretycznie dzięki tej nowej strukturze nie powinno się nic przestawiać po aktualizacjach systemu. Mam nadzieję, że komuś to pomoże ;)

  • Pingback: Technology And Software » Ubuntu – pomoc | GRUB2 – zmiana kolejności systemów()

  • 40rozbojnik

    A mi udało się znaleźć działający graficzny konfigurator. Jest to „Grub Customizer”, instalacja:
    sudo add-apt-repository ppa:danielrichter2007/grub-customizer
    sudo apt-get update
    sudo apt-get install grub-customizer
    Inne za Chiny ludowe nie działały z Grubem w najnowszym Ubu.

  • skarpeci

    najprostszy sposob: system/ustawienia/konfigurator uruchamiania (lub kreator uruchamiania)/wybieramy opcje ktory system ma byc domyslnie ladowany

  • selador

    Świetne!!! Jak zawsze pomoc w Linuksie wygląda podobnie:
    „Aby zainstalować BiBa Buba możesz to zrobić tak: ble ble ble… ale to raczej nie zadziała – dużo lepiej jest zrobić ble ble bla… ale to też najczęściej nie zadziała..poprawne rozwiązanie masz tu: http://www.srutu.tututu.buntum.pl ale pamiętaj, że w twojej wersji UBUNTU to ci się na pewno do niczego nie przyda…
    Najlepszym i najprostszym rozwiązaniem jest rzucenie zaklęcia: srugo -upci rupci-install Kubba BuBBa …niestety – to polecenie zainstaluje ci Kubba BuBBa a nie BiBa Buba.. więc wybierz co wolisz.. Jak widzisz – w Linuksie instalacja BiBa Buba jest znacznie prostsza i przejrzysta niż we windzie – tam trzeba aż dwa razy kliknąć w ikonkę i to bardzo szybko i na dodatek nie ruszając w międzyczasie myszką!!”
    ŻĘĘNada.. i smutek.. a trzeba powiedzieć – że to tylko zamiana dwóch wpisów (dla tych, co kumają – rekordów) miejscami!!! Jeśli takie cuś jest problemem – to jak w tym systemie zainstalować sapera??!!! …Pewnie 15 stron opisu nie starczy. I jak ja mam propagować Ubuntu wśród uczniów…?!! Zdesperowany nauczyciel selador@tlen.pl

    • http://www.ubuntu-pomoc.org Łukasz Schmidtke

      Jako nauczyciel powinieneś bardziej zagłębić się w temat:
      1. sprawdzić datę publikacji wpisu,
      2. sprawdzić datę dodania GRUB2 do Ubuntu.
      3. Następnie połączyć te dwa fakty – różnica jest niewielka, pewnie podczas pisania tego poradnika nie było jeszcze aplikacji, która zrobiłaby to w prosty sposób.
      4. Spojrzeć na dzisiejszą datę – pomyśleć.
      5. Przeszukać (blog lub sieć, pewnie i tak tutaj trafisz), pod kątem aplikacji, która to robi.

      Ale nie… łatwiej narzekać jakie to wszystko jest trudne i męczące.

  • nowicjusz

    mam pytanie co zrobic żeby widows recovery nie był pierwszy tylko normalny windows vista?

  • nowicjusz

    zrobiłem tak jak jest napisane linux jest 3, 1 windows vista recovery a dopiero drugi normalny windows

  • Kasia

    Nie moglibyście zrobić nakładki na to ustrojstwo w KDE jest. Przez takie duperele zaczynam żałować WINDY

    • http://www.ubuntu-pomoc.org/ Łukasz Schmidtke

      Istnieje szereg aplikacji, które to umożliwiają – o kilku z nich pisaliśmy na blogu.

  • Piotr Sokołowski

    po wydaniu komendy „sudo nautilus /etc/grub.d/”
    otrzymałem :
    (nautilus:2314): Gtk-WARNING **: Failed to register client: GDBus.Error:org.freedesktop.DBus.Error.ServiceUnknown: The name org.gnome.SessionManager was not provided by any .service files
    co w takim wypadku zrobić?

  • java

    java tu był