Принудительно размонтировать/удалить смонтированный Windows WIM-файл с помощью DISM

Принудительно размонтировать/удалить смонтированный Windows WIM-файл с помощью DISM

Я использую DISM для настройки и обновления образов, которые я развертываю на наших компьютерах. Я делаю это на внешнем диске, потому что он действительно нагружает ввод-вывод. Некоторое время назад я, кажется, оставил образ смонтированным на моем диске F как F:\WIN81MOUNT. Файлы там. dism /get-mountedwiminfoОднако запуск показывает, что нет смонтированных WIM-файлов. Таким образом, я понятия не имею, как удалить WIN81MOUNT, поскольку я не могу перемонтировать, размонтировать или просто удалить папку (файлы имеют разрешения типа SYSTEM, как в образе Windows).

Как мне принудительно размонтировать или перемонтировать этот WIM? Я перепробовал все стандартные опции, такие как unmount-wim, cleanup-image, remount-wim... ни одна из них не работает, говорит, что запрос не поддерживается. В журнале указано "Это не точка монтирования WIM".

решение1

Следующая информация взята с сайта "http://trueliarx.blogspot.co.uk/2014/07/force-unmount-and-clean-up-of-wim-image.html"

Принудительное размонтирование и очистка образа Wim с помощью DISM

При использовании RT7 (+ AIK) иногда возникает ошибка, сообщающая о том, что смонтирован wim-файл (например, boot.wim).

Для решения проблемы необходимо выполнить от имени администратора команду:

dism /cleanup-wim

Если это не сработает, я нашел другое решение: отредактируйте реестр и удалите все (необходимые) записи в нем:

HKLM\SOFTWARE\Microsoft\WIMMount\mounted images\

Это должно работать, если вы являетесь администратором.

Обычная процедура, которую вы уже использовали (?), показана ниже:

  1. Информацию можно найти в файле журнала, который можно найти по адресу:C:\Windows\Logs\DISM\dism.log

  2. В случае 64-битных инструментов обслуживания, ранее работавших на 64-битной версии Windows;

    1. В случае проблемы с повышенными привилегиями командной строки;

      cd C:\Program Files\Windows AIK\Tools\amd64\Servicing
      
    2. В той же проблеме с командной строкой с повышенными привилегиями;

      dism /?
      

      Может отображаться некоторая полезная информация.

    3. В той же проблеме с командной строкой с повышенными привилегиями;

      dism /Get-MountedWimInfo
      

      Может отображаться информация о смонтированных изображениях.

    4. Если обнаружены какие-либо смонтированные каталоги, которые необходимо демонтировать, для каждой проблемы с каталогами;

      dism /Unmount-Wim /Mountdir:C:\examplepath /commit
      

После завершения этого процесса соответствующие wim-файлы, найденные с помощью Get-MountedWimInfo, можно удалить с помощью проводника Windows.

решение2

Ничего из вышеперечисленного мне не помогло, так как, судя по всему, в разделе Dism нечего было чистить, кроме прав доступа к папке.

Я наконец нашел кое-что работающее (если перечисленные выше решения для реестра и dism не работают):

Сначала необходимо изменить права владельца «поврежденной» папки монтирования:

Щелкните правой кнопкой мыши папку -> Свойства -> вкладка Безопасность -> кнопка Дополнительно -> вкладка Владелец -> кнопка Изменить -> Выберите свою учетную запись пользователя -> Активируйте опцию Заменить владельца подконтейнеров и объектов.

После завершения закройте все окна свойств и снова откройте «Свойства» -> вкладка «Безопасность» -> кнопка «Дополнительно» -> вкладка «Разрешения» -> кнопка «Изменить разрешения» -> добавьте учетную запись пользователя и выберите «Заменить все дочерние объекты...».

Затем откройте командную строку с правами администратора ( https://technet.microsoft.com/fi-fi/library/cc947813%28v=ws.10%29.aspx )

Введите следующее и нажмите Enter:

DISM /Cleanup-Wim Теперь вы сможете удалить все оставшиеся файлы/папки.

Источник :https://www.wincert.net/forum/topic/12680-cant-delete-wintoolkit_mount-folder/?do=findComment&comment=116249

решение3

В крайнем случае:

  1. Откройте реестр и перейдите в раздел HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WIMMount\Mounted Images.
  2. Там вы должны найти один или несколько подразделов со странными именами, например [e86b54b7-dc5f-4c15-8eb5-9b615bc3b154]
  3. Откройте первую из этих папок и выясните, соответствует ли она смонтированному образу, который выглядит поврежденным; используйте значения [Mount Path], [WIM Path] и [Image Index], чтобы выяснить это. Как только вы найдете правильный подраздел, упомянутый в пункте 2 выше, удалите его.
  4. Удалите и заново создайте папку Mount.

решение4

Просмотрите и отмонтируйте все оставшиеся Wim-файлы с помощью PowerShell.

$subKeyMatch = "Mount Path"
$orphMountedWims = @()
$regMounted = "REGISTRY::HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WIMMount\mounted images"
$mountedKey = [array](Get-ChildItem "$($regMounted)\" -Recurse -Depth 0)
foreach ($key in $mountedKey) {
    $keyProps = ((Get-Item -path "REGISTRY::$key").property)
    foreach ($subKey in $keyProps) {
        if ($subKey -like "$($subKeyMatch)") {
            $regSubPropValue = Get-ItemProperty -path "REGISTRY::$Key" | Select-Object -ExpandProperty $subKey 
            $orphMountedWims += $regSubPropValue
        }
    }
}

if (($orphMountedWims | Measure-Object).Count -ge 1) {
    Write-Warning "Orphaned WIM(s) have been found."
    foreach ($oMWim in $orphMountedWims) { 
        try {
            Write-Output "Attempting to dismount and discard changes for Orphaned [Path: $($oMWim)]"
            Dismount-WindowsImage -Path "$($oMWim)"-Discard
            Write-Output "Success discarding changes."
        }
        catch [System.exception] {           
            Write-Error "Error - Failed to dismount and dicard changed from Orphaned wim [Mount Path: $($oMWim)]. Error: $($_.exception.message)"
            continue
        }
    }
}
else {
    Write-output "No Orphaned WIM files found, module clear to run."
}

Связанный контент