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