ubuntuusers.de

Dualboot-Installation mit Windows 7 (GRUB-Problem)

Status: Gelöst | Ubuntu-Version: Ubuntu 10.04 (Lucid Lynx)
Antworten |

angrykiwi

Avatar von angrykiwi

Anmeldungsdatum:
3. September 2008

Beiträge: 19

Hi allesamt,

bestimmt ist das Thema schon 100.000 mal durchgekaut worden, aber irgendwie krieg ich mit ubuntu 10.04 nicht das zu Wege, was ich bisher mit allen ubuntu's gemacht hab: eine Installation neben meiner Windowspartition.

Also im Detail.

Partitionierung

/dev/sda1  DELL Utility-Partition (fat32)
/dev/sda2  Windows 7 Partition (ntfs)
/dev/sda3  Erw. Partition
/dev/sda5  ubuntu root (ext4)
/dev/sda6  swap

Windows 7 war schon installiert und muss bleiben, ebenso muss der Windows Bootloader genutzt werden.

Habe mit die Installations-CD (alternative, 64-bit) gebrannt und von dieser installiert. Verlief alles "scheinbar" ohne Probleme. Als Installationsziel von GRUB2 habe ich die root-Partition (also /dev/sda5) angegeben. Den Bootsector habe ich dann mittels

1
sudo dd if=/dev/sda5 of=/media/64A234B4/ubuntu.boot bs=512 count=11

auf einem USB-Stick abgelegt. Diese Datei dann im BCdEdit von Windows 7 hinterlegen wäre keine Problem, ABER die Datei enthält nur Nullen. Es sieht so aus, als ob GRUB2 gar nicht richtig installiert wäre, sich zumindest nicht in den Bootsektor von /dev/sda5 eingetragen hat.

Bei all den vorherigen ubuntus (8.04 / 9.10) hat dieses Verfahren (z.T. noch mit Windows XP) problemlos geklappt und wird hier ja auch im Wiki beschrieben.

Die Frage ist eigentlich: wie komm ich an die passende Bootsektor-Datei, bzw. wie kann ich mein installiertes ubuntu jetzt booten um Ihm den GRUB (oder auch GRUB2) ggf. nachzuinstallieren?

Grüße angry.kiwi

Moderiert von tempuser:

Thema verschoben! Bitte beachte die als Wichtig markierten Themen ("Welche Themen gehören hier her und welche nicht?"). Danke!

DrScott Team-Icon

Ehemalige
Avatar von DrScott

Anmeldungsdatum:
7. Juli 2005

Beiträge: 6018

Wohnort: Nürnberg

angrykiwi schrieb:

1
sudo dd if=/dev/sda5 of=/media/64A234B4/ubuntu.boot bs=512 count=11

Du meintest wahrscheinlich

sudo dd if=/dev/sda5 of=/media/64A234B4/ubuntu.boot bs=512 count=1

. Aber selbst wenn nicht, wäre es wohl nicht die Ursache an dem Problem.

Hast Du den USB-Stick nach dem dd-Befehl "sicher entfernt"? Das könnte sonst schon der Grund sein, weshalb die Datei "leer" war.

Um jetzt noch was zu retten, brauchst Du auf jeden Fall den Umweg über die LiveCD. Damit kannst Du z.b. in einem ersten Schritt mit

sudo dd if=/dev/sda5 bs=512 count=1 | hd

nochmals den aktuellen Inhalt des Bootsektors prüfen.

Ansonsten mußt du dich an die Beschreibung im Artikel Grub 2/Reparatur halten.

angrykiwi

(Themenstarter)
Avatar von angrykiwi

Anmeldungsdatum:
3. September 2008

Beiträge: 19

Hi,

sicher, hab natürlich den Befehl

sudo dd if=/dev/sda5 of=/media/64A234B4/ubuntu.boot bs=512 count=1

ausgeführt. Da war wohl beim Posting die 1 etwas übereifrig und wurde zur 11. Aber wie Du auch schon sagst, dass war nicht das Problem. Ja, auch den Stick habe ich korrekt ungemountet. Habe mittlerweile ubuntu nochmals installiert (man hat ja Zeit 😀 ), diesmal von der frisch heruntergeladenen LiveCD - mit dem gleichen Resultat. Auch das Prüfen des Bootsektors brachte nur Nullen zum Vorschein.

Grüße angry.kiwi

mario2010

Anmeldungsdatum:
1. August 2010

Beiträge: 17

Wohnort: Innsbruck

dass du grub versehentlich auf /dev/sda und nicht auf /dev/sda5 installiert hast, könnte nicht sein?

syscon-hh

Anmeldungsdatum:
8. Oktober 2005

Beiträge: 10220

Statt der Experimente via dd etc. ist für die Nutzung des Win7-Bootloaders dieses hier für dich relevant:

Wichtig bei der Auswahl in easyBCD ist die Option: nicht im MBR (ansonsten ausprobieren, kann jederzeit regulär über die Systemsteuerung wieder deinstalliert werden).

gruß syscon-hh

angrykiwi

(Themenstarter)
Avatar von angrykiwi

Anmeldungsdatum:
3. September 2008

Beiträge: 19

mario2010 schrieb:

dass du grub versehentlich auf /dev/sda und nicht auf /dev/sda5 installiert hast, könnte nicht sein?

Eher weniger, denn der Win7 Bootloader ist noch unverändert da und bootet Windows. Es sei denn die ubuntu-Entwickler wollen mich austricksen und GRUB2 sieht jetzt genau wie der Win7 Bootlaoder aus ☺

DrScott Team-Icon

Ehemalige
Avatar von DrScott

Anmeldungsdatum:
7. Juli 2005

Beiträge: 6018

Wohnort: Nürnberg

Was liefert der Befehl

sudo fdisk -l 2>/dev/null | egrep "Disk /|/dev/" | sed "s#^/dev/#Part /dev/#" | awk '{print $2}' | sed 's/://' | xargs -n1 -IX sudo sh -c "hexdump -v -s 0x80 -n  2 -e '2/1 \"%x\" \"\\n\"' X | xargs -n1 -IY sh -c \"case  \"Y\" in '48b4') echo X: GRUB 2 v1.96 ;; 'aa75' | '5272') echo X: GRUB Legacy ;; '7c3c') echo X: GRUB 2 v1.97 oder höher ;; *) echo X: Kein GRUB Y ;; esac\""

angrykiwi

(Themenstarter)
Avatar von angrykiwi

Anmeldungsdatum:
3. September 2008

Beiträge: 19

DrScott schrieb:

Was liefert der Befehl

sudo fdisk -l 2>/dev/null | egrep "Disk /|/dev/" | sed "s#^/dev/#Part /dev/#" | awk '{print $2}' | sed 's/://' | xargs -n1 -IX sudo sh -c "hexdump -v -s 0x80 -n  2 -e '2/1 \"%x\" \"\\n\"' X | xargs -n1 -IY sh -c \"case  \"Y\" in '48b4') echo X: GRUB 2 v1.96 ;; 'aa75' | '5272') echo X: GRUB Legacy ;; '7c3c') echo X: GRUB 2 v1.97 oder höher ;; *) echo X: Kein GRUB Y ;; esac\""

Hi DrScott,

der Befehl liefert genau das, was ich befürchtet habe:

1
2
3
4
5
6
/dev/sda: Kein GRUB 9f83
/dev/sda1: Kein GRUB b60
/dev/sda2: Kein GRUB 55aa
/dev/sda3: Kein GRUB 00
/dev/sda5: Kein GRUB 00
/dev/sda6: Kein GRUB 00

kein GRUB da... ☹

angrykiwi

(Themenstarter)
Avatar von angrykiwi

Anmeldungsdatum:
3. September 2008

Beiträge: 19

Hi nochmal,

die Sache mit der Anleitung "GRUB 2/Reparatur" aus dem WIKI habe ich auch noch versucht, allerdings auch erfolglos. Der grub-install liefert nur:

1
2
3
/usr/sbin/grub-setup: warn: Es wird versucht, GRUB in eine Partition anstatt in den MBR zu installieren. Das ist eine SCHLECHTE Idee..
/usr/sbin/grub-setup: warn: Einbettung ist nicht möglich. GRUB kann in dieser Konfiguration nur mittels Blocklisten installiert werden. Blocklisten sind allerdings UNZUVERLÄSSIG und deren Verwendung wird daher nicht empfohlen..
/usr/sbin/grub-setup: error: Benutzen Sie --force, wenn Sie wirklich Blocklisten verwenden möchten..

Und wenn ich --force anfüge (wie geraten) kommt zwar die Meldung:

1
2
3
/usr/sbin/grub-setup: warn: Es wird versucht, GRUB in eine Partition anstatt in den MBR zu installieren. Das ist eine SCHLECHTE Idee..
/usr/sbin/grub-setup: warn: Einbettung ist nicht möglich. GRUB kann in dieser Konfiguration nur mittels Blocklisten installiert werden. Blocklisten sind allerdings UNZUVERLÄSSIG und deren Verwendung wird daher nicht empfohlen..
Installation finished. No error report

Aber installiert wurde immer noch nix. Die Sache mit easyBCD hat nicht funktioniert, schließlich habe ich ja keine Probleme den Bootsektor in eine Datei zu quetschen, sondern das Problem besteht darin, dass ich keinen "brauchbaren" Bootsektor habe und aus 512 Nullen kann selbst easyBCD nicht booten 😀

Grüße angry.kiwi

syscon-hh

Anmeldungsdatum:
8. Oktober 2005

Beiträge: 10220

Dann versuche doch bitte, das mit Grub Legacy zu realisieren, der zickt nicht, wenn man diesen Bootloader in eine bestimmte Partition bringen will. Die Anleitung dazu findet man hier. Solange Du die Boot-Partition nicht in ein LVM bzw. RAID legen willst, ist das eine gangbare Alternative.

gruß syscon-hh

DrScott Team-Icon

Ehemalige
Avatar von DrScott

Anmeldungsdatum:
7. Juli 2005

Beiträge: 6018

Wohnort: Nürnberg

angrykiwi schrieb:

Aber installiert wurde immer noch nix.

Kannst Du hier bitte mal den Befehl zeigen, denn Du versucht hast? In meiner Testinstallation erhalte ich die Warnung auch, aber mit Angabe von "--force" läßt er die Installation in eine Partition dann zu...

angrykiwi

(Themenstarter)
Avatar von angrykiwi

Anmeldungsdatum:
3. September 2008

Beiträge: 19

Klar doch, hier also einmal mit --force:

sudo grub-install --force --root-directory=/mnt /dev/sda5 

Hab /dev/sda5 nach /mnt gemountet, so wie's in der Anleitung stand.

Als Ergebnis gibt's dann (stand schon Posting vom 11.08.2010, 07:06 Uhr)

1
2
3
/usr/sbin/grub-setup: warn: Es wird versucht, GRUB in eine Partition anstatt in den MBR zu installieren. Das ist eine SCHLECHTE Idee..
/usr/sbin/grub-setup: warn: Einbettung ist nicht möglich. GRUB kann in dieser Konfiguration nur mittels Blocklisten installiert werden. Blocklisten sind allerdings UNZUVERLÄSSIG und deren Verwendung wird daher nicht empfohlen..
Installation finished. No error report

Da hab ich mich ja schon gefreut, weil es offensichtlich geklappt hat. Aber zu früh gefreut, der Bootsector war noch immer eine Null-Nummer ☹

Grüße angry.kwii

DrScott Team-Icon

Ehemalige
Avatar von DrScott

Anmeldungsdatum:
7. Juli 2005

Beiträge: 6018

Wohnort: Nürnberg

Versuche doch bitte mal

sudo grub-setup --force /dev/sda5

Wenn das auch nich hilft, dann bitte mal

dd if=/dev/zero of=testplatte bs=512 count=2
sudo grub-setup --force testplatte

Anschließend dann mal untersuchen, ob "testplatte" nicht mehr nur Nullen enthält.

angrykiwi

(Themenstarter)
Avatar von angrykiwi

Anmeldungsdatum:
3. September 2008

Beiträge: 19

Unheimliche Dinge geschehen... 😮

Habe aus purem Frust (und wohl auch zum Testen) eine alte openSUSE 11.0 installiert - und es funktioniert! Kann den Bootsektor per dd auslesen und via Win7 Bootloader starten. Einziger Unterschied: openSUSE hat die Partitionen etwas verdreht, swap wurde um 1 GB größter (keine Ahnung warum openSUSE das so will), die root-Partition entsprechend kleiner.

Nein, openSUSE ist keine Alternative für mich. Ich werde jetzt einfach mal in die vorhandenne Partitionen (nur mit formatieren) ubuntu reininstallieren, vielleicht war an der Partitionierung irgendwas verbogen (und der ubuntu-Installer hat das nicht gefixed bekommen).

@DrScott:

sudo grub-setup --force /dev/sda5

meldet, dass ihm ein Parameter fehlt.

Und zum Nulltest: Die Datei "testplatte" enthält auch weiterhin nur Nullen

Grüße angry.kiwi

DrScott Team-Icon

Ehemalige
Avatar von DrScott

Anmeldungsdatum:
7. Juli 2005

Beiträge: 6018

Wohnort: Nürnberg

angrykiwi schrieb:

sudo grub-setup --force /dev/sda5

meldet, dass ihm ein Parameter fehlt.

Seltsam. Das ist hier in einer virtuellen Maschine kein Problem. Ich kann mir jetzt nur vorstellen, dass es daran liegt, dass Du von CD bootest. Werde ich mal testen...

Und zum Nulltest: Die Datei "testplatte" enthält auch weiterhin nur Nullen

Die Kommandos waren ja

dd if=/dev/zero of=testplatte bs=512 count=2
sudo grub-setup --force testplatte

Kommt hier beim grub-setup keine Fehlermeldung?

EDIT:
Meine Test mit einer LiveCD (Ubuntu 10.04):

sudo grub-setup --force /dev/sda1

stürzt mit einem "Segmentation fault" ab.

sudo grub-install --force --root-directory=/mnt /dev/sda1

klappt aber tadellos. (Auch ein Test mit sda5, um logische Partitionen zu testen)

Antworten |