Windows: MergeIDE v3.0

Mit dem MergeIDE-Skript besteht die Möglichkeit, Windows auf neue Hardware umzuziehen bzw. in virtuelle Maschinen zu migrieren und den berühmt-berüchtigten Bluescreen 0x0000007b zu umgehen.

In Version 3.0 meiner Version von MergeIDE wurden die bisherigen Einzelskripte für Windows XP/2003 (R2) und Vista/7/2008 (R2) nun zusammengefasst. Ferner wurde im Skript eine Abfrage nach dem aktuellen CurrentControlSet integriert. Eine Automatik versucht zu erkennen, auf welchem Laufwerk Windows installiert ist.

Download

Das Skript ist in der Version 2 der Drive Snapshot-Rettungs-CD integriert.

Hinweise

Benutzung auf eigene Verantwortung!

Windows 8 und Server 2012 wurden bislang nicht getestet, sollten aber (hoffentlich) funktionieren.

Update 27.07.2016

Kleine An- bzw. Bemerkung zum Skript: Es werden nur die ControlSets eins bis drei berücksichtigt. Im Durchschnittsfall genügt das auch. Allerdings habe ich heute erstmalig eine Windows-Installation gesehen, die acht ControlSets hatte, das Current war dabei die Sieben. Ich wusste bis dato gar nicht, das es mehr als drei geben kann.

Im Zweifelsfall, wenn es mal nicht auf Anhieb mit MergeIDE klappt, sollte man prüfen, ob es an am (Current)ControlSet liegt.

43 Kommentare

  1. Viktor T.

    Wie genau funktioniert das den habe z.b. folgendes vor ich möchte von einem ESXI Server eine Windiws VM Windows 2008 R2 nach KVM umziehen Proxmox.

    Muss ich das mergeide erst auf der laufenden Maschine Laden einfach Registry laden und dann nach Proxmox migrieren.
    Oder wie lade ich die mergeide am besten?

  2. andy

    Hallo Viktor,

    MergeIDE kann nicht auf der laufenden Maschine ausgeführt werden. Das Skript ist dafür ausgelegt, von einer WinPE-Umgebung aus auf ein “Offline”-Windows angewendet zu werden, siehe dazu auch

    Windows: Rettungs-CD für Drive Snapshot v2.0

    Migration von ESXi zu ArchivistaVM

    Gerade der letzte Link passt recht gut als Erfahrungswert für dein Vorhaben, da Archivista wie Proxmox auf KVM aufsetzt.

  3. andy

    Als ergänzende Aussage:

    So eine Migration wie von dir geplant habe ich bislang mittels Backup der aktuellen Maschine und Recovery auf “neuer Hardware” durchgeführt.
    Ich für meinen Teil nutzte dazu seit Jahren Drive Snapshot und meine eigenen Skripte.

    Quasi so ähnlich wie bei Acronis mit Universal Restore oder ShadowProtect.

  4. trommelbommel

    Vielen Dank! Hat einwandfrei funktioniert

  5. Wolfgang

    Supertool
    Hat einwandfrei funktioniert
    Dank für die Arbeit die du dir gemacht hast

  6. A. Wolf

    … danke für dieses 1a tool. Es hat prima beim WHS 2003 Umzug auf neue HW funktioniert. Da der Weg der Reaparaturinstallation, anders als bei XP, biem WHS 2003 nicht aufrufbar war, war es für mich die einzige Lösung mit der man sich vor einer Neuinstallation drücken konnte. Toll das Sie das Tool publiziert haben und damit Microsoft Versäumnisse bei R&D behoben haben.

    Grüße

    A. Wolf

  7. Thomas

    Vielen Dank für diese Tool. Hat mir den Freitag gerettet.
    Viele Grüße

  8. Toni

    Dieses Script ist der Hammer…

    Hab den ganzen Tag nach einer Lösung für dieses Problem gesucht.

    Echt geil!

  9. Bert

    Hi ich bekomme den Fehler:
    expand: invalid option — F

  10. andy

    Die Option “-F” kommt bei “expand” zum Einsatz, also dem Teil von MergeIDE, bei dem die Treiber entpackt werden. Was darauf schließen lässt, das Windows XP oder Server 2003 “gepatcht” werden soll?

    Beschreibe bitte dein Vorgehen und die Umgebung (Windows Version, Service Pack, Bootmedium, von Wo nach Wo soll migriert werden, etc.) damit ich das ggf. Nachvollziehen/Nachstellen kann.

  11. Bert

    Hi vielen Dank für deine Antwort. Ich hab jetzt einfach geklont und drüber installiert und jetzt läuft die Kiste bis sie ersetzt wird

  12. Mathias

    Vielen Dank Andy! Das Skript hat einwandfrei von der Kommandozeile der Installations-CD funktioniert und mein verloren geglaubtes System gerettet!
    Super!

  13. Manta-Driver

    Hallo Andy,

    danke erstmal für Deine Mühe und das Skript.
    Funktioniert bei mir leider nicht, ich bekomme die Fehlermeldung, dass der Reg-Schlüssel nicht gefunden wurde. Habe mich an die Anleitung gehalten, soweit ich das beurteilen kann.

    Win ist (und war immer) auf Laufwerk C: und ich kann von der Konsole auch auf das Laufwerk zugreifen, alle Dateien sind da wo sie eigentlich hingehören… Bin mit meinem Latein langsam am Ende 🙁

    Hast Du noch einen Tipp für mich?

    System: Win 2008 Server R2
    Ausgangssituation: Fehler 7B, nachdem BIOS/UEFI Update durchgeführt wurde, sonst keine Systemänderung

    Schöne Grüße!

  14. andy

    Von wo aus wird versucht das Skript auszuführen? Windows Inst.-DVD, anderer PC, …?

    Bitte die genaue Ausgabe um die Fehlermeldung herum posten, dann fällt die Suche bzw. das Eingrenzen leichter.

  15. Manta-Driver

    Hallo Andy,

    ich starte mit der Win-Inst-DVD und gehe dann am ersten Screen per Shift+F10 auf die Konsole (wenn ich einen Schritt weiter auf Computerreparaturoptionen klicke, bekomme ich Fehler “Version der DVD ist nicht kompatibel” – was ich mir höchstens wegen eines neueren Standes der installierten Version erklären kann).

    MergeIDE v3.0 habe ich auf das C: Laufwerk kopiert, wo auch das defekte Windows liegt. MergeIDE fragt dann nach dem korrekten Laufwerk, schlägt (korrekterweise) schon C: vor. Dann die Auswahl für Win Server 2008 R2. Dann starten die Meldungen:

    Registrierung sichern …
    Das System kann den angegebenen Pfad nicht finden.
    Registrierung laden …
    FEHLER: Der angegebene Registrierungsschlüssel bzw. Wert wurde nicht gefunden.
    CurrentControlSet auslesen …
    FEHLER: Der angegebene Registrierungsschlüssel bzw. Wert wurde nicht gefunden.
    MergeIDE importieren und AHCI aktivieren …
    “1==1” kann syntaktisch an dieser Stelle nicht verarbeitet werden.

    Hilft das weiter?
    Schöne Grüße, Peter

  16. andy

    Hallo Peter,

    da ab der Sicherung schon Fehler kommen, vermute ich das “C:” eben nicht “C:” ist, was ja bei Startumgebungen gerne der Fall ist.
    So ist es z.B. oft der Fall, das beim Start von der Win-DVD oder von Rettungs-CDs das Laufwerk “C:” die “System-reserviert”-Partition ist und erst Laufwerk “D:” das eigentliche “C:”
    Ferner auch denkbar, das Windows nicht unter “LW:Windows” liegt, wobei ich das schon seit Jahren nicht mehr gesehen habe.

    Ermittle mal die Laufwerke:

    – Von Win-DVD starten.
    – Sprache auswählen
    – Shift + F10 drücken
    – “diskpart” eingeben
    – “lis vol” eingeben

    Es sollten alle Partitionen der ersten Festplatte sichtbar sein mit zugehörigen Laufwerksbuchstaben.
    Diskpart kann mit mit “exit” verlassen und dann z.B. mit “dir LW:” die einzelnen Laufwerke prüfen und schauen, wo denn nun der Windows-Ordner ist.

    In diesem Fall kann es nicht schaden, zu prüfen, ob die gefundenen Windows-Ordner auch wirklich Windows enthalten, nicht das es da noch irgendwelche Temp- oder Test-Ordner gibt. Einfach mal den Inhalt kurz überfliegen.

  17. andy

    Wie gibst du den das Laufwerk bei der Bestätigungs-Abfrage an? Nur “C” oder “C:”?

    Zur Info:

    Es muss z.B. “C:” eingegeben werden, gibt man nur “C” ein, so kommt es zu den von dir gennanten Fehlern.

  18. Manta-Driver

    Ja, das ist es!

    Hatte es ohne den Doppelpunkt eingegeben :-O

    Merci!

  19. andy

    Wunderbar, wieder was geklärt 😉

  20. Martin

    Ich danke dir, ich war schon kurz davor Alles zu formatieren nachdem ich fast einen ganzen Tag versucht habe den Fehler einzugrenzen und eine Lösung zu finden.
    Bin von einem alten C2D mit standard BIOS auf einen Athlon X4 umgezogen.
    Das neue Board unterstützt nur UEFI also habe ich meine Festplatte mit Gparted in “Form” gebracht. Leider wollte danach nüx mehr starten (bzw. BSOD beim Ladebildschrim.
    Einmal das Skript ausgeführt und ich war nach dem Neustart wieder in der Benutzerauswahl.
    Da ist mir ne kleine Freudenträne herausgekullert.
    System läuft seitdem einwandfrei ohne Murren.

    DANKE DANKE DANKE ! (°u°)/

  21. Bernd Eichendorff

    Ein ganzes Wochenende habe ich mir die Seele aus dem Leib gegoogelt, alles mögliche versucht, bis ich über Deine Website gestolpert bin. Super Progrämmchen, danke dass Du Dir die Mühe gemacht hast. Ohne dieses Tool wäre ich wohl gescheitert.

  22. Daniel

    1000 Dank fuer Dein Tool! Hat alles auf Anhieb funktioniert und ich kann nun wieder booten. Umzug war von Lenovo T420 SSD auf neue SSD am Lenovo T450s.

    Unklar war mir jedoch, was create_waik.cmd machen würde, aber das lief wohl eh nicht durch. Hatte auch die Dateien nach dem Booten nicht auf X: gefunden und sie dann per USB Stick in das erwartete Verzeichnis kopiert. Beim Ausführen der MergeIDE_v30.cmd hat er mir die ganzen echo Zeilen auch ausgegeben. Bei .bat Dateien kann man das mit @echo verhindern – weiß nicht, ob das hier auch geht. Fast wäre ich auch über den C vs C: Fehler gestolpert, aber das wurde zum Glück in den Kommentaren schon besprochen.

    Vielen Dank!

  23. andy

    > Beim Ausführen der MergeIDE_v30.cmd hat er mir die ganzen echo Zeilen auch ausgegeben. Bei .bat Dateien kann man das mit @echo verhindern – weiß nicht, ob das hier auch geht.

    Das ist sogar drin, kann aber gut sein, das die Datei im “falschen” Format (Univode oder UTF statt ANSI) ist, dann “ignoriert” Windows das im weitestens Sinne.
    Ist aber nur Kosmetik, Hauptsache es läuft.

  24. RU

    Hallo, Andy!
    Vielen Dank für das geniale Script!!
    Frage an den Experten: Könnte man das Script auch so programmieren, dass es z.B. beim Restore eines Server 2008R2 RAID Treiber wie z.B. Dell PERC 6i, PERC 700i etc. “nachladen” kann? Mit einer solchen Möglichkeit könnte man auf neuerer Hardware restoren, in der andere (RAID-)Controller als urprünglich verbaut sind. Erfahrungsgemäß laufen Server-Betriebssysteme ja eher mit einem Raid-Controller im RAID 1/5/10 als mit onboard-SATA Controllern. Mit Deinem Script sollte das doch evtl. möglich sein?
    Bin gespannt auf Deine Antwort! Danke!

  25. andy

    Gibt’s schon:
    Windows: Offline Driver Setup Script (ODSS)

    Ist aber sehr rudimentär. Alternativ Drive Snapshot mit dem Parameter “–AddDriver”:

    Drive Snapshot – Umzug auf neue Hardware

  26. RU

    Wow, das ging ja schnell!
    Werde es asap testen! Vielen Dank! Habe mir die Suchmaschine heissgegoogelt, aber bislang nicht das gewünschte gefunden!

  27. Peter

    Guten Tag,
    ich bin sehr froh das ich dieses Tool gefunden habe, danke dafür.
    Nun habe ich jedoch das Problem, dass ich bei der Anwendung an einem 2003R2 Server die Fehlermeldung “… kann driver.cab nicht öffnen” erhalte, mit dem Ergebnis, dass der “merge” nicht ausgeführt wurde.
    Ist der Fehler vllt bekannt und kann mir jemand helfen?

  28. andy

    Hallo Peter,

    hast du mal nachgesehen, ob die “driver.cab” vorhanden ist bzw. ob das Windows auf den Laufwerken C – F (mehr Laufwerke prüft das Skript automatisch in aktueller Form nicht) zu finden ist?
    Selbst wenn die Treiber nicht gefunden werden, sollten die Einträge in der Registry vorgenommen werden (sofern das Laufwerk passt).
    Hilfreich wäre die gesamte Ausgabe des Skripts.

    Im Zweifelsfall kann man, wenn nur die Treiber fehlen, diese selbst entpacken oder von einem anderen System (bei gleichem OS) rüberkopieren.

  29. Peter

    Hallo, danke für die schnelle Antwort. Das Windowsverzeichnis stimmt. Dort liegt auch das mergeIDE Verzeichnis.
    Hier der Auszug aus der “Driver Cache”-Ordner
    ——————————————————-
    Verzeichnis von C:WindowsDriver Cache

    20.03.2007 08:00 .
    20.03.2007 08:00 ..
    0 Datei(en), 0 Bytes
    2 Verzeichnis(se), 120.061.526.016 Bytes frei
    ——————————————————-
    Weiterer Fehler beim merge:
    ——————————————————-
    “Fehler beim öffnen der Eingabedatei: c:windowsdriver cachei386driver.cab
    ——————————————————-

    Danke für die Hilfe!

  30. Peter

    Ich nochmal. Ich habe die verlorenen i386 Ordner gefunden und wieder in das passende Verzeichnis kopiert. Demnach funktioniert das Skript auch ohne Fehler. Jedoch beim Neustart der VM ist das Bild unverändern, die VM startet nach 5 Sekunden jedes mal von vorne.
    Immerhin weiß ich jetzt auf welche Dateien das Skript benötigt.

  31. andy

    Na wenigstens einen Schritt weiter.
    Jetzt müsste man schauen, welcher BSOD es genau ist und ggf. weitere Treiber offline hinzufügen.
    Das geht z.B. mit Drive Snapshot (snapshot.exe –adddriver) oder dem http://www.andysblog.de/windows-offline-driver-setup-script-odss
    Letzteres hab’ ich zwar mal erstellt, aber ewig nicht mehr benutzt, DS kann’s meist besser.

  32. Markus

    Hallo Andy,
    auch meinen Dank an Dich, hat mir bei einem WIN7 Umzug auf neue Hardware geholfen!

    Gruß
    Markus

  33. Peter

    Auch ich möchte mich für das kleine, aber sehr hilfreiche Tool bedanken!

    Ich hatte mit VMWare Converter ein Netbook mit Windows 7 Starter nach VirtualBox migriert. Aus Deinem Tool habe ich dann eine iso-Datei gemacht und als CD eingebunden. Von dort dann das Tool gesartet und es hat bestens funktioniert.

    Gruß
    Peter

  34. gigi2006

    Hi, sorry das ich hier so blöd frage, aber wie starte ich diese mergeide? ich komm mit keiner möglichkeit ins windows 2003 rein, weder abgesichert noch sonst eine option beim starten… die win-cd hab ich leider nicht mehr, war eigentlich nur mal ne test installation und jetzt musste ich ein mainboar ausstauschen…

    gibt es eine andere art irgendwie die datei auszuführen?

  35. andy

    Da gibt’s gleich mehrere Möglichkeiten wie z.B. die Drive Snapshot-Rettungs-CD:

    Windows: Rettungs-CD für Drive Snapshot v2.0
    Drive Snapshot-Rettungs-CD aus Windows 8.1-ISO erstellen

    Oder von einer Windows-CD/DVD aus, z.B. der Setup-DVD von Windows 7, 8.x, 10:

    Windows 7-DVD als Rettungsmedium

    WinPE-boot-Medien wie z.B. von heise bzw. WinBuilder.

    Oder die betreffende Festplatte an einen funktionierenden Windows-PC hängen, das Skript mit erhöhten Rechten ausführen.

  36. gigi2006

    Danke Andy!
    jetzt wo du es schreibst klingst für mich auch logisch 🙂
    hab die HDD jetzt mal in meinem PC eingebaut als zusätzliches LW und versuch mal mein glück…

    schon mal herzliches Danke !

  37. Stefan N.

    Super Tool! Vielen Dank für Deine Arbeit!

  38. MarcB

    Hallo!
    Bei mir kommt beim Import der 3 Registrierungsdaten im Skript nen Fehler:
    “FEHLER: Fehler beim Öffnen der Datei. Es ist möglicherweise ein Datenträger- bzw. Dateisystemfehler aufgetreten.”
    chkdsk habe ich schon ausgeführt, aber ich bin echt am verzweifeln!
    Grüße, Marc

  39. andy

    Wie wurde vorgegangen?
    Um welches Betriebssystem geht es?
    Von welchem Medium (CD/DVD/USB, OS, …) wurde gestartet?
    Unter welchem Laufwerksbuchstaben ist das OS zu finden?

  40. MarcB

    Okay, Details. Fiel mir schon ein, wo ich das kaum abgeschickt hatte, aber wollte nicht doppel-posten.
    Ich habe nach nem Mainboardwechsel Fehlercode 7B und auf Anraten eines Bekannten wollte ich MergeIDE nutzen.
    Ich hab das Script+Regs runtergeladen und entpackt und sowohl auf der Problem-Platte als auch auf einem funktionierenden OS ausgeführt.
    Die Problem-Platte hängt wie gesagt in einem anderen Rechner momentan, auf beiden befindet sich W7 Home.
    Vom Ersatz-PC aus kann ich auch auf die Festplatte zugreifen, sie hat dort Laufwerkbuchstaben F: abbekommen und wird auch vom Script erkannt.
    Das Script läuft (selbstverständlich im Admin-Modus) eigentlich auch fehlerfrei durch, bis eben zum entscheidenden Punkt, wo die Registry-Einträge importiert werden.
    Was mir beim rumbasteln noch aufgefallen ist: hab mal einige Befehle separat ausgeführt und so z.b. die Registry System_00 mal einzeln geladen. Dort ist – so wie ich das erkenne – KEIN CurrentControlSet gelistet. Kann das was damit zu tun haben?
    Grüße und schon mal vielen Dank!

  41. andy

    Ein CurrentControlSet gibt es nur bei laufendem Windows, daher versucht das Skript ab Zeile 73 das zuletzt verwendete ControlSet zu ermitteln, allerdings nur bis drei. Wie im Update des Beitrags kann es aber auch vorkommen, das man mehr ControlSets hat. Vielleicht mal den Inhalt von “HKLMSYSTEM_00Select” posten.

  42. MarcB

    In Select sind 4 Schlüssel, Current (0x1), Default (0x1), Failed (0x0) und LastKnownGood (0x2)
    Ich hab im Rahmen meiner eigenen Reparaturversuche schon mal per Win-Reparatur-CD den MBR reparieren lassen. Hoffe, das hat nix zerschossen…

  43. andy

    Demnach wäre es “ControlSet001” und sollte normalerweise funktionieren (und hat es bei uns auch schon unzählige Male).
    So wie ich das verstanden habe, klappt grundsätzlich das Laden der Registry, also könnte man die Datei “MergeIDE-AHCI-001.reg” nun manuell importieren (Doppelt anklicken, …).
    Danach die Registry entladen und versuchen von der Platte zu booten.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

© 2024 Andy's Blog

Theme von Anders NorénHoch ↑