cleanup-wim говорит, что успешно в партии, но Вим все еще осиротел

Это мой первый пост, но некоторое время я использовал stackru для решения любых проблем, с которыми я столкнулся.

(TL; DR: мой пакетный сценарий говорит, что он успешно размонтирует файл WIM, но когда я запрашиваю WIM, потерянные файлы остаются, пока я не запускаю /cleanup-wim вручную.)

Я пытаюсь создать командный файл для изменения образа Win PE, но у меня возникли проблемы с последним шагом.

По сути, мой сценарий сначала создает архитектуру amd64 win PE, монтирует файл WIM, редактирует куст реестра для файла SYSTEM (а затем закрывает куст), копирует файлы в определенные папки, затем должен отключить WIM и создать ISO, который можно записать на диск или скопировать на загрузочный USB.

Все работает, кроме размонтированной части.

Чтобы дать вам представление о том, как это сначала делается, я запускаю:

C: \ windows \ system32 \ Dism.exe / Mount-Wim /WimFile:C:\winpe_amd64\media\sources\boot.wim / index:1 / MountDir: C: \ winpe_amd64 \ mount

После изменений в реестре, создания файлов и т. Д. Я запускаю:

C: \ windows \ system32 \ Dism.exe / Unmount-Wim / MountDir: C: \ winpe_amd64 \ mount / commit
C: \ windows \ system32 \ Dism.exe /cleanup-wim

С /unmount-wim я иногда получаю эту ошибку:

Файл изображения: C: \ winpe_amd64 \ media \ sources \ boot.wim
Индекс изображения:1
Сохранение изображения
[==========================100,0%==========================]
Размонтирование изображения
[==========================100,0%==========================]

Ошибка: 0xc1420117

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

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

Вот почему я внедрил /cleanup-wim в свой скрипт. который вызывает:

Размонтирование образа в C:\winpe_amd64\mount
[==========================100,0%==========================]
Сканирование диска C для устаревших файлов
Операция завершилась успешно.

Тем не менее, это то, что возвращается, когда я запрашиваю любые смонтированные WIM, независимо от того, является ли начальный /unmount-wim полностью успешным или нет:

C: \ windows \ system32 \ dism.exe / get-mountwiminfo


Mount Dir: C:\winpe_amd64\mount
Файл изображения: C: \ winpe_amd64 \ media \ sources \ boot.wim
Индекс изображения:1
Установлено Чтение / Запись: Да
Статус: Неверный

Операция завершилась успешно.

И если я снова запущу /cleaup-wim вручную, он, наконец, будет успешно размонтирован:

Размонтирование образа в C:\winpe_amd64\mount
[==========================100,0%==========================]
Сканирование диска C для устаревших файлов
Операция завершилась успешно.

После повторного запроса никакие смонтированные / потерянные WIM не найдены. Я также пытался заставить мой пакетный скрипт ждать 5 секунд между /unmount-wim и /cleanup-wim, но все равно имел тот же результат. Я также вызвал другой пакетный скрипт с командой cleanup, но все еще без кубиков.

Какие-либо предложения?

1 ответ

В моем случае я пытался размонтировать образ в Windows 11.

После многих попыток и исследований у меня сработал следующий раствор.

Просто закройте папку, в которой находится изображение. В моем случае я закрыл «C:\winpe», а затем выполнил команду размонтирования. И это работает нормально.

Другие вопросы по тегам