Ihre Probleme haben möglicherweise nichts mit Ihrem Hauptsystem zu tun, sondern mit Ihrem Installationsmedium (USB-Stick) ... ... siehe hier: askubuntu.com/a/632636/479118
Frank Nocke
Ich kann keine Antwort schreiben, da ich nicht genug Repräsentanten habe, aber als ich dieses Problem bekam, habe ich es gelöst, indem ich von einem Live-USB-Stick gebootet, die Haupt- und EFI-Partitionen gemountet , das Netzwerk aktiviert und das sudo apt-get install linux-image-genericUpgrade auf die neueste Version ausgeführt habe Kernel.
Owen
Antworten:
83
Ihnen fehlen die initramfs für diesen Kernel. Wählen Sie einen anderen Kernel aus dem GRUB-Menü unter " Erweiterte Optionen für Ubuntu" und führen Sie ihn aus sudo update-initramfs -u -k version, um die initrd für zu generieren version(ersetzen Sie sie versiondurch die Kernel-Versionszeichenfolge wie 4.15.0-36-generic) sudo update-grub.
Was passiert, wenn die Kernel-Panik angezeigt wird, wenn die eindeutige Kernel-Option für dieses Betriebssystem ausgewählt wird (in einem Multi-Boot-Szenario)? Wie wird update-initramfs gestartet?
Knocte
3
@ Tau, schlechter Kommentar ...
Psusi
2
@knocte, Siehe Tomeu Roigs Antwort.
Psusi
1
Es sieht aus wie eine schlechte Antwort, aber es ist die Wahrheit!
User3215
2
Ich kann nicht eingeben Ubuntu Systemoder Recovery Modewie kann ich diesen Befehl ausführen, um zu testen, ob er funktioniert?
Casper
53
Beginnen Sie mit einer Live-CD, öffnen Sie ein Terminal
sudo fdisk -l
sudo mount /dev/sdax /mnt
sudo mount --bind /dev /mnt/dev
sudo mount --bind /dev/pts /mnt/dev/pts
sudo mount --bind /proc /mnt/proc
sudo mount --bind /sys /mnt/sys
sudo chroot /mnt
und jetzt kannst du update-initramfsgrub fehlerfrei machen und updaten.
update-initramfs -u -k 2.6.38-8-generic (or your version)
Ich habe hinzugefügt sudo mount --bind /dev/pts /mnt/dev/ptsund sudo mount --bind /sys /mnt/sysin meinem edit; ohne dies, update-grub2beschwerte sich.
Hbf
4
wie kann ich das genau herausfinden version?
Knocte
1
Keiner der Mount-Punkte existiert nach dem ersten / dev / sdax, wenn Sie EFI verwenden.
Paul Gregoire
@knocte versuche ls /mnt/bootnach der neuesten Kernel-Version zu suchen. Oder wenn Sie es richtig machen wollen, lesen Sie die menuentry 'Ubuntu'von/mnt/boot/grub/grub.cfg
Ciro Santilli新疆改造中心法轮功六四事件
Arbeitete auf Ubuntu 14.04! Das hat initrdgefehlt /boot. Die Frage ist: Wie ist es möglich, dass die Datei einfach verschwunden ist? Ich habe nichts getan, was gefährlich schien.
Ciro Santilli新疆改造中心法轮功六四事件
22
In meiner Situation war das Problem /boot100% ausgelastet, sodass die letzten 2 Kernel-Aktualisierungen nicht erfolgreich abgeschlossen wurden. Daher schlug der Neustart fehl, als GRUB2 den neuesten Kernel auswählte.
Ich habe das Problem behoben, indem ich den ältesten installierten Kernel gebootet und einige nicht verwendete Kernel mit aptitude entfernt habe. Mit aptitude hat dpkg nach der Deinstallation automatisch versucht, die defekten Pakete zu konfigurieren. Diesmal war es erfolgreich.
Dies war meiner Lösung am nächsten; Nur ausgeführt zu werden, dpkg --configure -areichte aus, um den Hook update-initramfs auszulösen und den defekten Kernel zu reparieren.
Symmetric
Sie meinen, Sie hatten eine separate /bootPartition, oder?
Ciro Santilli
1
Es war ein Server, der vor meiner Ankunft eingerichtet wurde, und er wurde mit / boot auf seiner eigenen Partition und unbeaufsichtigten Upgrades
konfiguriert
3
Mit können Sie sudo apt-get autoremovealte Kernel entfernen, falls Ihnen der Speicherplatz ausgeht /boot.
Florian Brucker
Ich habe einen älteren Kernel gebootet, einen ausgeführt sudo apt-get autoremove, erneut gebootet (älterer Kernel) und dann einen ausgeführt sudo apt-get dist-upgrade, und das hat funktioniert. Dies war auf einer kleinen Testmaschine, die ich habe. Gleiche Ausgabe, 100%/boot
jmlumpkin
19
Falls dies nach einem abgebrochenen Kernel-Update passiert ist (zB Systemabsturz während aptitude safe-upgrade),
---[ end Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)-
Doch vor ein paar Zeilen, zeigt es Nachrichten vom Typ:
VFS: Cannot open root device "vdb" or unknown-block(0,0): error -6
Please append a correct "root=" boot option; here are the available partitions:
fe00 524288 vda
driver: virtio_blk
das sagt mir im grunde gleich, dass vdbdas nicht gefunden wurde, aber dass es eine /dev/vdagibt, die aufgrund des virtio_blktreibers gelesen werden kann ( CONFIG_VIRTIO_BLK=y).
Dieses Problem trat auf, weil meine / boot-Partition voll war und meine Kernel-Updates fehlgeschlagen waren. Ich habe es geschafft, dies durch Booten von einem alten Kernel im GRUB-Menü zu beheben.
Als ich es schaffte zu booten, habe ich angefangen, alte Kernel zu bereinigen, aber ich hatte es geschafft, einige Abhängigkeitsprobleme zu bekommen, so dass ich zuerst das Linux-Server-Paket deinstallieren musste
sudo apt-get install linux-image-generic
Upgrade auf die neueste Version ausgeführt habe Kernel.Antworten:
Ihnen fehlen die initramfs für diesen Kernel. Wählen Sie einen anderen Kernel aus dem GRUB-Menü unter " Erweiterte Optionen für Ubuntu" und führen Sie ihn aus
sudo update-initramfs -u -k version
, um die initrd für zu generierenversion
(ersetzen Sie sieversion
durch die Kernel-Versionszeichenfolge wie4.15.0-36-generic
)sudo update-grub
.quelle
Ubuntu System
oderRecovery Mode
wie kann ich diesen Befehl ausführen, um zu testen, ob er funktioniert?Beginnen Sie mit einer Live-CD, öffnen Sie ein Terminal
und jetzt kannst du
update-initramfs
grub fehlerfrei machen und updaten.Wenn Sie Ihre Version nicht kennen. Verwenden:
Und aktualisiere einfach Grub.
Starten Sie Ihr System neu.
quelle
sudo mount --bind /dev/pts /mnt/dev/pts
undsudo mount --bind /sys /mnt/sys
in meinem edit; ohne dies,update-grub2
beschwerte sich.version
?ls /mnt/boot
nach der neuesten Kernel-Version zu suchen. Oder wenn Sie es richtig machen wollen, lesen Sie diemenuentry 'Ubuntu'
von/mnt/boot/grub/grub.cfg
initrd
gefehlt/boot
. Die Frage ist: Wie ist es möglich, dass die Datei einfach verschwunden ist? Ich habe nichts getan, was gefährlich schien.In meiner Situation war das Problem
/boot
100% ausgelastet, sodass die letzten 2 Kernel-Aktualisierungen nicht erfolgreich abgeschlossen wurden. Daher schlug der Neustart fehl, als GRUB2 den neuesten Kernel auswählte.Ich habe das Problem behoben, indem ich den ältesten installierten Kernel gebootet und einige nicht verwendete Kernel mit aptitude entfernt habe. Mit aptitude hat dpkg nach der Deinstallation automatisch versucht, die defekten Pakete zu konfigurieren. Diesmal war es erfolgreich.
quelle
dpkg --configure -a
reichte aus, um den Hook update-initramfs auszulösen und den defekten Kernel zu reparieren./boot
Partition, oder?sudo apt-get autoremove
alte Kernel entfernen, falls Ihnen der Speicherplatz ausgeht/boot
.sudo apt-get autoremove
, erneut gebootet (älterer Kernel) und dann einen ausgeführtsudo apt-get dist-upgrade
, und das hat funktioniert. Dies war auf einer kleinen Testmaschine, die ich habe. Gleiche Ausgabe, 100%/boot
Falls dies nach einem abgebrochenen Kernel-Update passiert ist (zB Systemabsturz während
aptitude safe-upgrade
),dpkg --configure -a
.Damit ist das Upgrade abgeschlossen, einschließlich der Konfiguration der Starteinstellungen, wie von psusi erläutert .
quelle
Die Kernel-Boot-Meldungen geben an, welche Festplatten Sie verwenden können
Wenn zum Beispiel in meinem Test Linux 4.17 virtuelle Maschine Setup ich die richtigen ersetzen
root=/dev/vda
mitroot=/dev/vdb
der letzten Nachricht ist:Doch vor ein paar Zeilen, zeigt es Nachrichten vom Typ:
das sagt mir im grunde gleich, dass
vdb
das nicht gefunden wurde, aber dass es eine/dev/vda
gibt, die aufgrund desvirtio_blk
treibers gelesen werden kann (CONFIG_VIRTIO_BLK=y
).quelle
Zusätzlich zu Tomeus Anweisungen musste ich vor chroot:
sudo mount --bind /dev /mnt/dev
Zusätzlich nach der Chroot:
cp -r /usr/lib/i386-linux-gnu/pango /usr/lib/
( Habe das von hier. )
quelle
/dev
an/mnt/dev
.Sie können den Server auch im Rettungsmodus starten und nur den Grub neu installieren
http://info.w3calculator.com/free-code/linux/recover-from-corrupted-boot-image/
quelle
Dieses Problem trat auf, weil meine / boot-Partition voll war und meine Kernel-Updates fehlgeschlagen waren. Ich habe es geschafft, dies durch Booten von einem alten Kernel im GRUB-Menü zu beheben.
Als ich es schaffte zu booten, habe ich angefangen, alte Kernel zu bereinigen, aber ich hatte es geschafft, einige Abhängigkeitsprobleme zu bekommen, so dass ich zuerst das Linux-Server-Paket deinstallieren musste
Dann habe ich neu gestartet und alles hat gut funktioniert!
quelle