Como corrijo um arquivo WIM corrompido?

2

TLDR
Eu tenho um arquivo WIM corrupto que estou tentando extrair. Eu tentei usar o DISM, mas ele não me permite montá-lo porque ele não o reconhece como um arquivo WIM. Eu também tentei editá-lo com um editor hexadecimal, mas não sei o que posso mudar.

Problema
Eu usei 7-zip no Windows 10 para criar um arquivo WIM contendo um monte de pastas no meu diretório pessoal e, em seguida, movi-lo para um disco rígido externo através de uma rede. Quando eu tentei extraí-lo mais tarde com 7-zip, ele só iria abri-lo como um arquivo zip com o seguinte conteúdo:

  • _rels
    • .rels.xml
  • docProps
    • app.xml
    • core.xml
  • palavra
    • _rels
      • document.xml.rels
    • tema
      • theme1.xml
    • document.xml
    • fontTable.xml
    • settings.xml
    • styles.xml
    • webSettings.xml
  • [Content_types] .xml

O que eu tentei até agora
Este é o resultado da utilização da função de arquivo de teste do 7-zip:

D:\WIMFile.wim
Warnings:
There are some data after the end of the payload data
Warning
Can not open the file as [wim] archive
The file is open as [zip] archive

Fiz algumas pesquisas e deparei-me com isso que diz que você pode usar o DISM para reparar um arquivo WIM. Infelizmente, a menos que esteja faltando alguma coisa, é necessário montar o arquivo para corrigi-lo. Eu tentei montá-lo com "Dism / Aplicar-Image / ImageFile: D: \ WIMFile.wim / Index: 1 / ApplyDir: D: \ mountPoint" na linha de comando do Windows e tenho esse erro:

Error: 11

An attempt was made to load a program with an incorrect format.

The DISM log file can be found at C:\WINDOWS\Logs\DISM\dism.log

olhando para o arquivo de log mostra isso:

Warning DISM DISM WIM Provider: PID=6912 [ReadWimHeader:(1723) -> version/header mismatch] D:\WIMFile.wim (HRESULT=0x8007000B) - CWimManager::WimProviderMsgLogCallback [6912] [0xc144012e]

Error DISM DISM WIM Provider: PID=6912 [WIMCreateFile:(425) > -> Fail to read WIM header] D:\WIMFile.wim (HRESULT=0x8007000B) - CWimManager::WimProviderMsgLogCallback

Eu pesquisei mais algumas vezes e encontrei aqui que com arquivos 7z você pode editar manualmente o arquivo com um hex editor e substituir as partes corruptas. Fiz alguns outros arquivos WIM apenas para comparação e consegui abri-los no FAR Manger. O arquivo corrompido é de 43 GB, o que aparentemente é grande porque me diz isso:

Cannot open the file
D:\WIMFile.wim
Not enough storage is available to process this command

Então, voltei para o Google e não consegui encontrar nada relacionado ao FAR Manager, mas encontrei support.microsoft.com/en-us/kb/106167(sorry, usei minha cota de link) e calculei que daria um tiro. Eu tive que criar a entrada do registro e colocar o valor no máximo de 12, mas isso não fez diferença.

Em seguida, em um esforço para obter mais espaço, achei que poderia mudar para o meu disco rígido quase vazio de 500 GB com o Kubuntu 14.04 nele. Eu tive que mudar para um editor hexadecimal chamado Bless porque o FAR Manager é somente para windows, mas eu consegui abrir o arquivo corrompido. O único aspecto obviamente similar entre os arquivos WIM de teste que fiz foi o texto "MSWIM" no início de cada arquivo. O arquivo corrompido estava faltando isso, então eu adicionei, mas não fez diferença. Não sei o que mais posso mudar sem estragar ainda mais o arquivo.

Pergunta
Então, o que mais eu posso mudar com o editor hexadecimal para que eu possa extrair esse arquivo? Eu perdi algo com DISM que permite consertar um arquivo sem montá-lo? Estou aberto a outras soluções também.

Editar
Eu esqueci de mencionar que eu também tentei o modo de análise do 7-zip. Isso me deu um monte de arquivos, alguns dos quais eu poderia abrir e eles tinham alguns dos meus arquivos neles. Ainda havia um arquivo grande que era cerca de 90% do arquivo WIM original e que ainda se recusava a abrir.

    
por Ryan Steinmetz 11.08.2016 / 04:13

0 respostas