Grub yeni çekirdekleri almıyor (idi: Fedora'nın çekirdeği nasıl güncellenir)


1

Vagrant'ı çalıştırmak için görünüşte sonsuz bir arayışla Fedora'yı güncellemeye çalışıyorum. Vagrant'ın VirtualBox'a ihtiyacı var, VirtualBox'un çekirdek kaynaklarına ihtiyacı var ve çekirdek kaynakları yalnızca en son çekirdek sürümü için mevcut.

$ uname -r
4.3.5-300.fc23.x86_64

Sistemi güncellemeyi denedim.

$ sudo dnf update
Last metadata expiration check: 2:03:57 ago on Tue May 10 11:20:17 2016.
Dependencies resolved.
Nothing to do.
Complete!

Açıkçası, sistem zaten güncellendi.

$ sudo dnf install kernel

Last metadata expiration check: 2:05:00 ago on Tue May 10 11:20:17 2016.
Package kernel-4.4.8-300.fc23.x86_64 is already installed, skipping.
Dependencies resolved.
Nothing to do.
Complete!

Geçerli çekirdeği kaldırmayı denedim:

$ sudo dnf çekirdeği kaldırır (uname -r)

Tamamlayınız. Bakalım ne kurulmuş:

$ rpm -qva "kernel-*"
kernel-core-4.4.8-300.fc23.x86_64
kernel-core-4.4.4-301.fc23.x86_64
kernel-headers-4.4.8-300.fc23.x86_64
kernel-modules-4.4.8-300.fc23.x86_64
kernel-devel-4.4.8-300.fc23.x86_64
kernel-modules-4.4.4-301.fc23.x86_64

Şimdiye kadar hepsi iyi.

Böylece yeniden başlattım ....

Sadece Grub'un 4.3.5-300.fc23.x86_64: ve 4.2 şubesinden iki daha eski olanları listelenmiştir.

$ rpm -qva "kernel-*"
kernel-modules-4.3.5-300.fc23.x86_64
kernel-core-4.4.8-300.fc23.x86_64
kernel-core-4.4.4-301.fc23.x86_64
kernel-core-4.3.5-300.fc23.x86_64
kernel-headers-4.4.8-300.fc23.x86_64
kernel-modules-4.4.8-300.fc23.x86_64
kernel-devel-4.4.8-300.fc23.x86_64
kernel-modules-4.4.4-301.fc23.x86_64

Burada ne oluyor?

Düzenleme: Daha sonra yeni çekirdeği almak için grub'u güncellemeye çalıştım.

$ cd /boot/grub2
$ mv grub.cfg grub.cfg.old
$ sudo grub2-mkconfig -o grub.cfg.new
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-4.4.8-300.fc23.x86_64
Found initrd image: /boot/initramfs-4.4.8-300.fc23.x86_64.img
Found linux image: /boot/vmlinuz-4.4.4-301.fc23.x86_64
Found initrd image: /boot/initramfs-4.4.4-301.fc23.x86_64.img
Found linux image: /boot/vmlinuz-4.3.5-300.fc23.x86_64
Found initrd image: /boot/initramfs-4.3.5-300.fc23.x86_64.img
Found linux image: /boot/vmlinuz-0-rescue-0468365313db460f867aa0a7c6284ace
Found initrd image: /boot/initramfs-0-rescue-0468365313db460f867aa0a7c6284ace.img

Yeni yapılandırma dosyasının doğru girişlere sahip olduğunu onaylayabilirim:

 $ grep 4.4 grub.cfg
  menuentry 'Fedora (4.4.8-300.fc23.x86_64) 23 (Workstation Edition)' --class fedora --class gnu-linux --class gnu --class os --unrestricted $menuentry_id_option 'gnulinux-4.3.5-300.fc23.x86_64-advanced-29e2d74b-255e-44fa-b8e7-edb54b33f225' {
linux16 /vmlinuz-4.4.8-300.fc23.x86_64 root=/dev/mapper/fedora_deepwinter-root ro rd.lvm.lv=fedora_deepwinter/root rd.luks.uuid=luks-b09d62d7-9782-42d5-890d-f117ccb8a1cc rd.lvm.lv=fedora_deepwinter/swap rhgb quiet splash acpi_backlight=vendor acpi_osi='!Windows 2013' acpi_osi='!Windows 2012' LANG=en_GB.UTF-8
initrd16 /initramfs-4.4.8-300.fc23.x86_64.img
    menuentry 'Fedora (4.4.4-301.fc23.x86_64) 23 (Workstation Edition)' --class fedora --class gnu-linux --class gnu --class os --unrestricted $menuentry_id_option 'gnulinux-4.3.5-300.fc23.x86_64-advanced-29e2d74b-255e-44fa-b8e7-edb54b33f225' {
linux16 /vmlinuz-4.4.4-301.fc23.x86_64 root=/dev/mapper/fedora_deepwinter-root ro  rd.lvm.lv=fedora_deepwinter/root rd.luks.uuid=luks-b09d62d7-9782-42d5-890d-f117ccb8a1cc rd.lvm.lv=fedora_deepwinter/swap rhgb quiet splash acpi_backlight=vendor acpi_osi='!Windows 2013' acpi_osi='!Windows 2012' LANG=en_GB.UTF-8
initrd16 /initramfs-4.4.4-301.fc23.x86_64.img

Şimdi, çift açılışı ya da böyle karmaşık bir şey değilim. Üzerinde bir tane Fedora kurulumlu bir sabit diskim var. Grub.cfg'nin doğru girdileri girmiş olabilir, ancak bilgisayarı yeniden başlattığımda, hala 4.2.4, 4.2.3 ve 4.3.5 gösteriyor? Birden fazla / bot ile bir bağlama noktası sorunu olabilir mi?

$ mount | grep boot
/dev/sda2 on /boot type ext4 (rw,relatime,seclabel,data=ordered)

$ ls /dev/ | grep sd
sda
sda1
sda2
sda3
sda4

Çekirdek dosyaları kesinlikle orada:

$ ls /boot | grep 4.4
config-4.4.4-301.fc23.x86_64
config-4.4.8-300.fc23.x86_64
initramfs-4.4.4-301.fc23.x86_64.img
initramfs-4.4.8-300.fc23.x86_64.img
System.map-4.4.4-301.fc23.x86_64
System.map-4.4.8-300.fc23.x86_64
vmlinuz-4.4.4-301.fc23.x86_64
vmlinuz-4.4.8-300.fc23.x86_64

Belki grubumu sabit sürücüye yeniden yüklemeyi denemeliyim ...

$ sudo grub2-install --target=/dev/sda
grub2-install: error: /usr/lib/grub/dev/sda/modinfo.sh doesn't exist. Please specify --target or --directory.
$ sudo grub2-install --directory=/boot
grub2-install: error: /boot/modinfo.sh doesn't exist. Please specify --target or --directory.

Modinfo.sh'nin ne olduğunu bilmiyorum, ama önemli görünüyor ...

Bu noktada Grub'un neden çekirdekleri toplamadığından ya da kurulumunu nereden yaptığı konusunda emin değilim.


Muhtemelen grub listesi bir nedenden dolayı güncellenmedi. update-grubya da benzer bir şey yardımcı olabilir. Çekirdek takılmış ve grubun içinde görünmüyorsa, sorun oradadır.
Jakuje

Jakuje konusunda haklısın ve cevabımı uygun şekilde güncelledim.
DMCoding

1
Bu bir UEFItür BIOSsistem mi, yoksa temel sistem mi? Eğer UEFIyer /boot/efi/EFI/fedora/grub.cfgburasıysa Fedora'nın belgelerine
Cory Shay

UEFI olmalı. BIOS modu devre dışı ve $ [-d / sys / firmware / efi] && echo UEFI || echo BIOS, UEFI'yi döndürür. Oysa / boot / efi boş bir dizindir. Kırık bir montaj noktası olabilir mi? Bir noktada bu kurulumu BIOS tabanlı bir sisteme kopyalamak zorunda kaldım; Daha sonra onu BIOS sisteminden, ilk kuruldukları bu dizüstü bilgisayara kopyaladım. Kırık bir dağılma noktası ise nasıl söylerim? mount | grep efi / sys / yazılım / EFI efivarfs döner -i / efivars tip efivarfs (RW, nosuid nodev, noexec, relatime)
DMCoding

Bu sorun vardı ve bunun nedeni EFI bölümünün her zaman bir çekirdek güncellemesi sırasında monte edilmemesiydi, bu yüzden EFI sisteminin paralel versiyonlarını kullanmak zorunda kaldım ve bu da grub menüsünün bazen güncellenmemesine neden oldu. . Bu yüzden fstab/ etc / fstab içindeki seçenekleri kontrol edin .
hannes101
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.