Was bedeutet es, wenn Ihr Computer eine "Kernel-Panik" hat ?
Entspricht es dem Windows BsoD ?
Welche Methoden, Tipps und Tricks stehen dem Benutzer zur Verfügung, wenn eine Kernel-Panik auftritt?
Was bedeutet es, wenn Ihr Computer eine "Kernel-Panik" hat ?
Entspricht es dem Windows BsoD ?
Welche Methoden, Tipps und Tricks stehen dem Benutzer zur Verfügung, wenn eine Kernel-Panik auftritt?
Antworten:
Kernel-Panik ist dasselbe wie BSOD und nicht wiederherstellbares IIRC. Ein kleinerer Fehler ist jedoch OOPS, was auf einen Fehler im Kernel hinweist.
panic
Parameter verwenden, der den Kernel nach n Sekunden neu startet. In diesem Fall können Sie GRUB anweisen, auf den Fallback-Kernel zu wechselnemergency sync
, die Puffer zu leeren (wenn es noch möglich ist).
Eine Linux-Kernel-Panik ist ein Unterprogrammaufruf, den der Kernel ausführt, wenn die Kernellogik feststellt, dass eine Bedingung vorliegt, die die weitere Ausführung der normalen Logik unmöglich oder verantwortungslos macht.
Der Kernel kann eine Panik auslösen, wenn:
Es gibt ungefähr 950 verschiedene Bedingungen, unter denen in den 3.X-Kerneln eine Panik ausgelöst wird. Die Panik-Subroutine druckt zuerst den Kernel-Stack-Dump und die CPU-Register an die Konsole. Wenn dann ein Crash-Kernel konfiguriert wurde, wird der Kernel gebootet. Andernfalls sprengt die Panikroutine alle Spinlocks und führt einen Notfall-Neustart durch.
Ein oops ist eine Unterroutine, die von einem CPU-Ausnahmebehandler für eine CPU-Ausnahme aufgerufen wird, die bei der Ausführung im privilegierten Modus (dh im Kernel-Modus) auftritt. Die Ausnahme kann als Ergebnis eines Fehlers im Kernelcode oder aufgrund eines Hardwarefehlers oder als Ergebnis einer externen Bedingung auftreten, die eine bestimmte Ausnahme verursacht. Der Handler für die Ausnahme druckt ein Kernel-Protokoll mit CPU-Registern und Modulen. Im Gegensatz zu Panikaufrufen ruft die Kernellogik selbst niemals ein Oops außerhalb des Kontexts von CPU-Ausnahmebehandlungsroutinen auf.
Wenn der Kernel für Kexec konfiguriert ist, führt ein Hoppla dazu, dass der Kexec-Kernel gebootet wird. Wenn andernfalls die Ausnahme während der Ausführung eines Interrupt-Handlers auftritt, führt der Befehl oops zu einem Kernel-Panic-Aufruf. Andernfalls, wenn der Kernel mit "Panic On Oops" konfiguriert ist, führt das Oops zu einem Panic Call. Andernfalls verlässt der Kernel den Ausnahmehandler und setzt die Ausführung fort. Wenn der Kernel den Ausnahmehandler verlässt und die Ausführung wieder aufnimmt, ist die Integrität des Kernels verdächtig.
CPU-Ausnahmebehandlungsroutinen sind architekturspezifisch. Sie werden normalerweise in arch / * / kernel / traps.c implementiert und im architekturspezifischen Kerneleintragscode festgelegt, der die Interrupt-Tabelle erstellt. Siehe zum Beispiel arch/powerpc/kernel/traps.c
und arch/powerpc/kernel/head_fsl_booke.S
.
Sowohl die Kernel-Panik- als auch die Oops-Bedingung können so konfiguriert werden, kmsg_dump
dass sie eine Routine aufrufen , mit der Sie Absturz-Debugging-Informationen im RAM oder im Flash-Speicher speichern können, es sei denn, die Oops sind im Interrupt-Kontext aufgetreten. In diesem Fall kann nur die Routine „kmsg_dump“ verwendet werden Speichern Sie im RAM, nicht auf MTD. Beim Speichern im RAM liegt es in Ihrer Verantwortung, a) sicherzustellen, dass der verwendete RAM-Bereich während des Kexec-Starts oder eines Neustarts im Notfall nicht überschrieben wird und b) den Speicherbereich vom Kexec-Kernel oder von der Bootloader-Logik zu beziehen.
Dies ist das unerwartete Verhalten des Programmflusses (in diesem Fall ist der Kernel ein Programm). Im Falle einer Panik funktioniert das Programm nicht mehr. Es ist gleich dem Windows BsoD. KP bedeutet, dass mit dem Kernel oder den Modulen etwas nicht stimmt. Wenn es ein stabiler Kernel ist, schauen Sie sich die Treiber an. Wenn nichts Besonderes und alle Treiber gemeinsam sind, liegt möglicherweise ein Hardwareproblem vor.