Dualboot oBSD und Win7

overflow

OpenBSD Enthusiast
Hallo liebe Foren-Freunde,

seit knapp 6 Stunden bin ich mit der Installation von oBSD und Win7 beschäftigt.
Beim booten von win7 erhalte ich immer die Meldung "Fehler bei der Startauswahl" und solle doch bitte die Windowsinstallation reparieren.

Anscheinend funktioniert der bootmgr nicht richtig.

Ich hoffe, dass ihr mir helfen könnt.

Ich bin wie folgt vorgeganngen.

- openBSD Partition erstellt/reserviert
- rest für Windows genutzt und installiert
- openBSD installiert
- grub installiert
- /grub/menu.lst engelegt
Code:
default 0 timeout 5

title Windows XP
root (hd0,1)
chainloader +1

title OpenBSD
root (hd0,0)
chainloader +1

- /usr/local/sbin/grub-install --no-floppy hd0 ausgeführt

Vielen Dank,
wünsche ein erholsames Wochenende
 
Also ich habe das einfacher gemacht:

Windows 7 installiert
OpenBSD isntalliert, den OpenBSD-Loader auf die OpenBSD Partition installiert und dann lt. OpenBSD FAQ den Windows-7-Boot-loader modifiziert um OpenBSD zu starten.

Soweit ich mich erinnere, hatte ich immer massive Probleme wenn Windows 7 nicht zuerst installiert war.
 
@darktrym: Danke hilft dennoch nicht...

Kurz hier paar Details:
fdisk sd0:
Partition 0: openbsd
Partition 1: windows system die zwingend mitangelegt wird
Partition 2: windows 7 Partition
Partition 3: frei

Bootflag ist auf Partition 1 (Windows System Partition) gesetzt.


cat /grub/device.map
(hd0) /dev/rsd0c

Was ich mich jetzt frage spreche ich die Windows Systempartition oder die eigentlich Windowspartition an ?
Habe beides (hd0,1) und (hd0,2) ausprobiert.

@CommanderZed: Schaue mir mal die FAQ gleich an, würde aber lieber das Problem so lösen...
 
Hallo !


Vielleicht hilft dass hier :

menu.lst :

title Windows 7
root (hd1,0)
map (0x81) (0x80)
map (0x80) (0x81)
makeactive
chainloader +1

So startet Linux meine Win7 Installation !

Gruss
 
@darktrym: Danke hilft dennoch nicht...

Kurz hier paar Details:
fdisk sd0:
Partition 0: openbsd
Partition 1: windows system die zwingend mitangelegt wird
Partition 2: windows 7 Partition
Partition 3: frei

Bootflag ist auf Partition 1 (Windows System Partition) gesetzt.


...snip...

Etwas OT, bringe es aber trotzdem an dieser Stelle. Da es viele Leute ärgert, hier ein Kommentar zu Deiner Bemerkung, dass Windows7 bei der Installation zwingend eine "System"-Partition mit anlegt. Dass ist nur bedingt richtig und kann z.B. folgendermaßen umgangen werden:

Die Platte vor Installation von Win7 mit einem Partitionierer (z.B. gparted) in vier (gerne auch primäre) Partitionen aufteilen. Dabei (in Deinem Fall) nur die zweite Partition NTFS formatieren. Wahrscheinlich kann dieser Schritt sogar entfallen. Wichtig ist jedoch, dass kein freier Platz mehr zur Verfügung steht, den Windows sich zusätzlich greifen kann.

Danach Windows installieren, jedoch zu Beginn die Platte nicht neu von Windows einteilen lassen. Statt dessen in den Windows Partitionierer wechseln und der Installationsroutine lediglich erlauben, die zweite Partition zu verwenden. Bei Bedarf kann diese auch gerne noch einmal aus der Installationsroutine heraus formatiert werden. Habe auf diese Art etliche Dual-Boot-Systeme eingerichtet, in denen Windows nur exakt eine Partition verbrät. Die dritte und vierte Partition können nach Abschluß der Windows Installation natürlich auch NTFS formatiert werden ...

Hoffe, dass dies bei der nächsten Installation nützlich ist. Spart auf jeden Fall einen Partitionseintrag ;-)
 
Zu diesem Thema gibt es sowohl hier im Forum als auch im Forum unter FreeBSD.org eine ausführliche Anleitung mit EasyBCD. Ich bitte um Nutzung der Suchfunktion.
Desweiteren besteht das allgemeine Problem darin, dass oBSD bestimmt wie FreeBSD auch die aktive Windows - Partition während der Installation deaktiviert. Dies muss händisch korrigiert werden.
Allgemein wird gemunkelt, dass Microsoft seit Windows Vista eine Prüfsumme von der Partitionstabelle erstellt und bei Veränderung dieser Prüfsumme z.T. nicht mehr startet. Deshalb ist es günstig das BSD auf eine eigene Festplatte zu installieren.
 
Zu diesem Thema gibt es sowohl hier im Forum als auch im Forum unter FreeBSD.org eine ausführliche Anleitung mit EasyBCD. Ich bitte um Nutzung der Suchfunktion.
Desweiteren besteht das allgemeine Problem darin, dass oBSD bestimmt wie FreeBSD auch die aktive Windows - Partition während der Installation deaktiviert. Dies muss händisch korrigiert werden.
Allgemein wird gemunkelt, dass Microsoft seit Windows Vista eine Prüfsumme von der Partitionstabelle erstellt und bei Veränderung dieser Prüfsumme z.T. nicht mehr startet. Deshalb ist es günstig das BSD auf eine eigene Festplatte zu installieren.

Nein, das ist falsch - OpenBSD fragt natürlich wohin der Boatloader installiert werden soll und setzt nicht auf aktiv/inaktiv solange man es nicht selbst macht.

OpenBSD + Windows 7 /XP mit dem Windows-eigenen Boot-loader ist so ziemlich das unkompliziertes, auch bei updates / neuinstallationen, was man sich vorstellen kann.

/edit
Ich persöhnlich neige allerdings dazu einfach einen 2. Rechner zu nehmen - aber das kommt natürlich auch stark auf den Einsatzzweck an ;)
 
Sorry für die späte Rückmeldung.
Viel Arbeit wenig Zeit :)

Vorab möchte ich mich für die zahlreichen Beiträge bedanken!

Ich habe etliches versucht.
Leider bisher ohne Erfolg und kann mir leider nicht erklären woran es liegt.
Da ich sowieso eine kleine 120 GB SSD Platte habe,
ist es nicht so tragik eine weitere Platte für oBSD zu besorgen.

Einsatzzweck ist nur zum Spielen von Diablo 3.
Kein surfen ! kein arbeiten ! Netzwerkverkehr nach außen komplett gesperrt,
sowie jegliche Ports. Nur Diablo 3 benötigte Einstellungen werden zugelassen.

Eine Virtualisierung kommt leider wg. der minimalen VGA Unterstützung nicht in Frage.

Ich hätte gern dennoch gewusst, was ich falsch gemacht habe...
 
hi!

also, weil ich mich jetzt auch die letzten zwei tage mit dual-boot rumgeaergert habe... ich habs hingekriegt ;)
ERSTMAL: du musst bei openbsd darauf achten, dass die datei /boot irgendwo weit vorne auf der platte liegt. frag mich jetzt nicht wo genau.
aber wenn du mit windows die partitionen solange vergroesserst, verkleinerst und verschiebst, kannst du dir ganz vorne eine 1gb partition bauen, das reicht.
diese partition wird dann dein /, alles andere kannst du auf partitionen kloppen wie du lustig bist.

du legst dir also UNTER WINDOWS (datentraegerverwaltung) eine raw, eine ntfs, eine raw-partition an.

probier aus ob der danach noch bootet.



DANN, das geheimnis meines erfolges:
nach dem booten vom installer habe ich (s)hell und dann
Code:
% dd if=/dev/sd0c of=/tmp/backup.img bs=512 count=1
gemacht. dieses backup.img habe ich dann weggesichert. OBERWICHTIG!

dann kam
Code:
% fdisk -e /dev/rsd0c

und die beiden raw-partitionen auf cylindergrenzen ab- bzw. aufgerundet. und die typen auf A6 geaendert. NICHT den typen der ntfs-partition!

danach machst du ein
Code:
% dd if=/dev/sd0c of=/tmp/openbsdmbr.img bs=512 count=1
bevor du irgendwas anderes machst guckst du ob dein rechner noch in das betriebssystem mit dem virenscanner bootet.
wenn nicht, einfach wieder openbsd booten, den mbr zurueckspielen
Code:
% dd if=backup.img of=/dev/sd0c UND FRAGST DICH WAS HAST DU FALSCH GEMACHT?


wenn alles geklappt hat: wieder das offene bsd booten, und ganz normal installieren. nur dass / halt auf der vorderen partition liegen muss.
der sollte dann direkt nach openbsd rein booten.


ich habe dann einfach den windows-bootloader benutzt.
dazu musst du erstmal wieder den master boot sektor kopieren
Code:
% dd if=/dev/rsd0c of=openbsd.bin bs=512 count=1
openbsd.bin kopierst du dir wieder sonstwohin.

und den alten openbsd-mbr wieder zurueckspielen.
Code:
% dd if=openbsdmbr.img of=/dev/sd0c
wenn du jetzt bootest kommt wieder windows. aber die partitionstabelle ist die mit openbsd.

unter windows musst du das opensbd.bin jetzt nach c:\ legen. geht nur als admin.
und dann benutzt du das kranke bcdedit um den bootloader zu confen:
Code:
C:\> dir \openbsd.bin
C:\> bcdedit /create /d "OpenBSD" /application BOOTSECTOR
diese ellenlange zahl die rauskommt ist die {ID}. keine ahnung warum die progger bei winzigweich nicht einfach was kuerzeres genommen haben. aber egal.
Code:
C:\> bcdedit /set {ID} device partition=C:
C:\> bcdedit /set {ID} path \openbsd.bin
C:\> bcdedit /displayorder {ID} /addlast
C:\> bcdedit /timeout 10

beim naechsten mal booten hast du dann einen auswahlscreen mit windows 7 und openbsd.und ersteres zickt dann auch nicht rum.
einfach, wa?!

und @lixos: easybcd kostet unnoetiges geld.
 
Zuletzt bearbeitet:
Also ich hab mir das irgendwie sehr viel einfacher gemacht, Dettus - k.A. ob das "falsch" war.

Also zuersteinmal die /boot Partition innerhalb der xyz-grenze ist ein eine sehr alte Geschichte, die auf modernen Desktop-Systemen (sagen wir mal um sicherzugehen mit Rechnern ab 2004) nicht mehr auftauchen sollte. Ich denke unter gaaanz selten merkwürdigen umständen könnte das noch immer auftauchen, aber bei meinem Windows 7 / OpenBSD dualboot-System z.B: auf meinem T60 mit 500GB Platte liegt OpenBSD in den letzten 80GB - ohne irgendwelche Probleme - das gleiche hatte ich vor Jahren schon auf anderen Systemen ohne Probleme.
/edit
(Kleine Anmerkung: Ein Rechner auf dem D3 läuft sollte mit einiger Sicherheit in diese Kategorie fallen *gg*)
((Edit kleine Anmerkung 2: Ich habe das mit AHCI gemacht bei dem T60 - AHCI sollte heutzutage glaub ich generell verwendet werden))

Insgesamt bin ich eigentlich nur Schritt-für-Schritt nach http://www.openbsd.org/faq/faq4.html#Multibooting und dann den entsprechenden Abschnitt je nach Windows-Partition vorgegangen.

1. Windows installieren, genug Platz für OpenBSD am Ende lassen, noch keine weiteren Partitionen erstellen (und bei der Plattenaufteilung platz für eine Primäre Partition lassen - maximal sind insgesamt 4 erlaubt!)

2. OpenBSD-Installation starten, mit FDISK eine weitere partition für OpenBSD erstellen und mit dem Disklabel dann ganz nach wunsch aufteilen. Die Windows-Partition sollte weiterhin als "aktiv" makiert bleiben.

3. OpenBSD wie gewohnt installieren, dabei dadrauf achten den boot-loader nich auf die ganze Festplatte sondern nur auf die OpenBSD-Partition zu schreiben

4. Den dd if=/dev/rsd0a of=openbsd.pbr bs=512 count=1 lt. Anleitung ausführen und die dabei erstellte datei irgendwo ablegen so das windows rankommt. (Der befehl stimmt so nicht und muss auf den meisten Systemen angepasst werden, das ist lt. Anleitung aber so gewollt!)

5. Die in der FAQ unter Windows-7 empfohlenen Schritte durchführen.

Die Methode ist eigentlich relativ Narrensicher und erfordert kein derart komplexes Partitionslayout wie z.B. bei Dettus.
Sollte irgendetwas schiefgehen kann man z.B. OpenBSD auch mal "zwischendrinn" booten in dem man die OpenBSD partition unter Windows auf aktiv setzt, genauso auch umgekehrt.
Sollte irgendetwas schiefgehen kann mithilfe der Windows7-boot-cd relativ problemlos der mbr e.t.c. wiederhergestellt.

Bei updates brauchst du dann später nur dadrauf achten das du nicht ausversehen irgendetwas an den Windows-Partitionen änderst.
 
Zuletzt bearbeitet:
die kranke bootpartition (RICHTIG krank wenn du mich fragst ;) ) habe ich vorgeschlagen weil der bootloader beim installieren halt doch gemeckert hatte.
und das bloedsinnige partions-gebastel habe ich gemacht weil der windows-bootloader sonst nciht mitspielen wollte.
 
Ich werde ein wenig mit meiner neuen 2. Platte herum experimentieren.

Vielen Dank für die zahlreiche/freundliche Beteiligung.
 
hab mich vorletzt auch mal mit so bootloader problemen rumgeärgert...als (zwischen)lösung hilft dir villeicht GAG
http://gag.sourceforge.net/

hatte mit grub legacy ähnliche geschichten...mit grub2 ist das problem weg und hab gerade auf der maschine geschaut mein eintrag sort sieht so aus

menuentry "OpenBSD" {
set root=(hd0,1)
chainloader +1
}
 
Zuletzt bearbeitet:
Zurück
Oben