Önyükleyiciyi nasıl yeniden çalıştırırım?

148

sudo apt-get -f install komutunu çalıştırmanın The link /vmlinuz.old is a damaged link ve:

olduğunu belirtti
you may need to re-run your boot loader[grub]

İşte tam çıktı:

[email protected]:~$ sudo apt-get -f install
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following packages were automatically installed and are no longer required:
  linux-headers-3.13.0-32 linux-headers-3.13.0-32-generic
  linux-image-3.13.0-32-generic linux-image-extra-3.13.0-32-generic
Use 'apt-get autoremove' to remove them.
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
[email protected]:~$ sudo apt-get autoremove
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following packages will be REMOVED:
  linux-headers-3.13.0-32 linux-headers-3.13.0-32-generic
  linux-image-3.13.0-32-generic linux-image-extra-3.13.0-32-generic
0 upgraded, 0 newly installed, 4 to remove and 0 not upgraded.
After this operation, 270 MB disk space will be freed.
Do you want to continue? [Y/n] y
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
    LANGUAGE = "en
en",
    LC_ALL = (unset),
    LC_TIME = "en",
    LC_MONETARY = "en",
    LC_ADDRESS = "en",
    LC_TELEPHONE = "en",
    LC_NAME = "en",
    LC_MEASUREMENT = "en",
    LC_IDENTIFICATION = "en",
    LC_NUMERIC = "en",
    LC_PAPER = "en",
    LANG = (unset)
    are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
locale: Cannot set LC_ALL to default locale: No such file or directory
(Reading database ... 232120 files and directories currently installed.)
Removing linux-headers-3.13.0-32-generic (3.13.0-32.57) ...
Removing linux-headers-3.13.0-32 (3.13.0-32.57) ...
Removing linux-image-extra-3.13.0-32-generic (3.13.0-32.57) ...
Examining /etc/kernel/postrm.d .
run-parts: executing /etc/kernel/postrm.d/initramfs-tools 3.13.0-32-generic /boot/vmlinuz-3.13.0-32-generic
update-initramfs: Deleting /boot/initrd.img-3.13.0-32-generic
run-parts: executing /etc/kernel/postrm.d/zz-update-grub 3.13.0-32-generic /boot/vmlinuz-3.13.0-32-generic
The link /initrd.img.old is a damaged link
Removing symbolic link initrd.img.old 
 you may need to re-run your boot loader[grub]
Removing linux-image-3.13.0-32-generic (3.13.0-32.57) ...
Examining /etc/kernel/postrm.d .
run-parts: executing /etc/kernel/postrm.d/initramfs-tools 3.13.0-32-generic /boot/vmlinuz-3.13.0-32-generic
update-initramfs: Deleting /boot/initrd.img-3.13.0-32-generic
run-parts: executing /etc/kernel/postrm.d/zz-update-grub 3.13.0-32-generic /boot/vmlinuz-3.13.0-32-generic
The link /vmlinuz.old is a damaged link
Removing symbolic link vmlinuz.old 
 you may need to re-run your boot loader[grub]
[email protected]:~$

Önyükleyiciyi nasıl yeniden çalıştırırım?

    
sordu TevinYoungz 02.09.2014 04:44

3 cevap

187

Womble'ın yanıtına göre Hasarlı / vmlinuz ve /initrd.img Kernel kaldırıldıktan sonra sembolik bağlantılar ( Sunucu Hatası ), önyükleme yükleyiciniz GRUB / GRUB2 olduğunda bu durumda herhangi bir şey yapmak zorunda değilsiniz - burada, burada.

Diğer bazı yükleyicileri için (en azından LILO ), bazen manuel olarak gerekliydi. önyükleyicinin yapılandırmasını çalıştırın.

yaptıysanız , GRUB'a mevcut çekirdeği kontrol etmesini ve yapılandırmasını güncellemesini bildirmeniz gerekiyorsa, sudo update-grub çalıştırması bunu yapardı. Ve bunu çalıştırmanın bir zararı yok. Ama bu durumda gerekli olmamalı.

    
verilen cevap Eliah Kagan 02.09.2014 04:49
31

Hata, grubun durumunda biraz garip.

apt, yeni bir çekirdek sürümü yüklediğinde, /vmlinuz ve /initrd.img dizinine /vmlinuz.old ve /initrd.img.old dizinlerine hareket eder (Daha sonra hala etkin olan çekirdeğe işaret eder. "kernel kaldırıldıktan sonra hasarlı bağlantılar" başlıklı hikayeden farklı olan ve iki yeni dosya / vmlinuz /initrd.img dosyası oluşturan eski uzantı.

apt-get autoremove dosyasını çalıştırdığınızda (iletiler apt-get -f install tarafından üretilmediyse), daha önce etkin olan kernel'i kaldırır (bu yüklemeden sonra yeniden başlattığınızda, autoremove'u çalıştırmadan önce, değil mi?), bu da bağlantıları geçersiz kılar.

Çekirdeğin kendisinin kaldırılmasıyla, otomatik olarak kendini güncelleyen güncelleme grubunu çağırır:

run-parts: executing /etc/kernel/postrm.d/zz-update-grub 3.13.0-32-generic /boot/vmlinuz-3.13.0-32-generic

Dolayısıyla:

The link /vmlinuz.old is a damaged link
Removing symbolic link vmlinuz.old 
 you may need to re-run your boot loader[grub]

O halde autoremove şunları yapıyor:

  1. eski çekirdeği kaldır
  2. update-grub'u çalıştır
  3. update-grub, kaldırılmış dosyalara bağlı .old dosyalarını siler.

Endişelenecek bir şey yok: -)

Selamlar.

    
verilen cevap Anakin 19.08.2015 16:08
11

$ sudo update-grub

Eğer eski paketleri silmek / silmek isterseniz de yapabilirsiniz

$ dpkg --list |grep "^rc" | cut -d " " -f 3 | xargs sudo dpkg --purge

    
verilen cevap pa75 14.06.2016 18:38

Etiketlerdeki diğer soruları oku