Wie kann ich eine beschädigte WIM-Datei reparieren?

1753
Ryan Steinmetz

TLDR
Ich habe ein beschädigtes WIM-Archiv, das ich extrahieren möchte . Ich habe es mit DISM versucht, aber ich kann es nicht mounten, weil es nicht als WIM-Datei erkannt wird. Ich habe es auch mit einem Hex-Editor bearbeitet, weiß aber nicht, was ich ändern kann.

Problem
Ich habe 7-zip unter Windows 10 verwendet, um eine WIM-Datei zu erstellen, die eine Reihe von Ordnern in meinem Home-Verzeichnis enthält, und dann über ein Netzwerk auf eine externe Festplatte verschoben. Wenn ich später versuchte, es mit 7-zip zu extrahieren, wurde es nur als ZIP-Datei mit folgendem Inhalt geöffnet:

  • rollen
    • .rels.xml
  • docProps
    • app.xml
    • core.xml
  • Wort
    • rollen
      • document.xml.rels
    • Thema
      • theme1.xml
    • document.xml
    • fontTable.xml
    • Einstellungen.xml
    • styles.xml
    • webSettings.xml
  • [Content_types] .xml

Was ich bisher ausprobiert habe
Dies ist das Ergebnis der Verwendung der Testarchivierungsfunktion von 7-zip:

D: \ WIMFile.wim
Warnungen:
Nach dem Ende der Nutzdaten sind einige Daten vorhanden.
Warnung Die Datei
kann nicht als [wim] -Archiv
geöffnet werden. Die Datei ist als [zip] -Archiv geöffnet

Ich habe etwas gegoogelt und bin auf dieses Problem gestoßen, das besagt, dass Sie mit DISM eine WIM-Datei reparieren können. Wenn nichts fehlt, müssen Sie die Datei leider einhängen, um sie zu beheben. Ich habe versucht, es mit "dism / Apply-Image /ImageFile:D:\WIMFile.wim / Index: 1 / ApplyDir: D: \ mountPoint" in der Windows-Befehlszeile zu mounten, und erhielt diesen Fehler:

Fehler: 11

Es wurde versucht, ein Programm mit einem falschen Format zu laden.

Die DISM-Protokolldatei befindet sich unter C: \ WINDOWS \ Logs \ DISM \ dism.log

Ein Blick auf die Protokolldatei zeigt Folgendes:

Warnung DISM DISM WIM-Anbieter: PID = 6912 [ReadWimHeader: (1723) -> Version / Header stimmen nicht überein] D: \ WIMFile.wim (HRESULT = 0x8007000B) - CWimManager :: WimProviderMsgLogCallback [6912] [0xc144012e]

Fehler DISM DISM WIM-Anbieter: PID = 6912 [WIMCreateFile: (425)> -> Fehler beim Lesen des WIM-Headers] D: \ WIMFile.wim (HRESULT = 0x8007000B) - CWimManager :: WimProviderMsgLogCallback

Ich habe noch etwas gegoogelt und festgestellt , dass Sie mit 7z-Archiven das Archiv manuell mit einem Hex-Editor bearbeiten und die beschädigten Teile ersetzen können. Ich habe einige andere WIM-Dateien nur zum Vergleich erstellt und konnte sie in FAR Manger öffnen. Die beschädigte Datei ist jedoch 43 GB groß, was anscheinend zu groß ist, weil sie mir Folgendes sagt:

Datei kann nicht geöffnet werden
D: \ WIMFile.wim Für
diesen Befehl steht nicht genügend Speicher zur Verfügung

Also ging ich zurück zu google und konnte nichts im Zusammenhang mit FAR Manager finden, aber ich fand support.microsoft.com/de-de/kb/106167(sorry, ich habe mein Link-Kontingent aufgebraucht) und dachte, ich würde es geben ein Schuss. Ich musste den Registrierungseintrag erstellen und den Wert auf maximal 12 setzen, aber es machte keinen Unterschied.

Um mehr Platz zu gewinnen, dachte ich, ich könnte auf meine fast leere 500-GB-Festplatte mit Kubuntu 14.04 wechseln. Ich musste zu einem Hex-Editor namens Bless wechseln, da FAR Manager nur Windows ist, aber ich konnte die beschädigte Datei öffnen. Der einzige offensichtlich ähnliche Aspekt zwischen den von mir erstellten Test-WIM-Dateien war der Text "MSWIM" am Anfang jeder Datei. Der beschädigten Datei fehlte dies, also habe ich sie hinzugefügt, aber es machte keinen Unterschied. Ich bin nicht sicher, was ich sonst noch ändern kann, ohne die Datei weiter zu beschädigen.

Frage
Was kann ich sonst mit dem Hex-Editor ändern, damit ich diese Datei extrahieren kann? Habe ich mit DISM etwas verpasst, mit dem Sie eine Datei reparieren können, ohne sie anzuhängen? Ich bin auch offen für andere Lösungen.

Bearbeiten
Ich habe vergessen zu erwähnen, dass ich auch den Parser-Modus von 7-zip ausprobiert habe. Es gab mir eine Reihe von Archiven, von denen ich einige öffnen konnte und in denen sich einige meiner Akten befanden. Es gab immer noch eine große Datei, die etwa 90% der ursprünglichen WIM-Datei entsprach und sich immer noch nicht öffnen ließ.

2
Möglicherweise ein hilfreicher Ausgangspunkt: [White Paper des WIM-Dateiformats] (https://www.microsoft.com/de-de/download/details.aspx?id=13096) Ben N vor 7 Jahren 0
@BenN Ich habe nachgesehen und scheint in der Montage zu sein. Das Problem ist, ich kann es nicht als Assembly betrachten. Wenn ich FAR Manager zum Öffnen meiner Test-WIM-Dateien verwendet habe, wurden sie in Assembly angezeigt. Die beschädigte Datei kann jedoch nicht wie oben angegeben in FAR Manager angezeigt werden. Ryan Steinmetz vor 7 Jahren 0

0 Antworten auf die Frage