Jak ponownie uruchomić moduł ładujący?


150

Running sudo apt-get -f installpowiedział, że The link /vmlinuz.old is a damaged linki:

you may need to re-run your boot loader[grub]

Oto pełna wydajność:

user@chrubuntu:~$ 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.
user@chrubuntu:~$ 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]
user@chrubuntu:~$

Jak ponownie uruchomić moduł ładujący?


2
Mam ten sam problem, kiedy używam apt-get autoremove, ale jak mówi Eliah Kagan w swojej odpowiedzi, grub wydaje się działać dobrze przy ponownym uruchomieniu.
— Mark Mikofski,

Odpowiedzi:


189

Zgodnie z odpowiedzią na Womble do Uszkodzone / vmlinuz i /initrd.img dowiązania symboliczne po Kernel odinstalować (na Server Fault ), nie musisz nic robić w tej sytuacji, gdy program rozruchowy GRUB jest / Grub2-który jest tutaj.

W przypadku niektórych innych programów ładujących (przynajmniej LILO ) najwyraźniej czasami konieczne było ręczne uruchomienie konfiguracji programu ładującego.

Jeśli nie trzeba powiedzieć GRUB w celu sprawdzenia istniejących jąder i aktualizować swoją konfigurację, bieganie sudo update-grubto zrobić. I nie ma nic złego w tym. Ale w tym przypadku nie powinno to być konieczne.


ok prowadziłem je ty
— TevinYoungz

3
@TevinYoungz W porządku. sudo update-grubnie powinien wyrządzać żadnej szkody.
— Eliah Kagan,

5
Słowo „czasami” jest mało powiedziane.
— Simon Richter

9
Pomyśl, że ta para błędów i rozdzielczość może otrzymać nagrodę za najbardziej głupie błędy projektowe: posiadanie nazwanego polecenia grub, update-grubzamiast grub-updatektórego jest logiczne, i nieokreślenie poprawki (polecenia), która działa w 99,99% przypadków.
— sorin

@sorin Zastanawiam się, czy gdzieś tam jest zgłoszenie błędu.
— Mateusz Konieczny

31

Błąd jest nieco dziwny w przypadku gruba.

Kiedy apt instaluje nową wersję jądra, przenosi / vmlinuz i /initrd.img do /vmlinuz.old i /initrd.img.old (które następnie nadal wskazują na aktualnie aktywne jądro. Ponownie zwróć uwagę na rozszerzenie .old, który różni się od historii podanej w „Uszkodzonych linkach po odinstalowaniu jądra”) i tworzy dwa nowe pliki / vmlinuz /initrd.img.

Kiedy uruchomisz apt-get autoremove(komunikaty nie były generowane przez apt-get -f install), usuwa to wcześniej aktywne jądro (zrestartowałeś się po tej instalacji, przed uruchomieniem autorove, prawda?), Co powoduje, że linki są nieprawidłowe.

Po usunięciu samego jądra autorove sam wywołuje update-grub:

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

W związku z tym:

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

Tak więc autorove robi:

  1. usuń stare jądro
  2. uruchom update-grub
  3. update-grub usuwa pliki .old, które są połączone z usuniętymi plikami.

Nie ma się o co martwić :-)

Pozdrowienia.


2
Co jeśli nie uruchomiłeś się ponownie po ostatniej aktualizacji dist? Co wtedy Nigdy się nie restartuję. To jest dla newbs.
— Evan Carroll,

2
Nie ma sposobu na zapisanie nowego jądra do pamięci, chyba że uruchomisz się ponownie.
— simpleuser

Warto również zwrócić uwagę, jeśli przed uruchomieniem komputera masz /vmlinuz&& /initrd.imgpołączone z obszarem jądra (zwykle / boot). Jak zauważa odpowiedź - „uszkodzony link” plików „.old” nie ma się czym martwić.
— Głosowano

12

$ sudo update-grub

A jeśli chcesz usunąć / wyczyścić stare pakiety, możesz to zrobić

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


Jeśli masz tylko obrazy 3.X, wszystko usuwasz, mam rację?
— Harkály Gergő

Technicznie, twoje pierwsze polecenie odpowiada na pytanie. Nie ma powodu, aby dodawać więcej na temat konserwacji pkg.
— bshea
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.