Das neue EEE-Forum
https://eee-forum.de/forum/

Windows XP bootet nicht nach Partitions-Verschiebung
https://eee-forum.de/forum/viewtopic.php?f=29&t=441
Seite 1 von 1

Autor:  tosty [ Do 5. Jul 2012, 06:57 ]
Betreff des Beitrags:  Windows XP bootet nicht nach Partitions-Verschiebung

Moin zusammen,

folgendes Problem, daß zwar direkt keinen Eee betrifft, aber imho HW-unabhängig sein dürfte und daher ein eher generelles Windows-Problem ist, vermute ich mal.

Ausgangspunkt: System mit SSD und einer Standard-Windows XP Installation (sprich, dort paßt weder die Partitionierung [Alignment] noch AHCI. Nachdem mir dies dann schmerzlich bewußte wurde und eh noch ein Linux auf den Rechner sollte, folgendes getan:

1) Linux von CF2HDD-USB Adapter gebootet
2) Partition für Linux angelegt, formatiert
3) mit "dd if=/dev/sda1 if=nt.img die Windows XP Installation als Partitionsimage gesichert
4) 1. Partition (ab "1" = 63) gelöscht und neu erstellt (ab 2048), mit ID 0x07 (HPFS/NTFS) versehen

Code:
user@user-laptop:~$ sudo fdisk -l -u -c /dev/sda

Platte /dev/sda: 60.0 GByte, 60022480896 Byte
255 Köpfe, 63 Sektoren/Spur, 7297 Zylinder, zusammen 117231408 Sektoren
Einheiten = Sektoren von 1 × 512 = 512 Bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0xb577b577

   Gerät  boot.     Anfang        Ende     Blöcke   Id  System
/dev/sda1            2048    58621184    29309568+   7  HPFS/NTFS
/dev/sda2        58621952   117242369    29310209   83  Linux


5) XP wieder zurück verschoben "dd if=nt.img of=/dev/sda1
6) Partition an die leicht größere Partitionsgröße angepaßt ("ntfsresize")

Weiter gings mit

7) fertige Ubuntu Installation "geklont" auf die 2. Partition /dev/sda2
8) Partition geprüft, vergrößert und nochmal geprüft
9) GRUB2 im MBR (re-)installiert, der neben Ubuntu auch gleich die Windows XP gefunden und eingebunden hat

Code:
### BEGIN /etc/grub.d/30_os-prober ###
menuentry "Microsoft Windows XP Home Edition (on /dev/sda1)" {
        insmod ntfs
        set root='(hd0,1)'
        search --no-floppy --fs-uuid --set 74a4bd00a4bcc5c0
        drivemap -s (hd0) ${root}
        chainloader +1
}


Problem: Wählt man "Windows XP" aus dem Bootmenü von GRUB2 aus, passiert gar nichts. Ein schwarzer Bildschirm bleint stehen, der kleine Cursorstrich blinkt lustig vor sich hin. Keinerlei Ausgabe, Bluescreen oder dergleichen

Ubuntu selbst findet die Partition und man kann normal auf sie zugreifen.

Mit Windows XP CD gebootet, findet auch das anstandslos die Partition und man kann sie reparieren wollen, oder die Reparaturkonsole starten usw.

So, woran liegt es, daß sich XP so anstellt? Irgendwelche Ideen (Neuinstallation kommt nicht in Frage 8-) :mrgreen: )

Autor:  tosty [ Do 5. Jul 2012, 20:14 ]
Betreff des Beitrags:  Re: Windows XP bootet nicht nach Partitions-Verschiebung

Moin 8-)

Ich antworte mir gleich mal selber, da ich das Problem zwischenzeitlich lösen konnte.

Es ist in der Tat so, daß sich Windows XP um Partitionstabellen gar nicht kümmert, sondern der Bootsektor (der hier auf der 1. Partition liegt) beinhaltet hard-coded, wo die Partition / Bootinfo vermeintlich anfängt. Sprich, da muß man dann die "63" in diesem Falle durch eine "2048" ersetzen (aber nicht banal als Zahl, sondern Hexadezimal und dann auch nicht Big Endian sondern Little Endian).

63 => 0x000000F3 => F3 00 00 00 .... suchen und durch
2048 => 0x00000800 => 00 08 00 00 ersetzen.

Siehe auch: Forking a XP-installation: #6 Modify NTFS-Bootsector

Autor:  markii [ Do 12. Jul 2012, 11:24 ]
Betreff des Beitrags:  Re: Windows XP bootet nicht nach Partitions-Verschiebung

tosty hat geschrieben:
...Es ist in der Tat so, daß sich Windows XP um Partitionstabellen gar nicht kümmert, sondern der Bootsektor (der hier auf der 1. Partition liegt) beinhaltet hard-coded, wo die Partition / Bootinfo vermeintlich anfängt...

Ist ja interessant, war mir jetzt auch neu. Ich bezweifele aber, dass Windows Vista oder Win7 sich genauso verhalten hätten da diese auf den neueren BCD Bootmanager setzen.
Was ich dann an deiner Stelle probiert hätte wäre von der Reparaturkonsole der WinXP-CD aus mal "fixmbr" aufzurufen, ob es zum Erfolg geführt hätte weiß ich jetzt nicht aber ein Versuch wäre es wert gewesen.

Autor:  tosty [ Do 12. Jul 2012, 11:40 ]
Betreff des Beitrags:  Re: Windows XP bootet nicht nach Partitions-Verschiebung

ja, das war mir alles auch neu und außer den bekannten Sachen:

a) von CD booten, Reparaturkonsole fixboot oder/und fixmbr und fixboot (Effekt, GRUB kaputt)
b) von CD booten, dann Installation -> erkennt vorhandene XP Installation -> reparieren (rödelt, tut, löscht und überschreibt zig Dateien, hinterher ist man wieder auf dem Stand der DVD = SP2)

hatte sonst auch keiner ne Idee. Zwei Leute gefragt, die beruflich öfter damit zu tun haben, einer hat sogar nen halbes Dutzend MS Zertifizierungen .. auch nur Vorschläge siehe oben.

Effekte aufs Booten des XP hatten a) und b) nicht. :-(

Dafür merkt man den Effekt mit dem (Mis)Alignment schon deutlich, zumindest in den Benchmarks ... im Betrieb ist es mir so nicht groß aufgefallen (auch weil ich eher mit Linux arbeite, da macht "fdisk" das Alignment - zumindest für die neu angelegte Linux-Partition, gleich richtig).

Selbiges dürfte / soll auch für Vista / Win7 zutreffen ..... da hast Du sicher Recht 8-)

Autor:  markii [ Do 12. Jul 2012, 14:01 ]
Betreff des Beitrags:  Re: Windows XP bootet nicht nach Partitions-Verschiebung

Windows 7 erkennt auch automatisch wenn es von einer SSD läuft und aktiviert dann das TRIM-Feature damit die SSD auch nach langer Benutzung noch so schnell wie am Anfang bleibt. Unter Windows XP oder Windows Vista benötigt man dazu noch ein Tool vom Hersteller der SSD, da diese Betriebssysteme diese Funktion noch nicht mitbringen.

Das Alignment machen Windows 7 und Windows Vista von sich aus schon richtig wenn man es mit dem Setup auf eine SSD installiert.

Seite 1 von 1 Alle Zeiten sind UTC + 1 Stunde
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/