Как я могу исправить поврежденный файл WIM?

1688
Ryan Steinmetz

TLDR
У меня есть поврежденный архив WIM, который я пытаюсь извлечь. Я попытался использовать DISM, но он не позволяет мне монтировать его, потому что он не распознает его как файл WIM. Я также пытался редактировать его с помощью шестнадцатеричного редактора, но я не знаю, что я могу изменить.

Проблема
Я использовал 7-zip в Windows 10 для создания файла WIM, содержащего несколько папок в моем домашнем каталоге, а затем переместил его на внешний жесткий диск по сети. Когда я позже попытался извлечь его с помощью 7-zip, он открылся бы как zip-файл со следующим содержимым:

  • _rels
    • .rels.xml
  • docProps
    • app.xml
    • core.xml
  • слово
    • _rels
      • document.xml.rels
    • тема
      • theme1.xml
    • document.xml
    • fontTable.xml
    • settings.xml
    • styles.xml
    • webSettings.xml
  • [Content_Types] .xml

Что я пробовал до сих пор
Это результат использования тестовой архивной функции 7-zip:

D: \ WIMFile.wim
Предупреждения:
Есть некоторые данные после окончания данных полезной нагрузки.
Предупреждение
Невозможно открыть файл как архив [wim]
Файл открыт как архив [zip]

Я немного погуглил и наткнулся на это, в котором говорится, что вы можете использовать DISM для восстановления файла WIM. К сожалению, если я что-то упустил, вам нужно смонтировать файл, чтобы исправить это. Я попытался смонтировать его с помощью «dism / Apply-Image /ImageFile:D:\WIMFile.wim / Index: 1 / ApplyDir: D: \ mountPoint» в командной строке Windows и получил эту ошибку:

Ошибка: 11

Была предпринята попытка загрузить программу с неверным форматом.

Файл журнала DISM находится по адресу C: \ WINDOWS \ Logs \ DISM \ dism.log

глядя на файл журнала показывает это:

Предупреждение DISM DISM WIM-провайдер: PID = 6912 [ReadWimHeader: (1723) -> несоответствие версии / заголовка] D: \ WIMFile.wim (HRESULT = 0x8007000B) - CWimManager :: WimProviderMsgLogCallback [6912] [0xc144012e]

Ошибка DISM DISM WIM-провайдер: PID = 6912 [WIMCreateFile: (425)> -> Не удается прочитать WIM-заголовок] D: \ WIMFile.wim (HRESULT = 0x8007000B) - CWimManager :: WimProviderMsgLogCallback

Я сделал еще немного, и прибегая к помощи нашел здесь, что с 7z архивов вы можете вручную редактировать архив с шестнадцатеричным редактором и замените поврежденные детали. Я сделал несколько других файлов WIM только для сравнения и смог открыть их в FAR Manger. Поврежденный файл имеет размер 43 ГБ, что, по-видимому, слишком много, потому что говорит мне следующее:

Не
удается открыть файл D: \ WIMFile.wim
Недостаточно памяти для обработки этой команды

Итак, я вернулся в Google и не смог найти ничего, связанного с FAR Manager, но обнаружил support.microsoft.com/en-us/kb/106167 (извините, я использовал свою квоту на ссылку) и решил, что дам ее выстрел. Мне пришлось создать запись в реестре и установить максимальное значение до 12, но это не имело значения.

Затем, пытаясь освободить больше места, я подумал, что могу переключиться на почти пустой жесткий диск емкостью 500 ГБ с Kubuntu 14.04 на нем. Мне пришлось переключиться на шестнадцатеричный редактор под названием Bless, потому что FAR Manager работает только в Windows, но я смог открыть поврежденный файл. Единственный, очевидно, похожий аспект между тестовыми WIM-файлами, которые я сделал, - это текст «MSWIM» в самом начале каждого файла. В поврежденном файле этого не было, поэтому я добавил его, но это не имело значения. Я не уверен, что еще я могу изменить, не испортив файл дальше.

Вопрос
Итак, что еще можно изменить с помощью шестнадцатеричного редактора, чтобы я мог извлечь этот файл? Я что-то пропустил с DISM, который позволяет вам исправить файл, не монтируя его? Я открыт для любых других решений.

Редактировать
Я забыл упомянуть, что я также пробовал режим разбора 7-zip. Это дало мне кучу архивов, некоторые из которых я мог открыть, и в них были некоторые мои файлы. Был еще один большой файл, который составлял около 90% исходного файла WIM, и который все еще отказывался открываться.

2
Возможно, полезная отправная точка: [технический документ в формате WIM] (https://www.microsoft.com/en-us/download/details.aspx?id=13096) Ben N 8 лет назад 0
@BenN I took a look and it appears to be in Assembly. The problem is, I can't view it as Assembly. When I used FAR Manager to open my test WIM files, it showed them in Assembly, but I can't view the corrupt file in FAR Manager as stated above. Ryan Steinmetz 8 лет назад 0

0 ответов на вопрос

Похожие вопросы