2

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, и который все еще отказывался открываться.

0