Grub, son başlattığınız işletim sistemini hatırlayacak şekilde yapılandırılabilir mi?


17

Önyükleme menümde genellikle 2-3 işletim sistemi var:

  • Ubuntu 10.04
  • Windows 7
  • [Bazen, Ubuntu 10.04 Netbook gibi üçüncü bir seçenek]

Varsayılan seçim dışında bir işletim sistemindeysem (bu durumda Windows 7) ve yeniden başlatırsam Grub, Ubuntu 10.04'e önyükleme yapar. Bu olmamalı - Windows 7'de yeniden başlattığımda, Windows 7'de kalmak istiyorum. Grub'u son seçimimi hatırlayacak ve önyükleme yapacak şekilde yapılandırmanın herhangi bir yolu var mı?

Alternatif olarak, Grub'un yalnızca yeniden başlattığımda yapması daha iyi olurdu (bilgisayarı ilk açtığımda değil). Bunun mümkün olmayabileceğinin farkındayım, bu yüzden basit son seçimi hatırlamaktan memnun olurum.

Yanıtlar:


20

Orijinal Grub size de, ayarı tarafından bu yapardım /boot/grub/menu.lst , varsayılan anahtar kelimesini "kaydedildi" ve ardından kullanarak savedefault her açılış menüsü girişinde anahtar kelime.


Güncelleme :
Grub2 biraz daha karmaşık. Yine de evrim geçiriyor, bu yüzden Ubuntu 9.10 ve 10.04 her ikisi de Grub2 kullanıyor olsa da, şeyleri ilginç hale getirmek için nasıl paketlendiği ve yapılandırıldığı konusunda yeterli farklılıklar var.

Her ikisinde de savedefault numarasının nasıl yapılacağı aşağıda açıklanmıştır :

  • Ubuntu 10.04:
    9.10 yönleri bir numara; Lucid çok daha basit. Daha fazla ayrıntı için Ubuntu'nun yardımına bakın. / Etc / default / grub içinde iki değişiklik yapmanız gerekir :

    1. Okur hattını değiştirme GRUB_DEFAULT=0içinGRUB_DEFAULT=saved

    2. İle bir satır ekleyin GRUB_SAVEDEFAULT=true

    Bu kadar. Aslında o kadar da kötü değil, değil mi? Kaçmayı unutma sudo update-grub.

  • Ubuntu 9.10:
    Ubuntu forumlarında bunun işe yaraması için birçok hack var; Görünüşe göre savedefault anahtar kelimesi Grub v1.97'de buggy. Ubuntu Forumları'ndaki bu yazı bir yöntem sunmaktadır. Başka bir yazı biraz daha basit bir yöntem önermektedir :

    1. GRUB_DEFAULT = / etc / default / grub içine kaydedilmiş olarak ayarlayın .

    2. Bu iki satırı /etc/grub.d/40_custom ( "exec tail" satırından sonra, altına yakın ) içine yerleştirin:

      saved_entry=${chosen}
      save_env saved_entry
      

    Bu yöntemi Ubuntu 9.10'da test ettim ve işe yarıyor; bir sonraki önyükleme otomatik olarak seçilen son girişi vurgulayacaktır. Zaman aşımı ile birleştiğinde, otomatik olarak en son başlattığınız işletim sistemine başlar.

Ve kaçmayı unutma sudo update-grub. Değişikliklerinizi bitirdikten sonra. Önemli ve utanç verici bir şekilde unutması kolay ....


Grub bir ayırt tarafından hiçbir şekilde yeniden başlatma bir gelen soğuk çizme Grub kendisi tarafından yeniden başlatma bunu yapamaz, böylece. Bununla birlikte, Linux'a önyükleme yapıyorsanız sudo grub-set-default N, bir sonraki önyüklemede (kaydedilen herhangi bir giriş yerine) seçilecek N girişini ayarlamak için (burada N, 0'dan başlayarak bir önyükleme menüsü girişi sayısıdır) kullanabilirsiniz.

Teoride, Linux'a kapanmasını söylediğinizde (ancak yeniden başlatmasını söylediğinizde değil) sizin için grub-set-default'u çalıştıran kapatma rutinlerine ( belki de bir Upstart betiğine ) bağlı bir şeyi hackleyebilirsiniz . Ancak, Windows'u kapatırken aynı işlevi göremezsiniz.

Grub'u FAT32 veya NTFS / önyükleme bölümüne yüklemeyi içeren bir Grub4DOS veya Grub1 tekniğini duydum - bu da Windows'dan grub-set komut dosyasını çalıştırabilmeniz için Windows'tan grub-set-default'u çalıştırmanıza izin verecek . En son bunun hakkında bir şey gördüğümde, Grub2'de bu mümkün değildi. Bu şimdiye kadar değişmiş olabilir.


Çözüm # 2 benim için işe yaramıyor. / Etc / default / grub 'u düzenledim, /etc/grub.d/40_custom' i düzenledim ve koştum sudo update-grub. Windows 7'de önyükleme yaparak, kapatıp sonra bilgisayarımı açarak test ettim. Ubuntu 10.04 (varsayılan) hala seçildi. Ben de "kaydedilen" (grub yapılandırma komut dosyalarının nasıl çalıştığından emin değilim) yerine / etc / default / grub içine "save_entry" koyarak çalıştı, ama yardımcı olmadı. 1 numaralı çözümü henüz denemedim.
Matthew

@Matthew: /etc/grub.d/40_custom dosyasının yürütülebilir olduğunu iki kez kontrol edin (eğer değilse sudo chmod + x). ama evet, sadece Ubuntu 10.04 makinemde denedim ve orada da çalışmıyor. neden kontrol ...
quack quixote

@ Mathew: Tamam, anladım. Üzgünüm, Lucid ve Karmic'in bu kadar farklı olacağını bilmeliydim. (oh. ve kaçtığından emin ol sudo update-grub.)
quixote

3

Bu yazı muhtemelen sizin için yararlı olacak, oldukça açıklayıcı. 10.04 ve 9.10'un aynı GRUB sürümünü kullandığını unutmayın, bu yüzden işlerin sizin için tamamen aynı olması gerekir.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.