vmlinuz fehlt auf meinem System, wie kann ich das beheben?

1496
xpt

Alle Linux sollten auch mit vmlinuz" /" und " /boot/" kommen. Mein System hat es jedoch nicht:

% ls -l /vmlinuz* /initrd* /boot/vmlinuz* ls: cannot access '/vmlinuz*': No such file or directory ls: cannot access '/initrd*': No such file or directory ls: cannot access '/boot/vmlinuz*': No such file or directory 

Wie kann ich alle drei zurückbekommen?

Ich habe es versucht,

apt-get install --reinstall linux-image-generic linux-headers-generic update-initramfs -u 

Was sollte das Problem laut den Artikeln, die ich gelesen habe, behoben haben, da die eigentlichen Pakete auch neu installiert werden:

% apt-get install --reinstall linux-image-generic linux-headers-generic  Preparing to unpack .../linux-headers-generic_4.15.0.20.23_amd64.deb ... Unpacking linux-headers-generic (4.15.0.20.23) over (4.15.0.20.23) ... Preparing to unpack .../linux-image-generic_4.15.0.20.23_amd64.deb ... Unpacking linux-image-generic (4.15.0.20.23) over (4.15.0.20.23) ... Processing triggers for ureadahead (0.100.0-20) ... Processing triggers for install-info (6.5.0.dfsg.1-2) ... Processing triggers for systemd (237-3ubuntu10) ... Processing triggers for man-db (2.8.3-2) ... Setting up linux-image-generic (4.15.0.20.23) ... Setting up linux-headers-generic (4.15.0.20.23) ... Processing triggers for ureadahead (0.100.0-20) ... Processing triggers for systemd (237-3ubuntu10) ... 

mir fehlen aber immer noch die drei oben genannten Dateien.

0
Ist das nach einem Fehler, durch den diese Dateien gelöscht wurden, oder hat das System ohne diese Dateien gearbeitet? Für den zweiten Fall würde ich vermuten, dass das System in einem Container (z. B. einem VPS) ausgeführt wird und diese dann nicht benötigt. Kannst du sagen, um welchen Fall es sich handelt? A.B vor 6 Jahren 1
Oh, das ist eine lange Geschichte, @AB, aber da Sie gefragt haben, nein, dies ist ein neues, neues System, das noch nie gestartet wurde. Ich bekomme es, indem ich das Ubuntu Live-System selbst auf meine HD kopiere. Warum ich das mache, ist eine weitere lange Geschichte, aber kurz gesagt, nach dem Erstellen einer solchen Kopie weisen sowohl `/ vmlinuz` als auch` / initrd.img` auf die Dateien hin, die nicht vorhanden sind. Zusammenfassend muss ich also alle drei zurückbekommen. Vielen Dank. xpt vor 6 Jahren 0

2 Antworten auf die Frage

1
A.B
apt-get install --reinstall linux-image-generic 

Installiert nur ein leeres Paket neu, das keinen eigentlichen Kernel-Code enthält, sondern nur für die Abhängigkeiten existiert, die es zieht.

Was stattdessen (erneut) installiert werden sollte, um fehlende /bootDateien wiederherzustellen, ist das Paket, das derzeit als Abhängigkeit von linux-image-generic gezeigt wird . Heute ist das Linux-Image-4.15.0-20-Generic . So:

apt-get install --reinstall linux-image-4.15.0-20-generic 

sollte die fehlenden Dateien (erneut) erscheinen lassen. Tatsächlich enthält es nur die minimal benötigte Datei: /boot/vmlinuz-4.15.0-20-generic. Durch die Neuinstallation der Abhängigkeit von linux-modules-4.15.0-20-generic werden auch einige andere fehlende Dateien wiederhergestellt /boot(gemäß der Liste ):

/boot/System.map-4.15.0-20-generic /boot/abi-4.15.0-20-generic /boot/config-4.15.0-20-generic /boot/retpoline-4.15.0-20-generic 
Bitte erläutern Sie noch einmal, warum `linux-image-generic_4.15.0.20.23_amd64.deb` nicht wieder in Ordnung ist. Bitte, da der Kommentar gelöscht wurde. Das heißt, in meinem OP gibt es eine Zeile "entpacken ... / linux-image-generic_4.15.0.20.23_amd64.deb", die jedoch nicht funktioniert hat. xpt vor 6 Jahren 0
Laut den verlinkten Seiten beträgt die Größe des Pakets linux-image-generic nach dem Auspacken 14kb. Nach den Links gibt es * zwei * Dateien: `/ usr / share / doc / linux-image-generic / changelog.gz` und` / usr / share / doc / linux-image-generic / copyright '. Auf der anderen Seite enthält das andere Paket zwar nur 3 Dateien, enthält jedoch diese Datei: `/ boot / vmlinuz-4.15.0-20-generic`: Der Kernel. Dies reicht aus, um die Neuerstellung der zugehörigen initramfs-Datei durch `update-initramfs -u` auszulösen. Der wahrscheinliche Grund, dass es beim Kopieren des Images "verloren" ist, ist, dass / boot eine separate Partition ist. A.B vor 6 Jahren 1
Es gibt eine weitere (Unter-) Abhängigkeit, die alle Kernelmodule enthält: linux-modules-4.15.0-20-generic https://packages.ubuntu.com/bionic/amd64/linux-modules-4.15.0-20-generic / filelist. Dies wurde jedoch ordnungsgemäß aus dem Image kopiert und musste daher nicht erneut installiert werden. Auf jeden Fall gibt es ein paar / boot-Dateien (wie /boot/System.map*), also werde ich es der Antwort hinzufügen. A.B vor 6 Jahren 0
0
xpt

Das hat apt-get install --reinstallanscheinend nicht geholfen, also habe ich sie alle zuerst entfernt und dann wieder installiert:

apt-get --purge remove linux-headers-4.15.0-20 linux-headers-4.15.0-20-generic linux-image-4.15.0-20-generic apt-get install linux-image-generic linux-headers-generic   % ls -l /vmlinuz* /initrd* /boot/vmlinuz* /boot/initrd* -rw-r--r-- 1 root root 57592934 Apr 28 16:55  /boot/initrd.img-4.15.0-20-generic -rw------- 1 root root  8249080 Apr 24 04:42 /boot/vmlinuz-4.15.0-20-generic lrwxrwxrwx 1 root root       33 Apr 28 16:54 /initrd.img -> boot/initrd.img-4.15.0-20-generic lrwxrwxrwx 1 root root       33 Apr 28 16:54 /initrd.img.old -> boot/initrd.img-4.15.0-20-generic lrwxrwxrwx 1 root root       30 Apr 28 16:54 /vmlinuz -> boot/vmlinuz-4.15.0-20-generic lrwxrwxrwx 1 root root       30 Apr 28 16:54 /vmlinuz.old -> boot/vmlinuz-4.15.0-20-generic 

Vielleicht ist es zu schwerfällig, aber wenn apt-get install --reinstallich nicht arbeite, kann ich mir keine besseren Ideen vorstellen.