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.