Grub auf zweiter Festplatte installieren (ubuntu)

Von: , Frage gestellt am Sa, 18. Okt 2008

Moin,

ich habe zwei physische Festplatten (sda und sdb) im PC hängen. Auf der ersten ist XP installiert, auf der zweiten waren bislang nur Backup-Daten, die Linux-Partition war leer.

Darauf habe ich nun das aktuelle Ubuntu 8.04 installiert. Dieses Sch...ding hat nun aber ungefragt auf meiner ersten Festplatte den Bootloader zerschossen, sprich, Grub da draufgelegt.

"Halb so wild", dachte ich, wählte als Default-Eintrag einfach Windows aus und stellte die Wartezeit auf das Minimum - Ubuntu wird nur ab und zu gestartet.

Aber nun habe ich ein Problem: Die zweite Festplatte ist normalerweise ausgeschaltet, wird also wie eine Wechselplatte betrieben. Wenn die nun aus ist, zeigt mir Grub den Stinkefinger und irgendeinen Fehler (35 oderso). Mit anderen Worten: Um Windows hochfahren zu können, muss die zweite Platte vorhanden sein. Im Nachhinein ist mir das auch klar, weil dort die menu.lst oderso liegt. Aber wer denkt sich denn so einen Mist aus ...

Kurze Rede, langer Sinn: Ich habe nun versucht, mittels grub-install /sdb einen eigenen Bootloader auf der zweiten Festplatte zu installieren. Das scheint im Prinzip auch erfolgt zu sein, denn nun erkennt das BIOS diese Platte auch als bootfähig, aber wenn ich von dort zu booten versuche, passiert das gleiche oder was ähnliches wie beim Starten von der ersten Platte ohne die zweite. Also gar nichts.

Nun hatte ich überlegt, die erste Festplatte abzuziehen und den Bootloader dann noch einmal komplett zu installieren. Aber dann heißt die zweite Platte vermutlich plötzlich sda, und wenn die erste dann wieder mit rein kommt, klappt bestimmt wieder nichts.

Frage also: Wie bekomme ich auf die zweite Platte einen eigenständigen Bootloader, und wie bekomme ich den Grub von der ersten wieder runter in einer Weise, dass der normale XP-Bootloader dort wieder erscheint?

Danke vorab für Hinweise,
Kristian

15 Antworten zu dieser Frage

  1. Antwort von nach 37 Minuten 0 hilfreich
    Re: Grub auf zweiter Festplatte installieren (ubun

    den Stinkefinger und irgendeinen Fehler (35 oderso).
    Geht das genauer? Die Gabe der Hellsicht ist mir nicht geschenkt. Wenn es daran liegt, daß der GRUB die Partitionen auf denen die Kernelimages liegen nicht findet (ist geraten) könnte eine boot Partition weiterhelfen.

    • Antwort von nach 2 Stunden 0 hilfreich
      Re^2: Grub auf zweiter Festplatte installieren (ub

      den Stinkefinger und irgendeinen Fehler (35 oderso).
      Geht das genauer? Die Gabe der Hellsicht ist mir nicht geschenkt.
      Nicht? Hm. Na dann ... ;-) Also ich halte das nicht für so relevant, daher hatte ich mich nicht bemüht, das noch rauszufinden. Außer einer Nummer käme da ohnehin nichts weiter. Aber ich guck nochmal nach beim nächsten (Fehl)Start. Wenn es daran liegt, daß der GRUB die Partitionen
      auf denen die Kernelimages liegen nicht findet (ist geraten)
      Das ist ja vermutlich genau das, was ich beschrieben hatte. Der Bootloader selbst befindet sich auf /sda, der ganze "Rest" offenbar auf /sdb. Was auch immer dieser Rest sein mag - vermutlich sind es auch die Images, ja. Von denen hatte ich auch im man-File gelesen, konnte aber nicht so viel mit anfangen und wollte mir nicht noch mehr zerballern ;) könnte eine boot Partition weiterhelfen.
      Hm. Das kann ich jetzt nicht kommentieren. Wie gesagt: Der Plan ist ganz einfach: Der PC soll, wenn er von der zweiten physischen Platte bootet, Ubuntu starten und das auch dann, wenn die erste Platte, die dann aus der Sicht von Linux /sda heißt, vorhanden ist. Diese erste Platte hat Linux aber ansonsten nicht zu interessieren ;)

      • Antwort von nach 2 Stunden 0 hilfreich
        Nicht 35, sondern 21.

        GRUB Loading stage1.5.
        GRUB loading, please wait...
        Error 21
        _


        Eventuelle Antworten bitte auf den anderen Thread, nicht hier. Danke.

  2. Antwort von nach 2 Stunden 0 hilfreich
    Re: Grub auf zweiter Festplatte installieren (ubun

    Starte Windows oder eine Windows CD und geb in der Eingabeaufforderung/Rettungskonsole

    fixmbr

    ein, das sollte den Win-Bootloader wieder herstellen.
    Vorher, kannst du Ubuntu starten, öffnest eine Konsole und gibst

    sudo grub

    ein.
    Dann musst du erstmal GRUB sagen, auf welcher Partition Ubuntu zu finden ist. Dabei bennent GRUB die Festplatten etwas merkwürdig.

    (hd1,4)

    Die erste Zahl gibt die Platte an und fängt dabei bei 0 an zu zählen (hd0) ist also primary-master, (hd1) ist primary-slave, ...
    Die zweite Zahl gibt die Partitionnummer an, auch hier fängt er bei 0 an zu zählen.
    (hd0,0) ist die erste Partition der ersten Platte
    (hd0,4) ist die fünfte Partition der ersten Platte
    (hd1,0) ist die erste Partition der der zweiten Platte
    (hd1,3) ist die vierte Partition der zweiten Platte.

    Prinzip verstanden? Wenn nicht frag noch mal nach, ansonsten musst du ihm jetzt deine Ubuntu Partition nennen, ist Ubuntu auf der 7 Partition der zweiten Platte installiert, gibst du folgendes ein:

    root (hd1,6)

    (hd1,6) musst du dann halt ersetzten.
    Danach musst du ihm sagen, wohin er GRUB installieren soll, das ist ja der springende Punkt:

    setup (hd1)

    Damit installiert er GRUB in die MBR der zweiten Festplatte.

    Soweit so gut. Ich schätze dann solltest du in der Lage sein, Ubuntu zu starten, in dem du die zweite Platte anschließt und im BIOS in der Bootreihenfolge die zweite Platte wählst.
    Ich hab das noch nie selber gemacht, es könnte sein, dass durch das Ändern der Bootreihenfolge auch die Plattenreihenfolge in GRUB geändert wird. Also eventuell sind für ihn dann die Platten vertauscht und er findet Ubuntu wieder nicht. Wenn dem so ist, reicht es vielleicht die Datei /boot/grub/device.map anzupassen (da steht welche Platte welche GRUB-Bezeichnung hat).

    Es gibt aber zwei Alternativen. Entweder du legst dir auf der ersten Platte eine kleine Partition (ca 500MB), dort wird dann GRUB mit allen wichtigen Daten installiert oder du installierst GRUB auf eine Diskette (oder auch USB-Stick, falls dein BIOS von USB booten kann).

    Solange du eine LiveCD wie die von Ubuntu hast, ist nichts verloren, da kannst du immer bisschen rumspielen (wenn es um GRUB geht).

    Gruß

    • Antwort von nach 3 Stunden 0 hilfreich
      Das probier ich aus ...

      fixmbr
      Das vermutete ich auch. Allerdings wollte ich natürlich erst die Ubuntu-Geschichte klären. Und vor allem: Ich habe bestimmt 2 Jahre lang immer von Diskette booten müssen, weil es mir bei meinem alten Rechner nicht mehr gelungen war, den Bootloader auf der Festplatte wieder hinzubekommen (mit allen möglichen Tools), nachdem eine damals Ubuntu-7-Installation ein ähnliches Chaos veranstaltet hatte. Daher bin ich etwas übervorsichtig diesmal. Zumal das Mainboard das Floppy nicht erkennt ... ;) sudo grub
      root (hd1,6)
      setup (hd1)
      Aha. Das ist genau das, was ich brauche, glaube ich. Das Prinzip mit den Partitionen-Namen undso ist mir geläufig, ich hatte aber zur Sicherheit nochmal in der menu.lst nachgeschaut. Mich wundert ein bisschen, dass der grub "hd" statt "sd" verwendet, aber das soll mir wurscht sein ;)

      Ich habe den Kram mal eingegeben, und er scheint auch einiges gemacht zu haben. Mal gucken, was jetzt beim Neustart passiert ;) Solange du eine LiveCD wie die von Ubuntu hast, ist nichts
      verloren, da kannst du immer bisschen rumspielen (wenn es um
      GRUB geht).
      Jupp, das stimmt. Zumal ich ohnehin erstmal nur die Basis-Installation drauf habe und noch keine großartigen Daten unter Linux entstanden sind.

      Danke für die ausführliche Antwort! Ich bin da mal zuversichtlich. Sollte ich mich in den nächsten Wochen nicht mehr melden, hat's aber vermutlich nicht geklappt ... ;)

      KRistian

      • Antwort von nach 3 Stunden 0 hilfreich
        Re: Fast, aber nicht ganz ...

        Ich habe den Kram mal eingegeben, und er scheint auch einiges
        gemacht zu haben. Mal gucken, was jetzt beim Neustart passiert ;)
        Hm. Es passiert folgendes:

        Error 17: Cannot mount selected partition
        Error 13: Invalid or unsupported executable format


        Ersteres kommt beim Versuch, Ubunto zu starten, letzteres bei XP. Nach Key Press geht´s immer wieder zurück zur Liste. Diese ist übrigens identisch mit der vorherigen (also beim Booten von Platte 1). Im Prinzip ist das ja auch richtig, weil sich an den Installationen nichts verändert hat. Allerdings nehme ich an, dass es trotzdem noch die alte ist (dasselbe menu.lst) und die Namen irgendwie nicht mehr hinhauen - möglicherweise genau so, wie Du es gesagt hast: hd1 und hd2 sind nun vielleicht vertauscht.

        Ich habe eben XP hochgefahren und weiß daher nicht, ob das Ubuntu-Booten von der ersten Platte aus noch klappt. Ich nehme aber an, dass es geht. Sollte ich nichts gegenteiliges schreiben, ist es so.

        Hm. Also mit dem Booten von Platte 2 bin ich ein Stück weiter, aber noch nicht weit genug ;)

        • Antwort von nach 3 Stunden 1 hilfreich
          Re^2: Fast, aber nicht ganz ...

          Schließ mal die zweite Platte an und starte den Rechner.
          Wenn GRUB erscheint drückst du ESC und danach 'c' um in die GRUB-Konsole zu kommen.
          Gib da mal folgendes ein:

          find /boot/grub/stage2

          Was gibt er dir da aus?
          Das ist dann nämlich deine Ubuntu Platte.
          wahrscheinlich steht dann dann eben
          (hd0,x)

          Dann, währe die Reihenfolge umgedreht.
          Dann müsstest du die menu.lst dem entsprechend anpassen.
          Für Linux selbst, dürfte das keine Auswirkungen haben.

          Gruß

          • Antwort von nach 3 Stunden 0 hilfreich
            Re^3: Fast, aber nicht ganz ...

            find /boot/grub/stage2
            Das werde ich mal probieren. Wenn ich in diese Konsole reinkommt, heißt das ;) Ansonsten lege ich mir einfach mal eine Kopie von der menu.lst in das Verzeichnis, in der ich alle Bezeichnungen ausgetauscht habe und probiere es ohne die von Dir angeregte vorherige Prüfung.

            Ehm ... ich sehe gerade, dass in /boot/grub auch noch eine device.map liegt, die genau die von mir vermisste Zuordnung vornimmt:

            (hd0)   /dev/sda
            (hd1)   /dev/sdb


            Die ist auch noch unverändert. Was passiert denn, wenn ich die menu.lst "umdrehe" und die device.map nicht? Oder umgekehrt?

            Ich lasse das erstmal und versuche doch erst, in die Konsole zu gucken ;)

            • Antwort von nach 17 Stunden 0 hilfreich
              Re^4: Fast, aber nicht ganz ...

              Die ist auch noch unverändert. Was passiert denn, wenn ich die
              menu.lst "umdrehe" und die device.map nicht? Oder umgekehrt?
              Wenn du beides änderst, ist es doppelt gemoppelt und hast die gleiche Situation wie jetzt.
              Allerdings weiß ich nicht genau, ob die device.map nur eine Infodatei ist oder tatsächlich die Zuordnung festlegt. Ich würde sagen probiers aus. Veränder die device.map, wenns klappt ist es gut. Wenn das nicht klappt, dann änder die menu.lst ab.

              Gruß



Keine passende Antwort gefunden? Jetzt eigene Frage stellen!