Wie Fehler beheben? Vorgehensweise

Du kommst mit der Installation nicht voran oder willst noch was nachfragen? Schau auch in den "Tipps und Tricks"-Bereich.
Antworten
niesommer
Beiträge: 2493
Registriert: 01.10.2006 13:19:37
Lizenz eigener Beiträge: GNU General Public License

Wie Fehler beheben? Vorgehensweise

Beitrag von niesommer » 23.06.2013 10:50:15

Hallo,
Ich habe mir die Debian 7.0 -- Veröffentlichungshinweise http://www.debian.org/releases/wheezy/a ... tml#backup durchgelesen und bin mich am fragen wie genau macht man das mit der Fehlerbehebung auf die im Abschnitt:
4.1.4.1. Shell zur Fehleranalyse während des Bootens mit Initrd hingewiesen wird:
Das initramfs-tools-Paket integriert eine Shell zur Fehleranalyse[3] in die Initrds, die es erzeugt. Falls die Initrd beispielsweise nicht in der Lage ist, die Wurzel Ihres Dateisystems (/) einzubinden, wird Ihnen diese Debug-Shell präsentiert, in der die grundlegenden Befehle vorhanden sind, um das Problem zu ermitteln und möglicherweise zu beheben.

Folgende wesentliche Dinge sollten Sie prüfen: Vorhandensein der richtigen Gerätedateien in /dev, welche Module geladen sind (cat /proc/modules) und Fehler beim Laden von Treibern in der Ausgabe von dmesg. Die Ausgabe von dmesg wird Ihnen auch zeigen, welche Gerätedateien welchen Festplatten zugeordnet wurden; Sie sollten das mit der Ausgabe von echo $ROOT vergleichen, um sicherzustellen, dass die Wurzel des Dateisystems (/) auf dem erwarteten Gerät liegt.

Falls Sie das Problem beheben können, geben Sie exit ein, um die Debug-Shell zu beenden und mit dem Boot-Vorgang an der Fehlerstelle fortzufahren. Natürlich müssen Sie auch das zu Grunde liegende Problem beheben und die Initrd neu erzeugen, damit der Systemstart nicht beim nächsten Mal wieder fehlschlägt.
Ich hatte so einen Fehler zwar noch nicht aber es könnte ja sein das man ja auch selbst einmal vor diesem Problem steht. So wie der TE aus diesem Beitrag (auch wenn er Sparc benutzt): http://debianforum.de/forum/viewtopic.php?f=26&t=143172
Ich würde ja denken das man einfach die fstab und die mtab anpasst, habe aber das Gefühl das dies zu einfach wäre. Hat man denn einen editor an dieser Stelle zur Verfügung? Oder muss man das anders bewerkstelligen?
Wie würdet ihr so ein Problem angehen?
Gruß niesommer
Gruß niesommer

syssi
Beiträge: 2951
Registriert: 24.12.2010 16:50:59
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Rheinland

Re: Wie Fehler beheben? Vorgehensweise

Beitrag von syssi » 23.06.2013 11:03:21

Dazu muss man wissen, wie der Bootprozess grundsaetzlich ablaeuft. In der Regel wird mit Hilfe eines Bootloaders (Grub) ein Kernel und eine Initrd in den RAM geladen. Der Standard-Kernel hat nur das Noetigste an Board. Alles weitere wird in Form von Kernel-Modulen nachgeladen. Der gesamte Pool an Kernel-Modulen liegt auf deiner Festplatte (/lib/modules), auf welche aber zu diesem Zeitpunkt noch nicht zugegriffen werden kann. Schliesslich fehlt ein Treiber fuer deinen Festplatten-Controller, ggf. Software-RAID oder sogar USB? All diese Kernel-Module sollten in der initrd eingebettet sein. Fehlt dort ein Modul und laesst sich deshalb kein Root-Dateisystem mounten, so landest du in der besagten Shell. Dieses Problem ist leider auch eine Ausnahme. Bei einem fehlenden Kernel-Modul in der initrd wirst du Rettungssystem starten muessen, deine initrd mit fehlendem Modul neu bauen und erneut booten.

In der initrd-Shell kannst du Dinge fixen, wie: Das Software-RAID konnte nicht automatisch zusammengesetzt werden. Es fehlt deshalb das /dev/md0 und das System weigert sich zu booten. Du wuerdest haendisch per mdadm die einzelnen Komponenten zusammen stecken, ein /dev/md0 erzeugen und mit Strg-d den Bootvorgang fortsetzen.

Eine fstab editiert man an dieser Stelle seltem. Vielmehr stellt man moeglicherweise fest, dass die UUID der Root-Dateisystems sich geaendert hat und man dem Bootloader einen abgeaenderten root= Parameter mitgeben sollte.

Gruss syssi

Benutzeravatar
habakug
Moderator
Beiträge: 4314
Registriert: 23.10.2004 13:08:41
Lizenz eigener Beiträge: MIT Lizenz

Re: Wie Fehler beheben? Vorgehensweise

Beitrag von habakug » 23.06.2013 11:43:52

Hallo!

Das kann/sollte man üben, gerade wenn Raid-Konstrukte oder Verschlüsselung im Spiel ist. Hierzu bietet sich z.B. der Bootparameter

Code: Alles auswählen

break=premount
an. Die Initramfs präsentiert jetzt die busybox und man kann einige Befehle nutzen um Platten zu mounten und/oder zu entschlüsseln. Uber "hooks" in "/usr/share/initramfs-tools/hooks" kann man die busybox aufbohren. "man initramfs-tools" gibt weitere Informationen.

Gruß, habakug

http://wiki.debian.org/InitramfsDebug
( # = root | $ = user | !! = mod ) (Vor der PN) (Debianforum-Wiki) (NoPaste)

niesommer
Beiträge: 2493
Registriert: 01.10.2006 13:19:37
Lizenz eigener Beiträge: GNU General Public License

Re: Wie Fehler beheben? Vorgehensweise

Beitrag von niesommer » 23.06.2013 12:57:20

vielen dank :THX: für eure Hinweise und Anregungen :THX:
Ich werde mir jetzt mal eine VM aufsetzen und das Üben und damit herum spielen. Ich denke das der Umgang damit nicht ganz unwichtig sein könnte.
Gruß niesommer
Gruß niesommer

Antworten