Newubunti
Anmeldungsdatum: 16. Februar 2008
Beiträge: 5149
|
Ich bin etwas verwirrt, was nun die nächsten Schritte sind.
Auf alle Fälle erst mal die Sektoren-Sicherung.
die Win7-Befehle (aber damit ändere ich doch den MBR, oder?)
Nein. Diese Befehle haben auf den MBR keinen Einfluss. Sie ändern den Windows 7 Bootmanager bzw. der erste Befehl erstellt diesen neu, der zweite listet dann die erstellten Einträge. Im schlimmsten Fall würde danach Windows 7 nicht mehr starten, was aber eher unwahrscheinlich ist und sich von einer Windows 7 DVD mittels bootrec /fixboot wieder beheben ließe. Außerdem hast Du vom MBR ja bereist eine aktuelle Sicherung (mbr.bin). Aber trotzdem erst mal die Sicherung der Sektoren der erweiterten Partition, das ist nämlich das Komplizierteste. Gruß,
Martin
|
megspunky
Anmeldungsdatum: 18. Juni 2009
Beiträge: 247
Wohnort: Kaufbeuren
|
Ich hätte an eurer Stelle alle Partitionen gelöscht und alles neu Installiert. Geht schneller und kostet weniger Nerven.
|
tempe222
(Themenstarter)
Anmeldungsdatum: 23. Februar 2012
Beiträge: 52
|
Hallo Martin, hier sind die Kopien der Bootsektoren, aber das Problem, dass der zweite Sektor der erweiterten Partition eine Kopie vom MBR ist, besteht auch bei der Durchführung von der Live-CD:
file ebr1-128135168.bin | sed 's/partition/\n&/g'
ebr1-128135168.bin: x86 boot sector;
partition 1: ID=0x7, active, starthead 32, startsector 2048, 204800 sectors;
partition 2: ID=0x7, starthead 223, startsector 206848, 98628907 sectors;
partition 3: ID=0xf, starthead 254, startsector 98836478, 482152450 sectors;
partition 4: ID=0x7, starthead 254, startsector 580988928, 44152832 sectors, code offset 0x63 Daher die Ausgabe:
sudo dd if=/dev/sda count=1 skip=128135168 | hexdump -v
0000000 0000 0000 0000 0000 0000 0000 0000 0000
0000010 0000 0000 0000 0000 0000 0000 0000 0000
0000020 0000 0000 0000 0000 0000 0000 0000 0000
0000030 0000 0000 0000 0000 0000 0000 0000 0000
0000040 0000 0000 0000 0000 0000 0000 0000 0000
0000050 0000 0000 0000 0000 0000 0000 0000 0000
0000060 0000 0000 0000 0000 0000 0000 0000 0000
0000070 0000 0000 0000 0000 0000 0000 0000 0000
0000080 0000 0000 0000 0000 0000 0000 0000 0000
0000090 0000 0000 0000 0000 0000 0000 0000 0000
00000a0 0000 0000 0000 0000 0000 0000 0000 0000
00000b0 0000 0000 0000 0000 0000 0000 0000 0000
00000c0 0000 0000 0000 0000 0000 0000 0000 0000
00000d0 0000 0000 0000 0000 0000 0000 0000 0000
00000e0 0000 0000 0000 0000 0000 0000 0000 0000
00000f0 0000 0000 0000 0000 0000 0000 0000 0000
0000100 0000 0000 0000 0000 0000 0000 0000 0000
0000110 0000 0000 0000 0000 0000 0000 0000 0000
0000120 0000 0000 0000 0000 0000 0000 0000 0000
0000130 0000 0000 0000 0000 0000 0000 0000 0000
0000140 0000 0000 0000 0000 0000 0000 0000 0000
0000150 0000 0000 0000 0000 0000 0000 0000 0000
0000160 0000 0000 0000 0000 0000 0000 0000 0000
0000170 0000 0000 0000 0000 0000 0000 0000 0000
0000180 0000 0000 0000 0000 0000 0000 0000 0000
0000190 0000 0000 0000 0000 0000 0000 0000 0000
00001a0 0000 0000 0000 0000 0000 0000 0000 0000
00001b0 0000 0000 0000 0000 0000 0000 0000 fe00
00001c0 ffff fe07 ffff 0800 0000 f800 19eb fe00
00001d0 ffff fe05 ffff 1002 1bab 035b 0095 0000
00001e0 0000 0000 0000 0000 0000 0000 0000 0000
00001f0 0000 0000 0000 0000 0000 0000 0000 aa55
1+0 records in
1+0 records out
512 bytes (512 B) copied, 0,00167263 s, 306 kB/s
0000200 Ich habe noch einen Screenshot von GParted angehängt, vielleicht hilft er ja.
- br-sda1.bin (512 Bytes)
- Download br-sda1.bin
- br-sda2.bin (512 Bytes)
- Download br-sda2.bin
- br-sda4.bin (512 Bytes)
- Download br-sda4.bin
- ebr0-98836478.bin (512 Bytes)
- Download ebr0-98836478.bin
- ebr1-128135168.bin (512 Bytes)
- Download ebr1-128135168.bin
- mbr.bin (512 Bytes)
- Download mbr.bin
- Bilder
|
tempe222
(Themenstarter)
Anmeldungsdatum: 23. Februar 2012
Beiträge: 52
|
und unter Win7 sagt er zu bootrec /rebuildbcd
"Der Befehl 'bootrec' ist entweder falsch geschrieben oder konnte nicht gefunden werden." Ich habe den Screenshot von bcdedit_enum trotzdem mal angehängt. Edit: ich kann bootrec von der win7 CD ausführen, aber dann kann ich die Ergebnisse nicht Posten...
- Bilder
|
Newubunti
Anmeldungsdatum: 16. Februar 2008
Beiträge: 5149
|
Ok, ich habe in der Eile eine Angabe bei meiner Anweisung vergessen 😳 , was mir erst jetzt auffällt - und zwar bei Schritt 5:
Jetzt kommt eine Transferaufgabe. 😀 Wie ich Dir ja schon oben geschildert hatte sind die Partitionstabellen-Einträge in der erweiterten Partition bezüglich der Startsektoren relativ zum Anfang der Partition, d.h. also zu dem ermittelten markierten Sektorwert addierst Du in Deinem Fall 98836478, also 464193577+98836478=563030055. Der so errechnete Startsektor (563030055) ist nun der absolute Sektor der Festplatte auf dem der nächste EBR liegt. Diesen Sektor musst Du nun wiederum sichern, also nach meinem Beispiel hier wäre das:
sudo dd if=/dev/sda of=ebr1-563030055.bin count=1 Da fehlt natürlich das skip=errechneter Wert also in meinem Beispiel skip=563030055 , also der vollständige Befehl: sudo dd if=/dev/sda of=ebr1-563030055.bin skip=563030055 count=1 D.h. dann für Deinen ebr1: sudo dd if=/dev/sda of=ebr1-128135168.bin skip=128135168 count=1 Der Rest stimmt dann wieder und dann klappt auch sicher das mit file... . Sorry! tempe222 schrieb: Edit: ich kann bootrec von der win7 CD ausführen, aber dann kann ich die Ergebnisse nicht Posten...
Ist denn nach dem bootrec /rebuildbcd ein Unterschied bei bcdedit /enum gegenüber dem Screenshot? Steht da ein weiterer Windows-Eintrag, oder ist das mehr oder weniger gleich? Gruß,
Martin
|
tempe222
(Themenstarter)
Anmeldungsdatum: 23. Februar 2012
Beiträge: 52
|
Hallo,
nach dem bootrec /rebuildbcd
habe es aus der Recovery-CD ausgeführt und bekam die Meldung "0 Windows-Partitionen". Komisch, denn ich kann ja Win7 booten.
ein Unterschied bei bcdedit /enum
Habe den Screenshot angehängt. Ich konnte keinen Unterschied entdecken.
- Bilder
|
tempe222
(Themenstarter)
Anmeldungsdatum: 23. Februar 2012
Beiträge: 52
|
... und die Sektoren von der Linux Live CD:
file ebr1-128135168.bin | sed 's/partition/\n&/g'
ebr1-128135168.bin: x86 boot sector;
partition 1: ID=0x7, starthead 254, startsector 2048, 434894848 sectors;
partition 2: ID=0x5, starthead 254, startsector 464195586, 9765723 sectors, extended
partition table, code offset 0x0 und weiter: 98836478+464195586 = 563032064
file ebr2-563032064.bin | sed 's/partition/\n&/g'
ebr2-563032064.bin: x86 boot sector;
partition 1: ID=0x7, starthead 254, startsector 2048, 8187904 sectors;
partition 2: ID=0x5, starthead 254, startsector 472386727, 434896896 sectors, extended
partition table, code offset 0x0 98836478+472386727 = 571223205
file ebr3-571223205.bin | sed 's/partition/\n&/g'
ebr3-571223205.bin: x86 boot sector;
partition 1: ID=0x82, starthead 254, startsector 859, 9764864 sectors, code offset 0x52, OEM-ID "NTFS ", sectors/cluster 8, reserved sectors 0, Media descriptor 0xf8, heads 255, hidden sectors 2048, dos < 4.0 BootSector (0x80) und die Sektoren wieder angehängt. Habe ich alles richtig gemacht? LG Sebastian
- ebr1-128135168.bin (512 Bytes)
- Download ebr1-128135168.bin
- ebr2-563032064.bin (512 Bytes)
- Download ebr2-563032064.bin
- ebr3-571223205.bin (512 Bytes)
- Download ebr3-571223205.bin
|
Newubunti
Anmeldungsdatum: 16. Februar 2008
Beiträge: 5149
|
Hallo Sebastian,
Habe ich alles richtig gemacht?
Ich hoffe, diese Frage kannst Du Dir mittlerweile wenigstens halbwegs selbst beantworten. Wie man sieht ergibt die Kette einen Sinn und stimmt mit den Angaben Deiner aktuellen fdisk -Ausgabe überein: Probe sda5:
98836478 + 2 = 98836480 = Start + 29298688 -1 = 128135167 = Ende -> Probe stimmt Probe sda6:
98836478 + 29298690 + 2048 = 128137216 = Start + 434894848 -1 = 563032063 = Ende -> Probe stimmt Probe sda7:
98836478 + 464195586 + 2048 = 563034112 = Start + 8187904 -1 = 571222015 = Ende -> Probe stimmt Probe sd8:
98836478 + 472386727 + 859 = 571224064 = Start + 9764864 -1 = 580988927 = Ende -> Probe stimmt Ich hoffe, Dir ist dabei aufgefallen, dass dieser Verkettungsmechanismus komplizierter ist, als die Einträge der Primär-Partitionen im MBR. Deswegen sind Partitionsänderungen innerhalb der erweiterten Partition sensibel und gehen recht häufig schief. Dann kannst Du Windows 7 starten, klickst auf "Start" und drückst SHIFT+STRG+ENTER, um eine Administrator-Eingabeaufforderung zu starten dort gibst Du der Reihe nach ein: bcdedit /export C:\bcd.bak bcdedit -create {ntldr} -d "Windows XP" bcdedit -set {ntldr} device partition=C: bcdedit -set {ntldr} path \ntldr bcdedit -displayorder {ntldr} -addlast Nach einem Neustart solltest Du nun, Windows XP im Startmenü von 7 drin haben. Erst mal wieder sehen, ob das soweit funktioniert. Gruß,
Martin
|
tempe222
(Themenstarter)
Anmeldungsdatum: 23. Februar 2012
Beiträge: 52
|
Hallo Martin,
dass dieser Verkettungsmechanismus komplizierter ist,
ja, das ist mir klar geworden. Ist schon deutlich komplexer als ich dachte. Ich bin erstmal froh, dass die Startsektoren soweit korrekt sind. Mit den Windows-Befehlen hat alles gut geklappt, ich habe Win XP im Boot-Menü von Win7 als zweiten Eintrag. 👍 Danke dir! Viele Grüße, Sebastian
|
Newubunti
Anmeldungsdatum: 16. Februar 2008
Beiträge: 5149
|
tempe222 schrieb: Ist schon deutlich komplexer als ich dachte.
Das was wir hier jetzt zusammen so zusagen zu Fuß erledigt haben, hätte auch testdisk für Dich erledigen können. Das kannst Du dann das nächste mal - was es hoffentlich bei Dir nicht geben wird - verwenden und kennst dann die Hintergründe, so dass Dir die dortigen Angaben nicht mehr so viele Rätsel aufgeben. Aufgrund der Verkettung innerhalb der erweiterten Partition, rate ich immer dazu, Änderungen an logischen Laufwerken immer nur schrittweise im Partitionsmanager durchzuführen. Ich habe nämlich das Gefühl, dass es da häufiger zu Problemen kommt, wenn man erst alle Einstellungen tätigt, die man letztlich haben will und erst dann abschließend auf "Anwenden" klickt.
Mit den Windows-Befehlen hat alles gut geklappt, ich habe Win XP im Boot-Menü von Win7 als zweiten Eintrag. 👍 Danke dir!
Startet den XP bzw. der zweite Teil der Installation davon auch. Denn es könnte sein, dass wir die boot.ini noch anpassen müssen, falls es noch nicht geht! Gruß,
Martin
|
tempe222
(Themenstarter)
Anmeldungsdatum: 23. Februar 2012
Beiträge: 52
|
Hallo Martin,
dass es da häufiger zu Problemen kommt, wenn man erst alle Einstellungen tätigt, die man letztlich haben will und erst dann abschließend auf "Anwenden" klickt.
Das ist gut zu wissen. Ich dachte irgendwie, das sei schon etwas "wasserfester".
was es hoffentlich bei Dir nicht geben wird
Das hoffe ich auch. Ich werde mir jedenfalls alle Mühe geben 😉
dass Dir die dortigen Angaben nicht mehr so viele Rätsel aufgeben
Sicherlich nicht. Aber zur Sicherheit wird mein Hauptaugenmerk auf der Vermeidung liegen. Win XP startet leider nicht. Ich habe die Fehlermeldung mal abfotografiert und angehängt.
- Bilder
|
Newubunti
Anmeldungsdatum: 16. Februar 2008
Beiträge: 5149
|
Ok, boote noch mal in Windows 7, klicke auf "Start" und drücke SHIFT+STRG+ENTER, um eine Administrator-Eingabeaufforderung zu starten und dort gibst Du ein: bcdedit -set {ntldr} device partition=\Device\HarddiskVolume1 mit bcdedit /enum überprüfst Du, dass die Änderung richtig vollzogen wurde. Wenn es danach immer noch nicht geht, dann poste bitte mal die Ausgabe von bcdedit /enum wobei dabei nur der Eintrag unter "Windows-Start-Manager" "device" interessiert. Ich gehe im Moment davon aus, dass der so lautet: device partition=\Device\HarddiskVolume1 Gruß,
Martin
|
tempe222
(Themenstarter)
Anmeldungsdatum: 23. Februar 2012
Beiträge: 52
|
Hallo Martin. durch den Befehl wurde die Device im Absatz Windows-Legacybetriebssystem-Ladeprogramm auf “ partition=\Device\HarddiskVolume1“ geändert.
Beim Versuch zu booten kommt “Windows konnte nicht gestartet werden, da folgende Datei fehlt oder beschädigt ist: ...\hal.dll“
wobei dabei nur der Eintrag unter "Windows-Start-Manager" "device" interessiert. Ich gehe im Moment davon aus, dass der so lautet: device partition=\Device\HarddiskVolume1
Genau. Der war auch schon vorher so.
|
Newubunti
Anmeldungsdatum: 16. Februar 2008
Beiträge: 5149
|
Ok... das sieht nach meiner Meinung schon mal nach einem versuchten XP-Start aus. Überprüfen wir mal noch, ob die boot.ini auf die richtige Partition verweist: Ok, boote noch mal in Windows 7, klicke auf "Start" und drücke SHIFT+STRG+ENTER, um eine Administrator-Eingabeaufforderung zu starten und dort gibst Du ein: diskpart
Nach einer Weile solltest Du das "DISKPART >" Prompt bekommen. Dort gibst Du erst ein: select disk 0 und anschließend: list partition mit
exit
verlässt Du dann diskpart wieder. Du kontrollierst dann in der boot.ini ob dort der Wert hinter partition(7) im Moment ja 7 mit der Nummer übereinstimmt, die die XP-Partition laut diskpart list partition hat. Außerdem stellst Du den Wert timeout=5 ein, damit wir sicher gehen können, dass das im Moment schon ein XP-Systemstart ist. Die boot.ini kannst Du auch von Linux aus ändern. Oder Du weist der Systempartition unter Windows 7 mit diskmgmt.msc ein Laufwerksbuchstaben zu. Stimmt die Ausgabe laut diskpart schon jetzt mit der Einstellung 7 überein und siehst Du nach Änderung der boot.ini bezüglich timeout das XP-Startmenü für 5 Sekunden, dann ist an sich eigentlich soweit alles richtig jetzt. Du müsstest dann XP noch mal neu installieren. Gruß,
Martin
|
tempe222
(Themenstarter)
Anmeldungsdatum: 23. Februar 2012
Beiträge: 52
|
Hallo Martin, Unter Diskpart ist Partition 6 die XP Partition. Der Timeout hat daher wohl nichts bewirkt. Diese Meldung der fehlenden HAL Datei kommt immer, wenn die XP Installation das Laufwerk nicht findet. Muss ich also die 7 in eine 6 ändern?
|