• Liebe User, bitte beachtet folgendes Thema: Was im Forum passiert, bleibt im Forum! Danke!
  • Hallo Gemeinde! Das Problem leidet zurzeit unter technischen Problemen. Wir sind da dran, aber das Zeitkontingent ist begrenzt. In der Zwischenzeit dürfte den meisten aufgefallen sein, dass das Erstellen von Posts funktioniert, auch wenn das Forum erstmal eine Fehlermeldung wirft. Um unseren Löschaufwand zu minimieren, bitten wir euch darum, nicht mehrmals auf 'Post Reply' zu klicken, da das zur Mehrfachposts führt. Grußworte.

Windows XP Boot Partition überschrieben

Mitglied seit
10.08.2000
Beiträge
12.908
Reaktionen
1
Ich habe meine komplette Platte formatiert und dann Windows XP installiert. Dabei habe ich folgendermaßen partitioniert:
1. 32 MB FAT
2. 256 MB unformat
3. 10 GB NTFS
4. 10 GB unformat
5. Rest FAT32

Bei der Installation wurde ich dummerweise nicht nach primär / logisch gefragt, WinXP hat automatisch nur die erste Partition als primäre angelegt und alle anderen in ein logisches Laufwerk gesteckt.

Dann habe ich Linux installiert, Partition 2 wurde LinuxSwap und Partition 3 hat jetzt Raiser4 mit Linux drauf.
In die Bootpartition wurde der Grub-Loader geschrieben, der Linux problemlos startet.

Dummerweise hat Windows sich selbst eben in eine logische Partition gesteckt und die Partition1 selbst schon als Bootpartition genutzt, d.h. darauf lagen ntldr, io.sys, msdos.sys und die anderen WinXP-bootfiles.
Diese wurden beim aufspielen von Grub gelöscht.

Grub selbst versucht nun (wenn ich XP starte), den Bootvorgang an die Windows-Partition zu übergeben, was aber nicht klappt da die eigentliche WinXP Bootpartition ja gelöscht wurde.

Langer Text, kurze Frage:
Wie schaffe ich es, dass die WinXP-Partition selbst bootfähig wird (d.h. dass Grub das bootflag an die WinXP Partition übergibt und sie dann selbstständig weiterbootet ohne hängenzubleiben)? Ich habe schon die ganzen Dateien (ntldr, io.sys etc) ins root-Verzeichniss der XP Platte kopiert aber das reicht offensichtlich nicht.
Recovery Disc und "fixboot" brachte auch keine Besserung. "fixmbr" habe ich noch nicht ausgeführt, das würde mir ja den Grub zerschießen, den ich behalten will.

thx schonmal


edit: jetzt sieht meine partitionierung folgendermaßen aus (nochmal für die übersicht):

1. 32 MB FAT (Grub Bootloader, früher einmal WinXP Boot-Partition)
2. 256 MB Linux Swap
3. 10 GB WinXP NTFS
4. 10 GB Linux Raiser4
5. Rest Daten Fat32
 

bog

Mitglied seit
02.08.2002
Beiträge
10.121
Reaktionen
0
Ort
auf dem mutterschiff
poste mal deine grub config
normal reicht es wenn du als root(?)-partition fuer windows in der config (hd0,2) angibst (in der konstellation).
hat die partition die bootable-flag (fdisk && "p")?
ansonsten hilft es mit der reparierkonsole von xp vielleicht wenn du als parameter fuer fixboot und fixmbr den devicebuchstaben angibst, also fixboot c: && fixmbr c:, dann ist zwar grub weg, aber den buegelst du einfach per chroot und grub wieder rein. sollte laufen so.
fuer weiteres halt grub.conf pls :-p
 
Mitglied seit
10.08.2000
Beiträge
12.908
Reaktionen
1
default 0
timeout 5
splashimage=(hd0,0)/grub/splash.xpm.gz

title=Gentoo Linux 2.6
root (hd0,0)
kernel /vmlinuz root=/dev/hda7 video=vesafb:1024x768

title=Windows XP
rootnoverify (hd0,5)
chainloader +1


wie gesagt alles außer der bootpartition sitzt im logischen laufwerk, nur die 32 mb partition ist primär
könnte das probleme mit dem chainload ergeben?
 

bog

Mitglied seit
02.08.2002
Beiträge
10.121
Reaktionen
0
Ort
auf dem mutterschiff
scheinbar ist dir die syntax noch nich so transparent, das hat bei mir auch laenger gedauert.

1. 32 MB FAT (Grub Bootloader, früher einmal WinXP Boot-Partition) -> hd0,0
2. 256 MB Linux Swap -> hd0,1
3. 10 GB WinXP NTFS -> hd0,2
4. 10 GB Linux Raiser4 -> hd0,3
5. Rest Daten Fat32 -> hd0,4
grub macht (anders als devfs oder udev) bei den hd-angaben keinen unterschied ob es eine primaere oder logische partition ist, das zaehlt einfach so rauf. folglich ist deine 10gb winxp ntfs partition hd0,2 und nicht ,5.

sollte zumindest :ugly:. versuchs einfach mal so.

edit: gut, moeglicherweise irre ich mich auch wieder und ich habs immernoch nicht gerallt, aber versuch waers wert.

edit2: setz ein makeactive in den winxp teil (eigene zeile)
 
Mitglied seit
10.08.2000
Beiträge
12.908
Reaktionen
1
Original geschrieben von bog
scheinbar ist dir die syntax noch nich so transparent, das hat bei mir auch laenger gedauert.

grub macht (anders als devfs oder udev) bei den hd-angaben keinen unterschied ob es eine primaere oder logische partition ist, das zaehlt einfach so rauf. folglich ist deine 10gb winxp ntfs partition hd0,2 und nicht ,5.

sollte zumindest :ugly:. versuchs einfach mal so.

edit: gut, moeglicherweise irre ich mich auch wieder und ich habs immernoch nicht gerallt, aber versuch waers wert.

edit2: setz ein makeactive in den winxp teil (eigene zeile)

hab vor 5 minuten die grub.conf von nem kumpel bekommen der hat ein makeactive drin, das hat aber bei mir nicht geklappt (invalid blah)
kann man eine partition im logischen laufwerk überhaupt aktiv setzen?
ich werd mal makeactive und hd0,2 probieren, die kombi hatte ich bis jetzt noch nicht (nur hd0,2 alleine klappt nicht)
hab aber momentan nicht viel hoffnung dass es daran liegt, vermute eher dass die windows partition noch nicht ganz bootfähig ist (die übergabe von grub mit chainloader an die win partition scheint zu funktionieren, er hängt sich erst auf nachdem er das chainload command ausführt)

achja hab das mit hd0,2 ausprobiert (bis jetzt ohne makeactive), statt sich einfach nur aufzuhängen hängt er sich jetzt auf und piepst dabei laut

edit:

so, jetzt hab ich alle kombinationen (hd0,2 und 0,5 je mit und ohne makeactive) durchprobiert
mit makeactive sagt er jedesmal invalid device und lässt mich nach der fehlermeldung zurück ins bootmenü
ohne stürzt er ab und muss hart neu gestartet werden


evtl lösungsmöglichkeiten:
partition magic laden und windows partition primär machen
problem dabei: linux swap liegt davor im logischen laufwerd, müsste die dann auch primär machen und das wird mein linux system mit der hda numerierung durcheinanderwerfen, keine ahnung was das für folgen hätte

partition magic laden und hoffen dass ich die winxp partition irgendwie bootable bekomme

fixmbr ausprobieren
problem dabei: mit etwas pech kriege ich dann weder linux noch windows gebootet und alleine kann ich grub nicht neu aufsetzen, d.h. mein rechner wäre komplett tot, das kann ich nicht riskieren (brauche unterlagen für ein seminar die muss ich dieses wochenende lesen)


also ich gehe mal davon aus dass grub den bootvorgang korrekt übergibt (bis zum chainload kann ja nicht viel schiefgehen)
es muss also schon an der winxp partition liegen, die ja ursprünglich nie bootfähig war aber jetzt auf einmal booten soll
also: wie mache ich eine nicht bootfähige partition mit xp-daten drauf auf einmal bootfähig? da muss es doch irgendwas geben (wie gesagt recovery cd und fixboot klappt nicht)
 

bog

Mitglied seit
02.08.2002
Beiträge
10.121
Reaktionen
0
Ort
auf dem mutterschiff
Code:
fdisk -l
bitte


fixmbr ausprobieren
problem dabei: mit etwas pech kriege ich dann weder linux noch windows gebootet und alleine kann ich grub nicht neu aufsetzen, d.h. mein rechner wäre komplett tot, das kann ich nicht riskieren (brauche unterlagen für ein seminar die muss ich dieses wochenende lesen)
wenn du nicht von der platte booten kannst, dann bootest du einfach von der gentoo-cd, mountest dein root-laufwerk in einen ordner und dann die boot-partition in den x/boot ordner. dann wechselst du per
Code:
$ chroot /mnt/gentooroot /bin/bash
in deine umgebung, gehst ins /boot verzeichnis (innerhalb deiner chroot umgebung heisst das dann so) und schiebst damit einfach grub wieder in den mbr.

ich wuerde auf jeden fall die fixboot/fixmbr loesung mit angabe des laufwerksbuchstabens probieren, schaden kann es mit dieser recovery-methode im prinzip nicht.
also ich gehe mal davon aus dass grub den bootvorgang korrekt übergibt (bis zum chainload kann ja nicht viel schiefgehen)
es muss also schon an der winxp partition liegen, die ja ursprünglich nie bootfähig war aber jetzt auf einmal booten soll
also: wie mache ich eine nicht bootfähige partition mit xp-daten drauf auf einmal bootfähig? da muss es doch irgendwas geben (wie gesagt recovery cd und fixboot klappt nicht)
wie gesagt solltest du (spaetestens mit fdisk) der ntfs-win10gb-partition eine bootable-flag geben.
wie das geht ist im ansatz hier beschrieben.
Sie müssen diese Partition bootbar machen. Drücken Sie a um das bootable Flag auf dieser Partition zu aktivieren und wählen Sie 1. Wenn Sie wiederum p drücken, werden Sie feststellen, dass in der "Boot" Spalte ein * platziert ist.
sofern es dann noch nicht geht habe ich auch keine ahnung
 
Mitglied seit
10.08.2000
Beiträge
12.908
Reaktionen
1
Disk /dev/hda: 40.0 GB, 40007761920 bytes
255 heads, 63 sectors/track, 4864 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System
/dev/hda1 1 4 32098+ 83 Linux
/dev/hda2 5 4863 39029917+ f W95 Ext'd (LBA)
/dev/hda5 5 37 265041 82 Linux swap / Solaris
/dev/hda6 * 38 1312 10241406 7 HPFS/NTFS
/dev/hda7 1313 2587 10241406 83 Linux
/dev/hda8 2588 4863 18281938+ b W95 FAT32

noch ne sache: wie zählt windows in der boot.ini die partitionen?
also dieser teil:
[operating systems]
multi(0)disk(0)rdisk(0)partition(X)\WINDOWS="Microsoft Windows XP Professional" /noexecute=optin /fastdetect

Hab momentan X = 6 da stehen
 

bog

Mitglied seit
02.08.2002
Beiträge
10.121
Reaktionen
0
Ort
auf dem mutterschiff
bloedes langsames editieren immer

die boot.ini scheint in ordnung zu sein, bloss wird wohl halt noch nicht auf sie zugegriffen.

die bootable flag hast du, dann geh zum win-gefrickel ueber. fixboot x: (wie auch immer er die ntfs platte nennt) + fixmbr, dann chroot+grub reinfrickeln

achso mir ist gerade ein workaround eingefallen:
du machst per fixmbr den windows bootmanager/-sektor in den mbr, wenn der dann gescheit bootet erstellst du dir (per cdboot/chroot/dd) ein image des sektors, kopierst es irgendwohin wo windows darauf zugreifen kannst und ersetzt dann den windows-booteintrag in der grub.conf durch etwas in der form von
Code:
rootnoverify (hd0,5)/winboot.bin
. das MUSS funktionieren :-)

befehl fuer dd duerfte sein:
Code:
# dd if=/dev/hda of=winboot.bin bs=512 count=1
 
Mitglied seit
10.08.2000
Beiträge
12.908
Reaktionen
1
problem: hab keine gentoo cd hier von der ich booten könnte
fixboot meldet erfolg beim korrigieren von c (das ist die korrekte platte wenn das recovery tool gestartet ist) aber es hilft trotzdem nichts, windows startet nicht

ich such gleich mal nen gentoo cd image und dann teste ich das mit mbr neu schreiben, bin gespannt ob es hilft ;) dauert halt noch etwas bis ich das image runterladen und brennen kann
danke für das grub howto ;)

fixmbr erstellt aber keine neue xp bootpartition, d.h. die ganzen dateien (io.sys, ntldr etc) die auf der 32 mb boot platte waren werden davon nicht wiederhergestellt, oder? ich kann mir nicht wirklich vorstellen dass das hilft, der windows loader muss ja nicht in der mbr sondern nur in den boot record der partition ...
 
Mitglied seit
10.08.2000
Beiträge
12.908
Reaktionen
1
hm noch ne kleine frage für die ich keinen neuen thread aufmachen will:

linux wurde im studentenwohnheim installiert, da konnten alle pakete ausm lan gezogen werden
hier muss ich die pakete zum emergen jetzt aus dem inet ziehen, emerge hat aber noch den wohnheimserver eingestellt und kann dementsprechend keine neuen pakete laden
wo stell ich das um, so dass emerge auch hier pakete DLn kann?

die manpage hilft mir grad garnicht weiter ... (bin noch ziemlicher linux noob)
 

bog

Mitglied seit
02.08.2002
Beiträge
10.121
Reaktionen
0
Ort
auf dem mutterschiff
/etc/make.conf
da duerfte es eine gentoo_mirror variable geben, wenn nicht siehe gentoo installationshandbuch. da steht irgendwo zu anfang eines der ersten kapitel, wie man sich mit mirrorselect einen mirror beschafft. ab und zu gibt es hundslahme dabei, wuerde also bisschen rumexperimentieren.
 
Mitglied seit
10.08.2000
Beiträge
12.908
Reaktionen
1
danke das hat geklappt ;)

hier mein plan (kann das funktionieren?)

ich ziehe mit
dd if=/dev/hda of=./mbr bs=512 count=1
und
dd if=/dev/hda1 of=./boot
ein image vom mbr und von der bootpartition und lege sie auf meine fat32 datenplatte

dann nutze ich meine winxp cd, kicke die bootpartition, lege sie neu an und installiere winxp neu
mit etwas glück kann ich die installation abbrechen nachdem er ein neues winxp bootimage angelegt hat und behalte so meine alte winxp installation, klappt das nicht installier ich es halt neu (hab sowieso nicht soo viel an software darauf da ich erst vor ein paar tagen formatiert hab)

dann wird von einer linux boot cd (is ja eigentlich sogar egal was für eine, hauptsache dd klappt) gebootet
mounte die datenplatte
dd if=/dev/hda1 of=./xpboot.bin
dd if=./boot of=/dev/hda1
dd if=./mbr of=/dev/hda bs=512 count=1
passt das so mit den parametern bei dd? brauche ich beim 2ten das bs und count überhaupt?

dann hab ich wieder meinen alten grub loader und den alten mbr drauf, d.h. der linux boot klappt wieder und ich hab das image der windows bootpartition um mit diesem dann im grub windows booten zu können

möglich?
 

bog

Mitglied seit
02.08.2002
Beiträge
10.121
Reaktionen
0
Ort
auf dem mutterschiff
zu der windows-geschichte:

das mit dem neuinstallieren klingt alles ein bisschen verkompliziert, man kann in windowsxp ueber eine vorhandene installation drueberinstallieren indem man einfach den alten pfad angibt, da geht in der regel nichts verloren (dennoch backup eigene dateien uswusf!).
beim zweiten dd wuerde ich noch count und bs-parameter anhaengen, bs=512 sorgt dafuer dass nur 512 byte kopiert werden, count=1 dafuer dass genau ein sektor kopiert wird, wenn du das zweite so ausfuehrst schreibt dd eine ./boot-datei, die so gross ist wie die gesamte hda1 partition :ugly:.
selbiges gilt fuer das dritte dd, beim kopieren einer datei auf den geraetezeiger brauchst du die groessenangaben jedoch nicht, das holt er sich direkt von der file. folglich kannst du bs und count vom fuenften dd streichen.
danach, oder sogar davor musst du halt noch den eintrag in grub fuer den windowsboot auf die datei "winboot" auf besagter fat32 partition setzen. im prinzip musst du auch gar kein image des linux-bootmanagers machen, sondern kannst einfach per chroot sobald du windows installiert hast und das korrekt bootet die vorhandene grubconfig updaten und grub wieder in den mbr installieren. ein backup per dd ist zwar immer gut, aber in der herangehensweise so direkt ein wenig unpraktisch. hier gilt: neu reinfriemeln > alte sachen draufkleistern.
worauf es ankommt ist nur, dass du eine kopie des funktionierenden windows-bootloaders (ntbootirgendwas) hast, auf die du in deiner grub.conf verweist. dann klappt es auch mit dem booten.
das laeuft dann aber auch so, auf die weise hab ichs auch mal laufen gehabt, als das booten auf winxp stress gemacht hat (bloss weniger kompliziert, fixmbr/-boot haben ihren dienst zufriedenstellend erledigt).

und immer daran erinnern: wenn nix mehr bootet einfach chrooten und grubben wie wild.
 
Mitglied seit
10.08.2000
Beiträge
12.908
Reaktionen
1
nochmal danke ;)
hda1 ist nur 32 mb groß also macht das nichts wenn er ein image der ganzen platte anlegt

mir fehlt jetzt nurnoch eine cd mit der ich sicher in die kommandozeile booten kann um das dd-zeugs auszuführen, die livecd krieg ich hier grad nicht gebacken (der will komisches kernel config zeug) und im internet find ich nur installations-images (€: hab von so einem mal probiert zu booten ohne zu installieren aber das gab nur murks, und 10 verschiedene images ausprobieren is auch doof muss nämlich hier gerade cds von meienm vater verbrennen)

hast du zufällig ne url für nen kleines linux auf cd dass mir in die kommandozeile bootet und von da aus hda8 mounten und den dd kram ausführen kann?
(die ursprüngliche livecd von der aus gentoo installiert wurde liegt bei nem kumpel in dessen studienwohnung, da komm ich erst in ein paar tagen wieder ran)

€2: ich zieh mir nun mal die gentoo install cd evtl klappts damit ;) falls nein sagt mir bitte nen image, ich verschwende ungern so viele rohlinge
 

bog

Mitglied seit
02.08.2002
Beiträge
10.121
Reaktionen
0
Ort
auf dem mutterschiff
hast du mal die install-cd ausprobiert? oder meinst du das mit livecd? das teil jedenfalls ist knappe 60mb gross. abgesehen davon lohnt sich eine gentoo universal-cd immer doppelt und dreifach, verschwendung ist das einfach nicht :-P.
ansonsten faellt mir kein noch kleineres linux ein, das auch chroot und eine adaequate hardwareerkennung liefert, sorry.

achja, und wie du 32mb nachher in den boot record kriegst will ich sehen :D
alternativ koenntest du natuerlich einfach die ganze partition backuppen und wieder ueberschreiben per dd.. hinne wie vorne.
 
Mitglied seit
10.08.2000
Beiträge
12.908
Reaktionen
1
das mit ganze partition backuppen mein ich doch, bietet sich bei so ner kleinen bootpartition ja an
 
Mitglied seit
10.08.2000
Beiträge
12.908
Reaktionen
1
so ich hab jetzt winxp neu installiert und jetzt hier images sowohl vom linux und windows mbr als auch von der windows und linux version der hda liegen
mit der gentoo cd kann ich die per dd hin und herschieben und alles klappt prima ;)
jetzt muss ich grub nurnoch so konfigurieren, dass er den bootvorgang an das image übergibt, dass ich von hda1 gemacht habe

das müsste mit dem befehl
rootnoverify (hd0,5)/winboot.bin
gehen

stimmt das so? muss da noch sowas wie makeactive oder chainload dazu?
die winboot.bin muss dann im root-verzeichniss von hd0,5 liegen damit er sie findet, oder?
 

bog

Mitglied seit
02.08.2002
Beiträge
10.121
Reaktionen
0
Ort
auf dem mutterschiff
nope - der bootmanager den windows bei seiner installation anlegt, befindet sich im MBR - somit musst du ein image von /dev/hda machen und nicht dem bootrecord in hda1. der rest stimmt so. das makeactive und chainload habe ich drin, und das steht auch so im gentoo manual, habe noch nicht versucht ohne zu booten, aber rein theoretisch sollte das was du hast ausreichen.
wenn es nicht klappt hast du immernoch die allmaechtige gentoo cd um es nachzuschieben :c.
winboot.bin muss ins rootverzeichnis von hd0,5 jo
 
Mitglied seit
10.08.2000
Beiträge
12.908
Reaktionen
1
dann hab ich jetzt ein problem

windows installiert ja seine boot-dateien auf die bootpartition, die sind einige hundert kb groß
wenn ich gentoo installiere können die logischerweise nicht auf der bootpartition bleiben, d.h. ich muss sie irgendwo anders unterbringen
deshalb auch das 32 mb image von der bootpartition

den mbr anhängen is fein aber das wird nix helfen wenn die daten auf der bootpartition nicht vorhanden sind

d.h. ich muss, wenn ich den windows mbr anhänge, trotzdem noch irgendwie die dateien aus dem 32 mb image zur verfügung stellen
ne idee wie?
ich werd nun mal testen sie einfach ins root dir von hd0,5 zu kopieren, evtl reicht das schon
 
Mitglied seit
10.08.2000
Beiträge
12.908
Reaktionen
1
hab alle möglichen versionen mit der winmbr.bin als anhängsel in der grub.conf getestet, nichts geht
so mir reichts jetzt
partition magic killt mir jetzt meine windows partition, danach verschiebe ich das logische laufwerk und erstelle eine neue, primäre windows partition in die ich es frisch installieren werde
von da aus kann ich ja problemlos mit grub booten
windows im logischen laufwerk war ne kack idee

das müsste auf jeden fall klappen und ich krieg das wohl hin ;) danke für die ganze hilfe bog, schade dass es letztendlich nicht geklappt hat :(

eine letzte frage noch danach kann der thread wohl hoffentlich mal zu ;) :

wenn ich windows als primäre rausnehme dann bleibt die swap auf hda5 (erste im logischen laufwerk) aber die linux-platte wandert von hda7 auf hda6 (3te auf 2te position im logischen laufwerk)
kann das irgendwelche probleme machen? klar den verweis in der grub.conf muss ich anpassen - reicht das? oder is mehr zu konfigurieren damit mir danach linux nicht nichtmehr bootet?
wenn ich schon dabei bin könnte ich auch gleich die swap auf 512 mb vergrößern oder?
 
Oben