W oryginalnym Grub chcesz to zrobić poprzez ustawienie w /boot/grub/menu.lst , z domyślną słowa kluczowego do „zbawienia” , a następnie za pomocą savedefault słowo kluczowe w każdej pozycji menu rozruchu.
Zaktualizowano :
Grub2 jest nieco bardziej skomplikowany. Wciąż ewoluuje, więc chociaż zarówno Ubuntu 9.10, jak i 10.04 używają Grub2, istnieje wystarczająca różnica w sposobie pakowania i konfiguracji rzeczy, aby uczynić je interesującymi.
Oto jak wykonać sztuczkę zapisaną w obu przypadkach:
Ubuntu 10.04:
Kierunki 9.10 to podstęp; Świadomy jest o wiele prostszy. Zobacz pomoc Ubuntu, aby uzyskać więcej krwawych szczegółów. Musisz wprowadzić dwie zmiany w / etc / default / grub :
Zmień ten wiersz, który czyta GRUB_DEFAULT=0
sięGRUB_DEFAULT=saved
Dodaj linię za pomocą GRUB_SAVEDEFAULT=true
Otóż to. Właściwie to nie jest takie złe, prawda? Nie zapomnij uruchomić sudo update-grub
.
Ubuntu 9.10:
Istnieje kilka hacków na forach Ubuntu, aby to działało; najwyraźniej słowo kluczowe saveefault było błędne w Grub v1.97. Ten post na forach Ubuntu zawiera jedną metodę. Kolejny post sugeruje nieco prostszą metodę:
Ustaw GRUB_DEFAULT = zapisany w / etc / default / grub .
Umieść te dwie linie w /etc/grub.d/40_custom (u dołu, po linii „exec tail” ):
saved_entry=${chosen}
save_env saved_entry
Przetestowałem tę metodę w Ubuntu 9.10 i działa; następny rozruch automatycznie podświetli ostatnio wybrany wpis. W połączeniu z limitem czasu spowoduje to automatyczne uruchomienie do ostatniego uruchomionego systemu operacyjnego.
I nie zapomnij uruchomić sudo update-grub
. Po zakończeniu wprowadzania zmian. Jest to ważne i żenująco łatwe do zapomnienia ...
Grub nie ma sposobu na odróżnienie ponownego uruchomienia od zimnego rozruchu , więc Grub sam nie może tego zrobić przy ponownym uruchomieniu. Jeśli jednak uruchamiasz się w systemie Linux, możesz użyć sudo grub-set-default N
(gdzie N jest numerem pozycji menu rozruchu, zaczynając od 0), aby ustawić pozycję N, która ma być wybierana przy następnym uruchomieniu (zamiast jakiejkolwiek zapisanej pozycji).
Teoretycznie możesz zhakować coś, co zaczepiło się o procedury zamykania ( być może skrypt Upstart ), który uruchomił dla ciebie grub-set-default , kiedy powiedziałeś Linuksowi, żeby się zamknął (ale nie, kiedy powiedziałeś, żeby zrestartował się). Jednak zamknięcie systemu Windows nie zapewniłoby takiej samej funkcjonalności.
Słyszałem o technice Grub4DOS lub Grub1, która wymagała instalacji Gruba na partycji FAT32 lub NTFS / boot - która pozwoliłaby ci również uruchomić grub-set-default z Windows, abyś mógł wywołać go ze skryptu wylogowania Windows. Ostatnim razem, gdy coś o tym widziałem, nie było to możliwe na Grub2. To mogło już się zmienić.
sudo update-grub
. Testowałem, uruchamiając system Windows 7, zamykając się, a następnie włączając ponownie komputer. System Ubuntu 10.04 (domyślny) był nadal wybrany. Próbowałem również umieścić „save_entry” w / etc / default / grub, zamiast „save” (nie jestem pewien, jak działają skrypty konfiguracji gruba), ale to nie pomogło. Nie próbowałem jeszcze rozwiązania nr 1.