Mit HIlfe von Knoppix Lilo retten

Du kommst mit der Installation nicht voran oder willst noch was nachfragen? Schau auch in den "Tipps und Tricks"-Bereich.
Antworten
Benutzeravatar
DrMartinus
Beiträge: 218
Registriert: 20.05.2003 07:20:09
Wohnort: Goslar
Kontaktdaten:

Mit HIlfe von Knoppix Lilo retten

Beitrag von DrMartinus » 23.05.2004 15:13:23

Ich habe ein großes Problem:

Ich hatte einen PC mit Debian testing wieder auf Vordermann bringen wollen, nachdem nun KDE 3.2.2 verfügbar ist, und machte also ein Distribution update. Es wollte auch etwas bei lilo verändern, was ich dann auch zuließ, nachdem es das erste Mal dabei hängen geblieben war.
Als ich dann wieder starten wollte (nach angeblich erfolgreichem update), gab es allerdings nur eine kernel panic: root wurde nicht gefunden. Seit Tagen habe ich nun in meiner knappen freien Zeit nach Lösungen gesucht und dabei rausgefunden, dass es wohl an einem Eintrag in lilo.conf liegt. Nun ja, die wollte ich dann editieren, packte also eine sehr neue Knoppix-CD aus, startete, lernte, wie man eine Partition schreibbar macht, änderte die Datei, lernte, dass lilo natürlich nicht so einfach zu bewegen ist, nun den neuen MBR zu schreiben, und bin nun am Ende meines Lateins:

Code: Alles auswählen

$lilo /mnt/hda1/sbin/lilo -r /mnt/hda1

Fatal: open /dev/hda: permission denied
Daraus lässt sich wohl schon erkennen, dass /mnt/hda1 die Bootpartition ist, / ist ja die Knopppix CD, soweit ich das durchschaue. Was muss ich tun, damit lilo den MBR an den richtigen Ort schribt?

Danke schon mal!
Dr. Martinus

Benutzeravatar
slide
Beiträge: 588
Registriert: 28.05.2003 12:09:20
Wohnort: Bochum
Kontaktdaten:

Beitrag von slide » 23.05.2004 15:48:44

Hm, das Problem hatte ich auch, dass ich lilo nicht ausführen konnte, wenn ich mit Knoppix an meinen Partitionen rumgeschraubt hab...
Direkt kann ich dir da auch nicht helfen, sorry.

Hast du nicht noch irgendwo eine Rescue Disk rumfliegen, z.B. eine Diskette von der Installation oder so? Damit hab ich das dann immer gemacht.
Diskette rein und beim Bootprompt

Code: Alles auswählen

rescue root=/dev/hdaX
eingeben (wobei X die Nummer der Rootpartition angibt).

Das nur mal so als Vorschlag, aber wahrscheinlich hättest du es schon mit Diskette gemacht, hast aber keine, richtig? *g*

Slide
Debian Sid, Kernel 2.6.15.x, Fluxbox
Jabber ID: slide@amessage.de | Bochumer GNU/Linux User Group
It is only when we have lost everything that we are free to do anything. --Fight Club

Benutzeravatar
DrMartinus
Beiträge: 218
Registriert: 20.05.2003 07:20:09
Wohnort: Goslar
Kontaktdaten:

Beitrag von DrMartinus » 23.05.2004 15:51:35

richtig... :(
Dr. Martinus

Benutzeravatar
slide
Beiträge: 588
Registriert: 28.05.2003 12:09:20
Wohnort: Bochum
Kontaktdaten:

Beitrag von slide » 23.05.2004 16:03:38

Ich hab mal mit man lilo nachgeschaut ob ich was finde und bin auf das hier gestossen:

Code: Alles auswählen

 -b bootdev
              Specify the boot device; i.e., where the boot loader will  be  installed.
              "-b  /dev/hda" specifies the Master Boot Record; "-b /dev/sdb5" specifies
              the first extended partition on the second SCSI disk.
Demnach müsstest du mit

Code: Alles auswählen

/mnt/hda1/sbin/lilo -b /dev/hda
den MBR von /dev/hda beschreiben können.

Ob das in der Praxis funktioniert weiß ich nicht!! Ist nur eine Idee!! Also überleg dir, ob das Sinn macht was ich hier erzähle, bevor du irgendwas kaputt machst...

:D Viel Glück!
Debian Sid, Kernel 2.6.15.x, Fluxbox
Jabber ID: slide@amessage.de | Bochumer GNU/Linux User Group
It is only when we have lost everything that we are free to do anything. --Fight Club

Benutzeravatar
DrMartinus
Beiträge: 218
Registriert: 20.05.2003 07:20:09
Wohnort: Goslar
Kontaktdaten:

Beitrag von DrMartinus » 23.05.2004 17:04:35

'Genau das ist die Stelle, wo ich etwas Sorge habe. Abgesehen davon, dass /dev/hda ja offensichtlich nicht schreibbar ist (permission denied), glaube ich, dass es eigentlich /mnt/hda1/dev/hda sein müsste. Könnte ich damit richtig liegen oder wäre ich da vollkommen auf dem Holzweg?
Dr. Martinus

micros
Beiträge: 39
Registriert: 22.08.2003 19:20:55
Wohnort: Bingen
Kontaktdaten:

Beitrag von micros » 23.05.2004 19:07:27

Hallo,
Die Platten sind unter Knoppix per default ReadOnly gemountet. mit "mount -o remount,rw /dev/hda1 /mnt/hda1" sollte man aber z.B. /dev/hda1 auf ReadWrite umschalten können...
Zu dem Thema gibt es schon einige Threads:
Suchen: Knoppix remount
Gruß micros
Aller Anfang ...

Benutzeravatar
DrMartinus
Beiträge: 218
Registriert: 20.05.2003 07:20:09
Wohnort: Goslar
Kontaktdaten:

Beitrag von DrMartinus » 23.05.2004 19:21:15

Es geht ja eigentlich nicht ums Beschreiben der Partitionen, das habe ich längst, sondern um die Beschreibung des MBR. Das klappt nicht. Und den MBR kann ich ja wohl nicht mounten, oder?
Dr. Martinus

micros
Beiträge: 39
Registriert: 22.08.2003 19:20:55
Wohnort: Bingen
Kontaktdaten:

Beitrag von micros » 23.05.2004 21:41:38

Hallo,
vorsichtshalber habe ich gerade meinen MBR von einer Knoppix3.4-CD aus neu beschrieben:

Code: Alles auswählen

sudo mount -rw /dev/hda2 /mnt/hda2
sudo chroot /mnt/hda2 /bin/bash
mount -a # habe ich mir gespart
lilo
exit
Gruß micros
Aller Anfang ...

Benutzeravatar
DrMartinus
Beiträge: 218
Registriert: 20.05.2003 07:20:09
Wohnort: Goslar
Kontaktdaten:

Beitrag von DrMartinus » 24.05.2004 07:06:48

Sehr interessant. Den Sinn des /bin/bash in chroot verstehe ich nicht ganz, ebenso den Kommentar bei mount -a. Hast Du den Befehl nun ausgeführt oder nicht?
Dr. Martinus

Benutzeravatar
DrMartinus
Beiträge: 218
Registriert: 20.05.2003 07:20:09
Wohnort: Goslar
Kontaktdaten:

Beitrag von DrMartinus » 24.05.2004 07:18:51

Habe das gerade ausprobiert, genau wie oben geschrieben. Lilo gibt folgenden Fehler raus:

Code: Alles auswählen

warning: '/proc/partitions' does not exist, disc scan bypassed
Fatal: open /initrd.img: No such file or directory
Die Datei existiert aber. Ich finde es schon lustig, dass Lilo immer wieder mal was neues findet, das es aufgeben lässt, aber weil ich die Vorgänge dahinter nicht so ganz verstehe, komme ich leider nicht weiter. Die Fehlermeldung ist nicht nachvollziehbar, da die Datei ja existiert...
Dr. Martinus

Benutzeravatar
DrMartinus
Beiträge: 218
Registriert: 20.05.2003 07:20:09
Wohnort: Goslar
Kontaktdaten:

Beitrag von DrMartinus » 24.05.2004 07:32:59

Die Datei scheint doch nicht zu existieren. /initrd.img ist ein link zu /boot/initrd.img-2.4.25-1-k6, aber es existiert maximal initrd.img-2.4.24-1-k6, während es einen vmlinuz mit 2.4.25 und 2.4.26 gibt.

Hm, wie komme ich von hier aus jetzt weiter?
Dr. Martinus

Benutzeravatar
badera
Beiträge: 643
Registriert: 20.05.2004 20:01:50
Wohnort: Schweiz

Beitrag von badera » 24.05.2004 07:35:21

Du hast zwar glaub ich 'Testing', also wohl 'Sarge' aber da Du LILO verwendest, könntest Du möglicherweise auch einfach die Woody-Boot-CD nehmen (Die Netzwerk-Installations-CD), mit der booten, und ziemlich früh gibt es die Möglichkeit, als Alternative zur Installation (nach dem Einbinden von Root- und Swappartition) das System mit LILO bootbar zu machen. Du kannst dann auswählen, ob im MBR oder nicht. In diesem Fall wird an der Partition selbst auch gar nichts verändert.

Vielleicht hilft das
- Adrian

Benutzeravatar
DrMartinus
Beiträge: 218
Registriert: 20.05.2003 07:20:09
Wohnort: Goslar
Kontaktdaten:

Beitrag von DrMartinus » 24.05.2004 09:15:57

Eine Option, lilo zu installieren, habe ich nicht bekommen. Ich habe einen rescue-Start gemacht, KDE gab's nicht, aber ein root, so habe ich versucht, lilo zu installieren, aber es gibt den selben Fehler raus (initrd.img fehlt), was ja auch stimmt. Da muss wohl irgendwas beim dist-upgrade schief gelaufen sein, fürchte ich.
Dr. Martinus

Benutzeravatar
DrMartinus
Beiträge: 218
Registriert: 20.05.2003 07:20:09
Wohnort: Goslar
Kontaktdaten:

Beitrag von DrMartinus » 24.05.2004 09:44:25

An der Kommandozeile habe ich als root /etc/lilo.conf editiert, so dass es initrd.img nicht mehr aufruft. Dann habe ich lilo durchlaufen lassen, und es hat geklappt. Aber wenn ich den Computer dann starte, kommt immer wieder diese Meldung:

Code: Alles auswählen

VFS: Cannot open root device "301" or 03:01
Please append a correct "root=" boot option
Irgendwo hatte ich gelesen, dass diese in einer der Menu-Sektionen untergebracht werden müsste. Das habe ich getan:

Code: Alles auswählen

root=/dev/hda1
Aber diese Meldung kommt immer wieder. Ich habe das Gefühl, als ob Lilo gar nicht die lilo.conf richtig interpretiert, denn da sind zwei boot-Optionen, Linux und LinuxOld, aber es läuft immer durch ohne eine Option.
Irgendwelche Tips?
Dr. Martinus

Benutzeravatar
slide
Beiträge: 588
Registriert: 28.05.2003 12:09:20
Wohnort: Bochum
Kontaktdaten:

Beitrag von slide » 24.05.2004 11:45:14

Poste doch mal deine lilo.conf und wie deine Festplatte in etwa partitioniert ist (was befindet sich auf welcher Partition etc.).
Debian Sid, Kernel 2.6.15.x, Fluxbox
Jabber ID: slide@amessage.de | Bochumer GNU/Linux User Group
It is only when we have lost everything that we are free to do anything. --Fight Club

Benutzeravatar
DrMartinus
Beiträge: 218
Registriert: 20.05.2003 07:20:09
Wohnort: Goslar
Kontaktdaten:

Beitrag von DrMartinus » 24.05.2004 14:35:40

Ich musste alles per Hand abschreiben, aber so viel ist es ja auch nicht. Sämtliche auskommentierte Zeilen habe ich weggelassen:

Code: Alles auswählen

lba32
boot=/dev/hda
root=/dev/hda1
install=/boot/boot-menu.b
map=/boot/map
delay=20
vga=normal
default=Linux

image=/vmlinuz
label=Linux
read-only
root=/dev/hda1

image=/vmlinuz.old
label=LinuxOLD
read-only
optional
root=/dev/hda1
und die Partitionen:

Code: Alles auswählen

hda1: /
hda5: swap
hda6: /usr
hda7: /var
hda8: /home
Ich bin immer noch ziemlich ratlos...
Dr. Martinus

Benutzeravatar
slide
Beiträge: 588
Registriert: 28.05.2003 12:09:20
Wohnort: Bochum
Kontaktdaten:

Beitrag von slide » 24.05.2004 15:50:54

Hm, sieht alles richtig aus...
Du musst root=/dev/hda1 zwar nicht bei jedem Image angeben, es reicht wenn das oben einmal steht, aber daran wird's wohl nicht liegen.

Dass er ohne zu warten direkt das eine Image startet, liegt daran, dass du timeout nicht angegeben hast.

Code: Alles auswählen

timeout=150
lässt dir 15 Sekunden Zeit bevor lilo selbst das Default-Image startet.

Was anderes fällt mir im Moment nicht dazu ein, sieht eigentlich normal aus die lilo.conf. Normalerweise müsste man, wenn man das ganz jetzt in den MBR schreibt und neu bootet, keine Fehler bekommen. 8O
Debian Sid, Kernel 2.6.15.x, Fluxbox
Jabber ID: slide@amessage.de | Bochumer GNU/Linux User Group
It is only when we have lost everything that we are free to do anything. --Fight Club

Benutzeravatar
DrMartinus
Beiträge: 218
Registriert: 20.05.2003 07:20:09
Wohnort: Goslar
Kontaktdaten:

Beitrag von DrMartinus » 24.05.2004 18:25:08

Krieg ich aber, kernel panik, kein root device... :cry: :cry: :cry:
Dr. Martinus

Benutzeravatar
DrMartinus
Beiträge: 218
Registriert: 20.05.2003 07:20:09
Wohnort: Goslar
Kontaktdaten:

Beitrag von DrMartinus » 27.05.2004 17:47:17

was vielleicht auch wichtig wäre: timeout ändert nichts. Es geht immer noch glatt durch, ohne Auswahlmöglichkeit (Menü).

Na gut, das habe ich jetzt rausgefunden, musste auch

prompt

reinschreiben.

Aber auch mit dem alten Kernel gibt's die gleich panic...
Der "root=" Eintrag ist doch richtig!!!

Code: Alles auswählen

rescue root=/dev/hda1
funktioniert ja auch (mit der woody boot CD), d.h. ich komme bis zum login und kann dann an der Konsole arbeiten, aber das reicht nicht. An KDE komme ich nicht, es will gnome laden, und bleibt hängen, weil gnome nicht installiert ist.
Hmmm....
Dr. Martinus

Benutzeravatar
DrMartinus
Beiträge: 218
Registriert: 20.05.2003 07:20:09
Wohnort: Goslar
Kontaktdaten:

Beitrag von DrMartinus » 27.05.2004 18:27:41

Weitere Infos - vielleicht hat das ja mit dem Problem zu tun:

Wenn ich jetzt

Code: Alles auswählen

apt-get dist-upgrade
laufen lasse, erhalte ich folgenden Fehler:

Code: Alles auswählen

error processing /var/cache/apt/archives/gnustep-make_1.9.1-2.i386.deb (unpack):
trying to overwrite '/usr/lib/GNUstep/system/Makefiles' which is also in package gnustep-xgps0
Wenn ich es richtig verstehe, brauchen zwei verschiedene gnusteps die gleiche Datei. Aber wieso zwei verschiedene gnusteps? Ich bin ziemlich verwirrt, so genau kenne ich mich mit der Materie nicht aus. Hilfe!!!
Dr. Martinus

Benutzeravatar
g-henna
Beiträge: 733
Registriert: 03.11.2003 14:59:56
Wohnort: Berlin

Beitrag von g-henna » 27.05.2004 20:22:49

Hi!

1. Führ mal nicht das lilo von der gemounteten Platte aus, sondern das lilo, was von Knoppix mitkommt. Evtl. hat deine geupdatete Version ja nen Fehler drin.
2. Die initrd.img muss unbedingt rein, sonst wirst du beim Booten immer die Kernel panic behalten. Denn er braucht diese, um das ext3-Filesystem zu verstehen, ohne initrd kann er garnicht booten in deinem Fall.
3. /sbin/lilo -r /mnt/hda1?

Bye
g-henna

PS. Falls er irgendwelche Dateien nicht findet, leg doch symlinks auf das Knoppix-FS an.
follow the penguin...

Benutzeravatar
Jens
Beiträge: 404
Registriert: 31.03.2004 07:51:08
Lizenz eigener Beiträge: MIT Lizenz
Kontaktdaten:

Beitrag von Jens » 31.05.2004 16:23:36

Hi!

Ich habe zur gleichen Zeit ein ähnliches Problem, ich dachte übrigens immer das boot= Die Partition mit dem Kernel image ist und root= das root fs halt sprich
z.B. boot=/dev/hda1
root=/dev/hda5

Benutzeravatar
DrMartinus
Beiträge: 218
Registriert: 20.05.2003 07:20:09
Wohnort: Goslar
Kontaktdaten:

Beitrag von DrMartinus » 31.05.2004 19:52:53

boot= ist die Partition, auf der der Bootsektor abgelegt ist. Soweit habe ich es begriffen. Der ruft dann ja nur den Kernel auf, und der ist wiederum in /boot, weswegen der Ort des root-Verzeichnisses auch angegeben werden muss. Wenn der Bootsektor im MBR eingetragen wird, gibt man als Boot eben keine Partition, sondern nur den Namen der Festplatte (z.B. /dev/hda) an.
Ich habe übrigens mein Problem gelöst, indem ich mit Hilfe von dselect die kernel source runterlud und dann eine Installation des runtergeladenen Paketes vornahm. Plötzlich wurden um die 350 fehlende Pakete installiert, und danach ging es dann wieder.
Ich bin dahin gekommen, indem ich mit der woody boot-CD erst einmal einen rescue-boot durchführte (am boot-prompt "rescue root=/dev/hda1" eingegeben, dann root login und dselect aufgerufen.
Dr. Martinus

Antworten