Grub2'ye yeni bir çekirdek nasıl eklenir


24

Grub2'ye nasıl bir çekirdek ekleyebiliriz? eski sürümlerle yapabileceğimiz şeyleri biliyordum, ancak değişmiş görünüyor. Hangi dosyaları düzenlemeliyiz?

Yanıtlar:


11

Grub2'ye yeni bir çekirdek eklemek için:

  1. Çekirdeğinizi / boot / konumuna getirin.
  2. Sudo update-grub komutunu çalıştır

update-grub, bilgisayarınızı çekirdeklere karşı tarar ve önyüklemede kullanılabilir çekirdeklerin bir listesini oluşturur.

Hangi çekirdeğin önyükleme sırasında önyükleneceğini seçebilmeniz için BIOS'unuzu gönderdikten hemen sonra SHIFT düğmesini basılı tutmanız gerekebilir.

Varsayılan önyükleme seçeneklerini ve gerek duyabileceğiniz parametreleri değiştirmek için / etc / default / grub'u düzenleyebilirsiniz .

Debian Olmayan Linux

Bu Fedora GRUB 2 belgeleri gibi dağıtımınız için grub notlarına bakın .

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

Ayrı / önyükleme bölümü olmayan 2 Linux dağıtımınız varsa? Çekirdeği ikincil rootflardan primer birine kopyalamanız gerekiyor mu? Yoksa 'grub-update' ayrıca yeni çekirdekler için diğer bölümleri de kontrol ediyor mu?
jiggunjer

Bu ayrı bir sorudur, ancak kullanılan her iki çalıştırılabilir dosya da /boot/doğru şekilde okumalı ve üretmelidir. Grub yapılandırma dosyası (örneğin:) /etc/default/grubişletim sistemi başına farklı olabilir, bu yüzden onları senkronize ettiğinizden emin olun. Bununla birlikte, en iyi uygulama sizin için tek bir işletim sisteminin grub kayıtları oluşturması olabilir.
earthmeLon

Gerçekten ayrı bir soru değil, OP yapılandırmasını belirtmedi ve çift önyükleme a ortak bir sorundur. Cevabınıza değer katacağını düşündüm, ki bu zaten iyi. Başka bir deyişle, ikincil işletim sisteminin kendi grubuna ihtiyacı bile yok, birincil olan grubun tüm bölümleri / önyükleme klasörlerini tarayacak ve çekirdeği bulacak.
jiggunjer

1
Bir çekirdeği / boot'a nasıl taşırım? mv kernel /boot? / Boot'a taşınabilecek bir çekirdeği nereden bulabilirim?
Thomas Weller

3

Fedora 20'yi çalıştırıyorum ve grub2'yi güncelleme komutu grub2-mkconfig. Ayrıca, tüm işlem çekirdek yapı markası ile gerçekleştirilebilir:

make xconfig (make config, etc)
make bzImage
make modules
sudo make modules_install
sudu make install

Bu (son adım) çekirdeği / boot'a kopyalar ve grub2 boot yükleyicisini günceller. Çok kolay ve benim durumumda doğru çalıştı. Tek sorunum, sürecin hiçbir önemli detayını gerçekten öğrenmemeniz, her şey otomatik. Eğer sorunlarınız varsa ve neyin yanlış olduğunu bulmak zorunda kalırsanız, sıkışıp kalabilirsiniz.


sudo make installbana söyler: Cannot find LILO.
René Nyffenegger

Muhtemelen çekirdeğin daha eski bir versiyonunu inşa ediyorsunuzdur? LILO, 3.x'ten daha eski sürümlerde kullanıldı (tam sürümden emin değilim) Hangi dağıtımla çalışıyorsunuz?
philbrooksjazz

Bu, Linux Torvalds deposundan klonladığım en yeni rc (4.6.0-rc5) ile Arch Linux'taydı.
René Nyffenegger

0

/boot/grub/grub.cfgmenu.lstgrub1'den değiştirilen dosyadır

Debian / Ubuntu sistemlerinde bu, benzer bir şey kullanarak update-grubkomut dosyalarını çalıştıran tarafından üretilir ./etc/grub.drun-parts


0

Eğer yeni çekirdek dpkg ile kurulursa (make-kpkg ile derlenmiş gibi), update-grub2 yeterlidir (mevcut çekirdeği de kaldırmaz)


0

Artık çekirdek eklemek için "düzenleme" yapmazsınız. Dinamik olarak tarar ve ekler. Bir tarama eklemeniz GEREKİRMEMEK durumunda, /etc/grub.d dosyasına bakmalı ve değiştirmeli veya kopyalanmalı ve custom40 (en son eklenir, bu nedenle en üste koymadan önce config'nizi test etmek için harika bir yer) liste).


0

Deneyin update-grubveya update-grub2grubunuza bağlı olarak deneyin . Bunları root olarak çalıştırmanız gerekecek sudo. Grub'u yeniden yüklemeden ikinci bir Linux dağıtımı kurduğumda bu benim için çalıştı.


Cevabımın Alan'ın cevabına benzer olduğunu anladım, ancak grub2 komutunu ekledim.
beatgammit
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.