Ich hatte mal wieder Lust auf Computerspiele. Es gibt zwar schon einige Spiele, die super unter Linux laufen, aber wenn man die volle Performance und vor allem Spiele mit hartnäckigem Kopierschutz haben will, muss es eben Windows sein.
Also musste Windows installiert werden. Aber woher nehmen, wenn nicht stehlen? Letzteres ist zwar eine einfache Alternative, aber wir wollen ja die Legalität bewahren. Und hier kommt Jeannie, mein IBM Thinkpad R60, ins Spiel. Sie hat einen wunderschönen Aufkleber mit einem Windows XP Pro Product Key. Das einzige, was noch fehlte, war eine CD, mit der das Betriebssystem installiert werden konnte.
Da fingen die Probleme an. Dem Laptop lag keine CD bei. Es hat nur eine Rescue-Partition, die das Gerät in seinen Ursprungszustand zurück setzt und dabei alles platt macht. Es gibt zwar Anleitungen, wie man mit einem Thinkpad an eine Windows CD kommt, aber die setzen alle vorraus, dass man noch das Windows aus der Rescue-Partition installiert hat und Windows zum Erstellen der CD benutzt.
Es folgt eine Anleitung zum Erstellen einer Windows XP Pro OEM CD aus den Daten der Rescue Partition eines Thinkpads unter Linux, aber das ganze sollte auch im Ansatz unter Windows, BSD und anderen Unixen funktionieren.
Zuerst muss die Rescue-Partition eingebunden werden. Das dürfte die größte Hürde für Windows-User in dieser Anleitung sein, da ich nicht weiß, in wiefern IBM bzw. Lenovo die Partition versteckt haben.
Bei mir ist die Partition /dev/sda2 die Rescue-Partition. Je nachdem, wie ihr euer Linux installiert habt, ist es eine andere. Wenn ihr gar die Rescue-Partition gelöscht habt, könnt ihr die Sache gleich vergessen.
Ich erstelle einen mountpoint in /media/rescue und hänge dort die Partition ein:
sudo mkdir -p /media/rescue
sudo mount /dev/sda2 /media/rescue
Im Verzeichnis /media/rescue/recovery befinden sich eine Menge .cri und .imz Dateien. Die .imz Dateien sind mit einem Passwort versehene Zip-Archive und die .cri Dateien dienen der Beschreibung der zugehörigen .imz Datei.
Laut dem ThinkPad-Forum brauchen wir für unsere CD nur das I386-Verzeichnis. Also durchsuchen wir die .cri Dateien nach Hinweisen darauf.
grep -il i386 /media/rescue/recovery/*.cri
Die Ausgabe bei mir ist:
/media/rescue/recovery/0kdnpe10.cri
/media/rescue/recovery/bkds04a.cri
/media/rescue/recovery/cm2zcgr.cri
Um herauszufinden, welches Archiv nun die benötigten Dateien und Verzeichnisse enthält, müssen wir die .cri Dateien genauer Untersuchen, also sie uns ansehen.
less /media/rescue/recovery/0kdnpe10.cri
less /media/rescue/recovery/bkds04a.cri
less /media/rescue/recovery/cm2zcgr.cri
Dabei kommt heraus, dass cm2zcgr.cri gleich drei Archive (cm2zcgr.imz, cm2zcgr.001 und cm2zcgr.002) beschreibt und diese auch das Verzeichnis I386 mit einer Menge Dateien enthalten, die nach dem Schema XXXXXXX.YY_ aufgebaut sind, was häufig bei Windows Installationsprogrammen zu sehen ist. Außerdem sind die drei Archive zusammen fast 1GB groß. Das sind also sicher die, die wir suchen. Bei anderen Thinkpads kann es anders sein, weshalb ich beschrieben habe, wie ich die Archive identifiziert habe.
Dann bereiten wir mal ein Verzeichnis vor, in dem wir die CD erstellen werden.
mkdir -p ~/WindowsXPCD/cdroot
Jetzt käme auch schon das Entpacken der Archive, wenn sie nicht Passwort Geschützt wären. In /media/rescue/recovery/cm2zcgr.cri steht zwar das Passwort CM2ZCGR drin, dieses wird aber zum Öffnen der Archive verschlüsselt. Keine Ahnung, wieso IBM das eine oder das andere gemacht hat, ich halte beides für bescheuert. Aber zumindest macht es die ganze Angelegenheit etwas spannender.
Auf meiner Suche, nach einem funktionierenden Passwort bin ich auf diesen Thread und ganz besonders die Grafik von Nico57 gestoßen, die einem hilft, das Passwort zu verschlüsseln. Ich habe die Tabelle bei mir auch hochgeladen, falls der Webspace von Nico mal dran glauben muss.
Falls man auf eine der Lücken in der Tabelle stößt oder einfach kein Bock auf so ein spannendes Spiel hat, kann man sich des Programms fcrackzip bedienen, um das Passwort für die Archive heraus zu finden. Konnte man zum Beispiel nur die ersten drei Buchstaben des Passwortes herausfinden, wäre der beste Aufruf in diesem Fall:
fcrackzip -v -p iejaaaa /media/rescue/recovery/cm2zcgr.imz
Nach ein paar Sekunden spuckt er auch schon das Passwort iejfh0d aus, dass wir verwenden können, um die Archive zu entpacken. Dafür nehmen wir am besten doch das gleiche Programm, dass in der .cri Datei steht: UnZip
unzip -C -o -XX -P iejfh0d /media/rescue/recovery/cm2zcgr.imz -d ~/WindowsXPCD/cdroot/
unzip -C -o -XX -P iejfh0d /media/rescue/recovery/cm2zcgr.001 -d ~/WindowsXPCD/cdroot/
Ich habe das Archiv cm2zcgr.002 nicht mit entpackt, weil es nicht das Verzeichnis I386 im Stamm enthielt und deshalb nicht nötig ist für die CD. Wahrscheinlich brauchen wir noch nicht einmal den Inhalt von cm2zcgr.001, aber das habe ich noch nicht getestet und würde mich freuen, wenn das jemand bestätigen könnte.
Nachdem wir alle Dateien und Verzeichnisse in ~/WindowsXPCD/cdroot/ außer I386 gelöscht haben (kennt jemand dafür einen eleganten Aufruf?) müssen wir die drei Dateien WIN51, WIN51IP und WIN51IP.SP2 mit dem Inhalt "Windows" erstellen.
echo Windows > ~/WindowsXPCD/cdroot/WIN51
echo Windows > ~/WindowsXPCD/cdroot/WIN51
echo Windows > ~/WindowsXPCD/cdroot/WIN51IP.SP2
Alles, was jetzt noch fehlt ist der Bootsektor, damit man von der CD auch starten kann. Den kann man sich im Internet herunterladen, zum Beispiel von ZDNet. Oder man holt ihn aus der Datei ~/WindowsXPCD/cdroot/I386/SPCMDCON.SYS. Wie das geht habe ich durch den Slipstreamer von heise erfahren, der eigentlich nur ein Frontend für ein paar Windows Kommandos und zwei sehr nützliche Linux Tools ist. Aus dem Quelltext des Programms lässt sich folgender Aufruf erschließen:
dd if=~/WindowsXPCD/cdroot/I386/SPCMDCON.SYS of=~/WindowsXPCD/cdroot/bootimage.bin bs=1 skip=84224 count=2048
Das resultierende Image sollte die md5 Checksumme ce05c025433085b7e856e7214f7ce8b1 haben. Das kann man mit dem folgenden Aufruf überprüfen:
md5sum ~/WindowsXPCD/cdroot/bootimage.bin
Jetzt erstellen wir nur noch ein CD-Image, das wir dann beliebig oft brennen können. Den Aufruf dazu habe ich wieder dem Slipstreamer entnommen:
mkisofs -relaxed-filenames -d -D -N -J -b bootimage.bin -no-emul-boot -boot-load-size 4 -hide bootimage.bin -hide boot.catalog -o ~/WindowsXPCD/xpcd.iso ~/WindowsXPCD/cdroot/
Die resultierende .iso Datei kann man mit so ziemlich jedem Brennprogramm auf CD bannen.
Fertig!
Ich hoffe es kann jemand etwas mit diesem kleinen How-To anfangen. Ich habe jedenfalls lang genug danach gesucht.
12 Antworten auf „Erstellen einer Windows XP Pro OEM CD aus den Daten der Rescue Partition eines Thinkpads unter Linux“
hm geht es nicht vielleicht auch mit wine?
[…] Erstellen einer Windows XP Pro OEM CD aus den Daten der Rescue Partition eines Thinkpads unter Linux… This Summary is from an article posted at Daily Pialess on Tuesday, September 04, 2007 Ich […]
Geht was mit wine?
Also das Slipstreamer Programm von heise habe ich auch mal mit wine ausprobiert, aber da hatte er Probleme den Bootsektor zu erstellen. Das hatte mich überhaupt erst auf die Idee gebracht mir den Quellcode anzusehen.
Ich meinte die Spiele, gehen die nicht auch einfach so unter wine?
Manche ja, aber oft macht mir ein esoterischer Kopierschutz einen Strich durch die Rechnung.
Kann aber auch vorkommen, dass das Spiel irgend etwas braucht, was weder wine, noch cedega (der kommerzielle Fork von wine, extra für Spieler) schon implementiert haben.
Ich kann schon einige Spiele unter Linux spielen. Neben den nativ laufenden Spielen, wie Unreal Tournament oder Doom laufen die Blizzard Spiele recht gut und auch Knights of the Old Republic 1+2 laufen ohne größere Komplikationen.
Aber ich habe mal wieder Bock die Gothic Reihe zu spielen und die habe ich noch nicht zum Laufen gebracht. Keine Ahnung, woran es liegt. Vielleicht sind die Spiele auch nur schlecht programmiert oder sowas.
hm ich bin ja jetzt neugierig und würde mal an deiner stelle auch mal folgendes probieren. Vom Spiel ein ISO Image anlegen. Wine starten und darin DAEMON Tools oder einen anderen Virtuell CD laufen lassen und das ISO mit Virtuell CD laufen lassen, installieren und gucken ob es geht.
Hallo!
Ich glaube Dir ist ein kleiner Fehler beim Erzeugen der WIN51* Dateien unterlaufen. Richtig sollte es wohl heißen:
echo Windows > ~/WindowsXPCD/cdroot/WIN51
echo Windows > ~/WindowsXPCD/cdroot/WIN51IP
echo Windows > ~/WindowsXPCD/cdroot/WIN51IP.SP2
Stimmt, danke. Ist berichtigt.
Hi, hab es stundenlang nach der beschriebenen Methode versucht, leider funktionierte es bei mir nicht. Ich hab es mit Win2000 für den IBM ThinkPad versucht. Passwort vorhanden, Tabelle erstellt. Nichts. ABER… jetzt kommt es, in der Recover.EXE findet man den Hinweis (XTREE-Gold, Dos Zeiten):
pkunzip.exe –swbdbgmlbu -d –JHSR –o Datei.IMZ.
Klappt mit jeder Datei, die sonst ein Passwort verlangt. Ich hoffe ich konnte allen helfen.
Jan
Hi,
danke für die Superanleitung. Versuche schon seit Tagen meinen Thinkpad t43p mit neuer (nicht IBM)-Platte neu zu installieren und dieser Schritt fehlte mir noch. Allerdings habe ich in meiner Rescue-Partition ein i386 Verzeichnis ohne den Verschlüsselungs-Quatsch. Das sollte es doch auch tun, oder übersehe ich da was?
Grüße,
Linus
Streiche biite meinen Kommentar. Habe ein bisschen den Überlick verloren. Der Ordner ist ja fast leer.
Habe da wohl was verwechselt mit dem I386 von der XP Partition. Welchem ich aber nicht traue da die Platte hier einen Headcrash hatte.
Umso mehr Dank für deine Ausführungen.
Vielen herzlichen Dank. Mit dieser Anleitung konnte ich erfolgreich die CD herstellen, woran ich mit dem Slipstreamer gescheitert war. das i386-Verzeichnis oder der Slipstreamer waren irgendwie nicht in der Lage gewesen, weiter als zum Bootloader zu kommen.