Installation von SystemRescue auf der Festplatte [solved]

Post here if you don't read/write English and you only speak German / Dutch
wodim
Posts: 9
Joined: 13 Feb 2013, 12:56

Installation von SystemRescue auf der Festplatte [solved]

Postby wodim » 13 Feb 2013, 13:06

Hallo,

ich bin etwa nach dieser Anleitung vorgegangen (sinngemäß, ich habe Debian Sqeeze und Grub2):

http://www.sysresccd.org/Sysresccd-manu ... ehensweise

Das Problem: Das komplette Dateisystem liegt jetzt auf der Partition, ich kann auch davon booten, aber bald bleibt's hängen und sucht immer noch die "sysrscd.dat". Wo liegt der Fehler?

gernot
Posts: 1127
Joined: 07 Apr 2010, 16:19

Re: Installation von SystemRescue auf der Festplatte

Postby gernot » 13 Feb 2013, 16:02

Die initrd sucht nach sysrcd.dat und versucht es als / zu mounten.
Wenn du sysrcd.dat in eine Partition ausgepackt hast lass einfach die initrd weg und setzte "root=/dev/sdXY" auf die verwendete partition.

Gernot

wodim
Posts: 9
Joined: 13 Feb 2013, 12:56

Re: Installation von SystemRescue auf der Festplatte

Postby wodim » 13 Feb 2013, 22:34

gernot wrote:Die initrd sucht nach sysrcd.dat und versucht es als / zu mounten.
Wenn du sysrcd.dat in eine Partition ausgepackt hast lass einfach die initrd weg ...

Das hat geklappt, er sucht die sysrdc.dat nicht mehr. Aber das funzt noch nicht:

gernot wrote:... und setzte "root=/dev/sdXY" auf die verwendete partition.

Hm, da hab' ich nun alle möglichen Varianten durchprobiert - er findet den zu bootenden Kernel einfach nicht. Wie muss denn der Eintrag in der /boot/grub/grub.cfg nun genau aussehen? (Grub2, wie gesagt - die Beipiele, die man so im Netz findet, funktionieren nur mit älteren Versionen.)

gernot
Posts: 1127
Joined: 07 Apr 2010, 16:19

Re: Installation von SystemRescue auf der Festplatte

Postby gernot » 14 Feb 2013, 05:27

Ich hätte es so versucht falls sich die Daten auf sda5 befinden.
Wenn es nicht klappt Poste deine Grub config, die verwendete Partition und wo du den Kernel abgelegt hast.
Laut Doku verwendet jetzt grub z.b. (hd0,5) für /dev/sda5. Beim alten grub war das noch (hd0,4).
Je nach Dateisystem kann es noch nötig sein ein Modul zu laden.

Code: Select all

menuentry "sysresccd" {
        insmod ext2
        set root='(hd0,5)'

   linux   /vmlinuz  root=/dev/sda5
}

Das Beispiel geht davon aus dass sich der Kernel als vmlinuz im Rootverzeichnis auf (hd0.5) befindet. Der kernel sucht dann init auf /dev/sda5

Gernot

wodim
Posts: 9
Joined: 13 Feb 2013, 12:56

Re: Installation von SystemRescue auf der Festplatte

Postby wodim » 14 Feb 2013, 12:47

gernot wrote:Laut Doku verwendet jetzt grub z.b. (hd0,5) für /dev/sda5.

Soweit klar. Ich arbeite aber auch mit UUIDs, um unabhängig von der Konfiguration zu sein. Das Problem: Meine "Arbeitspartitions" (OS und Daten) liegen auf einer SATA - Platte, meine Backups auf einer Platte in einem Wechselrahmen (IDE). Für das System kommt aber IDE vor SATA, also ist die Wechselplatte /dev/hda, die Arbeitsplatte /dev/hdb, die Partition darauf mit SystemRescue /dev/hdb3 oder '(hd1,msdos3)'. Wenn die Wechselplatte drinsteckt, sonst /dev/hda3 oder '(hd0,msdos3)'. UUIDs identifizieren die Partitions eben eindeutig.

Also ein Beispiel für die Einträge, wie sie "update-grub2" in meiner grub.cfg erzeugt ("safedefault" habe ich auskommentiert - das einzige, was mit GRUB2 und btrfs noch nicht funktioniert):

Code: Select all

menuentry 'Debian, with Linux 2.6.32-5-686' --class debian --class gnu-linux --class gnu --class os {
   recordfail
#      savedefault
   set gfxpayload=$linux_gfx_mode
   insmod gzio
   insmod part_msdos
   insmod btrfs
   set root='(hd1,msdos2)'
   search --no-floppy --fs-uuid --set=root 7a9f470c-9a65-45a3-9060-bdae16ea64bc
   linux   /boot/vmlinuz-2.6.32-5-686 root=UUID=7a9f470c-9a65-45a3-9060-bdae16ea64bc ro   quiet
   initrd   /boot/initrd.img-2.6.32-5-686
}



gernot wrote:

Code: Select all

menuentry "sysresccd" {
        insmod ext2
        set root='(hd0,5)'

   linux   /vmlinuz  root=/dev/sda5
}

Das Beispiel geht davon aus dass sich der Kernel als vmlinuz im Rootverzeichnis auf (hd0.5) befindet.

Hm, jetzt verwirrst du mich. Der Kernel liegt doch üblicherweise im /boot - Verzeichnis? Auch hier wird empfohlen, den dahin zu kopieren:

http://www.sysresccd.org/Sysresccd-manu ... emRescueCD

Außerdem heißt er hier doch nicht "vmlinuz", sondern "rescuecd"? (Einer der Kernel, ich habe mir außerdem auch "altker32" kopiert.) Nun findet "update-grub2" zwar ein "Gentoo Base System release 2.1 on /dev/sdb3", erzeugt aber keinen Eintrag in der grub.cfg, ich hab' mir also einen zusammengebastelt:

Code: Select all

menuentry "Gentoo Base System release 2.1 (on /dev/sdb3)" --class gnu-linux --class gnu --class os {   
   insmod part_msdos
   insmod ext3
   set root='(hd1,msdos3)'
   search --no-floppy --fs-uuid --set=root 74fe0abe-7940-4aef-886a-35046e4f744e
   linux /boot/altker32 UUID=7a9f470c-9a65-45a3-9060-bdae16ea64bc
}


gernot wrote:e nach Dateisystem kann es noch nötig sein ein Modul zu laden.

Welches?

gernot wrote:Der kernel sucht dann init ...

Und eben das wollen wir doch gerade nicht?

gernot
Posts: 1127
Joined: 07 Apr 2010, 16:19

Re: Installation von SystemRescue auf der Festplatte

Postby gernot » 14 Feb 2013, 15:29

Ich lasse kernel uns System immer zusammen weil dann das updaten leichter ist.

In deinem fall ist es besser den Kernel in das Zentrale /boot zu kopieren.
Eine sinnvoller Booteintag währe wenn sich das zentrale /boot auf
(hd1,msdos2) mit der UUID 7a9f470c-9a65-45a3-9060-bdae16ea64bc befindet
und du dir CD nach /dev/sdb3 ausgepackt hättest.

Code: Select all

menuentry "Gentoo Base System release 2.1 (on /dev/sdb3)" --class gnu-linux --class gnu --class os {   
   insmod gzio
   insmod part_msdos
#Lade das Modul un den Kernel von einem btrfs zu lesen
   insmod btrfs
# die Partition auf der der Kernel sich befindet als default
   set root='(hd1,msdos2)'
# falls eine Partition mit der uuid ... gefunden wird den Kernel davon laden
   search --no-floppy --fs-uuid --set=root 7a9f470c-9a65-45a3-9060-bdae16ea64bc
# /boot/altker32 booten und mitteilen dass er sein root Dateisystem auf /dev/sdb3 findet.
   linux /boot/altker32 root=/dev/sdb3
}

wodim
Posts: 9
Joined: 13 Feb 2013, 12:56

Re: Installation von SystemRescue auf der Festplatte

Postby wodim » 14 Feb 2013, 17:39

gernot wrote:Ich lasse kernel uns System immer zusammen weil dann das updaten leichter ist.

In deinem fall ist es besser den Kernel in das Zentrale /boot zu kopieren.

Hm, was meinst du mit "zentralem" /boot? Ich habe jetzt drei Systeme auf /dev/hdb (Windows auf /dev/hdb1, Debian auf dev/hdb2 und SystemRescue auf /dev/hdb3) - da lasse ich doch mal schön jedem seine(n) Kernel und GRUB gleich den richtigen suchen, meinst du nicht auch?

gernot
Posts: 1127
Joined: 07 Apr 2010, 16:19

Re: Installation von SystemRescue auf der Festplatte

Postby gernot » 14 Feb 2013, 17:52

Ich meine genau das /boot Verzeichnis in dem dein Grub und der Debian-kernel installiert ist.
Jedes system braucht natürlich seinen eigenen Kernel, aber der der Systemecuecd heisst sowiso schon rescue32.

Gernot

wodim
Posts: 9
Joined: 13 Feb 2013, 12:56

Re: Installation von SystemRescue auf der Festplatte

Postby wodim » 14 Feb 2013, 20:26

gernot wrote:Ich meine genau das /boot Verzeichnis in dem dein Grub und der Debian-kernel installiert ist.

Ähm, Grub installiere ich grundsätzlich in den MBR, in /boot stehen nur die Dateien, die er so braucht. :-) Aber wieder im Ernst:

gernot wrote:Jedes system braucht natürlich seinen eigenen Kernel, ...

Eben deshalb verstehe ich nicht, welchen Sinn es machen soll, die Kernel alle in das /boot-Verzeichnis eines Systems zu packen. Oder Grub überhaupt erst in diesem System suchen zu lassen. SystemRescue brauche ich schließlich, wenn ein anderes System sich nicht booten lässt, aus welchem Grund auch immer.

gernot wrote:aber der der Systemecuecd heisst sowieso schon rescue32.

Nun, meine Version ist wohl schon etwas älter (2.8.1), da heißen die "rescuecd" und "altker32". So funzt es jedenfalls noch nicht:

Code: Select all

menuentry "Gentoo Base System release 2.1 (on /dev/sdb3)" --class gnu-linux --class gnu --class os {   
   insmod part_msdos
   insmod ext3
   set root='(hd1,msdos3)'
   search --no-floppy --fs-uuid --set=root 17ee6312-4632-45a6-b68e-772b2304a98b
   linux /boot/altker32 root=UUID=17ee6312-4632-45a6-b68e-772b2304a98b
}


(Das liefert mit blkid):

Code: Select all

/dev/sdb3: LABEL="SysRes" UUID="17ee6312-4632-45a6-b68e-772b2304a98b" SEC_TYPE="ext2" TYPE="ext3"


Beim Booten kommt ganz einfach "Error: file not found", altker32 steht aber im /boot von /dev/sda3. Außerdem hab' ich da unter / noch einen Symlink darauf angelegt, wie ich's mir von meinem "Produktivsystem" abgeguckt habe.

gernot
Posts: 1127
Joined: 07 Apr 2010, 16:19

Re: Installation von SystemRescue auf der Festplatte

Postby gernot » 14 Feb 2013, 21:06

Um ein system zu reparieren bootet man normal nicht von dem System das man reparieren will. Deshalb die Livecd.
Es hat vorteile wenn alle Daten zum booten an einem Ort sind. Ist /boot/grub beschädigt helfen Kernel an anderen Orten auch nichts mehr.

Bist du mit der UUID sicher ?
Machs mal ganz einfach mit den deviceangaben:

Code: Select all

menuentry "Gentoo Base System release 2.1 (on /dev/sdb3)" --class gnu-linux --class gnu --class os {   
   insmod part_msdos
   insmod ext3
   linux (hd1,msdos3)/boot/altker32 root=/dev/sdb3
}


Drück mal im Grub Menü auf "e". Danach kannst du bei linux (hd1,msdos3)/ "TAB" drücken und so die vorhandenen Dateien sehen.
Versuch auch hd0 weil GRUB die devices vieleicht anders mappt als später der Kernel.

Gernot

wodim
Posts: 9
Joined: 13 Feb 2013, 12:56

Re: Installation von SystemRescue auf der Festplatte

Postby wodim » 14 Feb 2013, 23:13

gernot wrote:Um ein system zu reparieren bootet man normal nicht von dem System das man reparieren will. Deshalb die Livecd.
Es hat vorteile wenn alle Daten zum booten an einem Ort sind. Ist /boot/grub beschädigt helfen Kernel an anderen Orten auch nichts mehr.

Ja doch, aber z.B. mein System auf der Wechselplatte schon. :-) /dev/sda1 ist eine quasi 1:1 (dateiweise) von Zeit zu Zeit mit einem btrfs - Snapshot des "Produktivsystems" synchronisierte Partition. (Natürlich bei jeweils nicht aktivem System.) Nur die grub.cfg und die fstab entsprechend modifiziert und Grub halt im MBR von /dev/sda installiert. Mindestens ein bootfähiges System ist also immer da, und alle kann ich mit beiden Grubs booten, nach menschlichem Ermessen, sagen wir mal. :-) Und weil immer wieder noch vor btrfs gewarnt wird, arbeitet mein "Backupsystem" halt noch mit ext4. (btrfs lässt sich im Ernstfall nicht reparieren, sagt man - so lange, wie ich's habe, war das allerdings auch noch nie nötig. Und das nach mehr als einem Absturz.) :-)

gernot wrote:Bist du mit der UUID sicher ?

Ziemlich, du nicht? :-) Hab' sie einfach vom blkid in die grub.cfg. 'reinkopiert. Und meinen "Standardfehler" (erstes oder letztes Zeichen abschneiden) schon lange nicht mehr gemacht. :-)

gernot wrote:Machs mal ganz einfach mit den deviceangaben:

Code: Select all

menuentry "Gentoo Base System release 2.1 (on /dev/sdb3)" --class gnu-linux --class gnu --class os {   
   insmod part_msdos
   insmod ext3
   linux (hd1,msdos3)/boot/altker32 root=/dev/sdb3
}


Drück mal im Grub Menü auf "e". Danach kannst du bei linux (hd1,msdos3)/ "TAB" drücken und so die vorhandenen Dateien sehen.
Versuch auch hd0 weil GRUB die devices vieleicht anders mappt als später der Kernel.

Gernot

Na, schaunmermal. :-)

gernot
Posts: 1127
Joined: 07 Apr 2010, 16:19

Re: Installation von SystemRescue auf der Festplatte

Postby gernot » 15 Feb 2013, 05:19

wodim wrote:Ziemlich, du nicht? :-) Hab' sie einfach vom blkid in die grub.cfg.

Normal müsste es ja gehen...
Die verwendung von UUID hinter dem Kernel als Bootparameter klappt meist nur mit initrd weil die das Rootdevice sucht. Initrd verwendest du ja nicht.

Gernot

wodim
Posts: 9
Joined: 13 Feb 2013, 12:56

Re: Installation von SystemRescue auf der Festplatte

Postby wodim » 17 Feb 2013, 20:50

gernot wrote:Normal müsste es ja gehen...

Meinste. Geht auch, aber dann kannst du auf Kernelpanic warten. Hab' ich jetzt ...zigmal durch.

gernot wrote:Die verwendung von UUID hinter dem Kernel als Bootparameter klappt meist nur mit initrd weil die das Rootdevice sucht.

Nicht nur das, die ermöglicht dem Kernel erst, das Rootsystem zu mounten, sonst geht nichts mehr, wenn die Initscripte abgearbeitet werden sollen - s.o. Hast du das noch nicht gewusst oder wolltest du mich verarschen?

gernot
Posts: 1127
Joined: 07 Apr 2010, 16:19

Re: Installation von SystemRescue auf der Festplatte

Postby gernot » 18 Feb 2013, 05:28

Momentmal, es ist ein unterscheid wie du dem Kernel das Rootdevice übergibst. Als /dev/sdXY geht das schon seit den ersten kerneln.
Als UUID ist das neu und geht meist nur über die Initrd.

Wenn eine Kernel Panik kommt ist der Kernel schon mal geladen und GRUB hat seinen Job getan.
In der Panikmeldung steht auch warum es Kernel panik gibt.
Es kann sein dass du das Rootdevice nicht richtig angegeben hast oder dass der Kernel das Dateisystem nicht versteht.

Von verarschen kann keine Rede sein. Du jammerst "grub findet den Kernel nicht". Ich schreibe was du tun kannst und dass es keine gute Idee ist ohne initrd das Rootdevice per UUID suchen zu lassen. Also eher ein missverständnis oder falsche erwartungen.

Gernot

nickalreadytaken
Posts: 100
Joined: 21 Oct 2010, 12:29

Re: Installation von SystemRescue auf der Festplatte

Postby nickalreadytaken » 18 Feb 2013, 17:46

wodim wrote:
gernot wrote:Normal müsste es ja gehen...

Meinste. Geht auch, aber dann kannst du auf Kernelpanic warten. Hab' ich jetzt ...zigmal durch.

gernot wrote:Die verwendung von UUID hinter dem Kernel als Bootparameter klappt meist nur mit initrd weil die das Rootdevice sucht.

Nicht nur das, die ermöglicht dem Kernel erst, das Rootsystem zu mounten, sonst geht nichts mehr, wenn die Initscripte abgearbeitet werden sollen - s.o. Hast du das noch nicht gewusst oder wolltest du mich verarschen?


Was ist das überhaupt für ein Tonfall? Ohne Worte...


Return to “German topics”

Who is online

Users browsing this forum: No registered users and 1 guest