GRUB2: Grubun son tercihi nasıl hatırlanır


11

Şu anda çeşitli dağıtımları deniyorum, bu yüzden dizüstü bilgisayarımı açtığımda seçim yapabileceğim birkaç işletim sistemi var. Genellikle, tüm bu dağıtımlar yükleme grub2ve listenin en üstüne yerleştirilir, böylece yükleme tamamlandıktan sonra önyükleme yapmak için varsayılan olanlar olur.

Ama Manjaro farklı bir şey yaptı. Bu bazılarının sürümü yüklü grub2olduğunu ediyorum hatırlıyorum ben bir (yeniden başlatılması üzerine) bir tane seçilmiş dek (ve sonra o kadar o bir ve önyükleme olurdu) geçen zamanı ve muhafaza önyükleme boot dağıtıma hangi.

Bunu hayal ettim mi? Manjaro bunu gerçekten yapıyor mu? Eğer öyleyse, nasıl yükleyebileceğiniz bu sürümü arasında grubbenim sistemine? Şerefe.


Bu benim /etc/grub.d/40_customdosyam:

#!/bin/sh
exec tail -n +3 $0
# 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.

ve bu benim /etc/default/grubdosyam:

# If you change this file, run 'update-grub' afterwards to update
# /boot/grub/grub.cfg.
# For full documentation of the options in this file, see:
#   info -f grub -n 'Simple configuration'

GRUB_DEFAULT=saved
GRUB_SAVEDEFAULT=true
#GRUB_HIDDEN_TIMEOUT=0
GRUB_HIDDEN_TIMEOUT_QUIET=true
GRUB_TIMEOUT=3
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
GRUB_CMDLINE_LINUX=""

# Uncomment to enable BadRAM filtering, modify to suit your needs
# This works with Linux (no patch required) and with any kernel that obtains
# the memory map information from GRUB (GNU Mach, kernel of FreeBSD ...)
#GRUB_BADRAM="0x01234567,0xfefefefe,0x89abcdef,0xefefefef"

# Uncomment to disable graphical terminal (grub-pc only)
#GRUB_TERMINAL=console

# The resolution used on graphical terminal
# note that you can use only modes which your graphic card supports via VBE
# you can see them in real GRUB with the command `vbeinfo'
#GRUB_GFXMODE=640x480

# Uncomment if you don't want GRUB to pass "root=UUID=xxx" parameter to Linux
#GRUB_DISABLE_LINUX_UUID=true

# Uncomment to disable generation of recovery mode menu entries
#GRUB_DISABLE_RECOVERY="true"

# Uncomment to get a beep at grub start
#GRUB_INIT_TUNE="480 440 1"

Bu sorudaki yönergeleri takip ettim (esas olarak bu iki satırı ekledim grub) ama işe yaramadı. Daha önce başka bir tane seçmiş olmama rağmen üst dağıtım yeniden başlatıldığında açılıyor.
Gabriel

Kabul edilen cevaptaki talimatları takip ettim. Ben düzenlenmiş /etc/default/grubve çizgi değiştirilmiştir GRUB_DEFAULT=0için GRUB_DEFAULT=savedve hat ilave GRUB_SAVEDEFAULT=trueorada istemek. Sonra ben sudo update-grub. Yeniden başlatıldı ve önyüklemeden farklı bir dağıtım seçti. Yeniden yeniden başlatıldı ve üst (daha önce seçtiğim değil) dağıtım varsayılan olarak seçildi ve önyüklendi.
Gabriel

Sorumu bu iki dosyanın içindekilerle güncelledim. Yapmam gereken değişiklik nedir?
Gabriel

Yanıtlar:


11

Gereğince GRUB kılavuzu :

'GRUB_DEFAULT'

.................

Bunu 'kaydedildi' olarak ayarlarsanız, varsayılan menü girişi 'GRUB_SAVEDEFAULT', grub-set-default veya grub-reboot tarafından kaydedilmiş olur.


'GRUB_SAVEDEFAULT'

Bu seçenek 'true' olarak ayarlanırsa, bir giriş seçildiğinde, GRUB'un gelecekteki çalışmalarında kullanılmak üzere yeni bir varsayılan giriş olarak kaydedin. Bu, yalnızca 'GRUB_DEFAULT = kaydedilmiş'; ayrı bir seçenektir çünkü 'GRUB_DEFAULT = kaydedildi' grub-set-default veya grub-reboot ile birlikte bu seçenek olmadan kullanışlıdır. Varsayılan olarak ayarını kaldır. Bu seçenek, her durumda bulunmayabilecek ortam bloğuna dayanır (bkz. Ortam bloğu).

Eklemelisiniz:

GRUB_DEFAULT=saved

ve

GRUB_SAVEDEFAULT=true

sizin /etc/default/grub. Ayrıca, özel menü dosyalarını kullanıyorsanız /etc/grub.d/40_customseçeneği eklemeniz gerekir.

savedefault

bu dosyadaki menü girişlerine / menü girişlerine. Bu güncellemeden sonra GRUB:

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

veya

update-grub

Yüklü birkaç dağıtımınız varsa, etkin GRUB'u yapılandırdığınızdan ve güncellediğinizden emin olun .


1

Bu bir VirtualBox konuk olarak Arch kullanarak sorun yaşıyordu. Sorun LVM'yi kullanmam oldu.

Yine, GRUB Kılavuzundan :

13.2 GRUB çevre bloğu

Bir önyüklemeden diğerine az miktarda bilgi hatırlamak genellikle yararlıdır. Örneğin, en son seçilene göre varsayılan menü girişini ayarlamak isteyebilirsiniz. GRUB, önyükleme yükleyicisinin dosya sisteminin bozulmasından sorumlu olma olasılığını en aza indirgemek için kasıtlı olarak dosya yazma desteği uygulamamaktadır, bu nedenle bir GRUB yapılandırma dosyası yalnızca sıradan bir dosya oluşturamaz. Bununla birlikte, GRUB az miktarda devletten tasarruf etmek için kullanılabilecek bir “çevre bloğu” sağlar.

Ortam bloğu, normalde / boot / grub / grubenv'de bulunan (bunu varsaymamanız gerekir), önceden ayrılmış 1024 baytlık bir dosyadır. Önyükleme zamanında load_env komutu (bkz. Load_env) ortam değişkenlerini ondan yükler ve save_env (bkz. Save_env) komutu ortam değişkenlerini ona kaydeder. Çalışan bir sistemden, grub-editenv yardımcı programı ortam bloğunu düzenlemek için kullanılabilir.

Güvenlik nedeniyle, bu depolama yalnızca düz bir diske (LVM veya RAID yok) takıldığında, sağlama toplamı olmayan bir dosya sistemi (ZFS olmadan) ve BIOS veya EFI işlevleri (ATA, USB veya IEEE1275 yok) kullanıldığında kullanılabilir.

grub-mkconfig bu özelliği 'GRUB_SAVEDEFAULT' uygulamak için kullanır (bkz. Basit yapılandırma).

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.