Forzar a DISM a desmontar/eliminar un WIM de Windows montado

Forzar a DISM a desmontar/eliminar un WIM de Windows montado

Utilizo DISM para personalizar y actualizar imágenes que implemento en nuestras computadoras. Hago esto en un disco externo porque requiere mucha E/S. Hace un tiempo parece que dejé la imagen montada en mi unidad F como F:\WIN81MOUNT. Los archivos están ahí. Sin embargo, la ejecución dism /get-mountedwiminfomuestra que no hay WIM montados. Como tal, no tengo idea de cómo eliminar WIN81MOUNT ya que no puedo volver a montar, desmontar o simplemente eliminar la carpeta (los archivos tienen permisos de cosas como SISTEMA, como están en la imagen de Windows).

¿Cómo puedo forzar que este WIM se desmonte o vuelva a montar? Probé todas las opciones estándar, como unmount-wim, cleanup-image, remount-wim... ninguna de ellas funciona, diciendo que la solicitud no es compatible. El registro indica "Este no es un punto de montaje WIM".

Respuesta1

La siguiente información es de "http://trueliarx.blogspot.co.uk/2014/07/force-unmount-and-clean-up-of-wim-image.html"

Forzar el desmontaje y la limpieza de una imagen de Wim usando DISM

Cuando usas RT7 (+ AIK) a veces ocurre un error que indica que hay un wim montado (ej. boot.wim).

Para solucionar el problema debes ejecutar, como administrador, el comando:

dism /cleanup-wim

Si no funciona, encontré otra solución editando el registro y eliminando todas las entradas (necesarias) dentro de:

HKLM\SOFTWARE\Microsoft\WIMMount\mounted images\

Debería funcionar mientras seas administrador.

El procedimiento habitual, que ya ha utilizado (?), se muestra a continuación:

  1. La información se puede encontrar en el archivo de registro que se puede encontrar en:C:\Windows\Logs\DISM\dism.log

  2. En el caso de herramientas de servicio de 64 bits ejecutadas previamente en Windows de 64 bits;

    1. En un problema elevado del símbolo del sistema;

      cd C:\Program Files\Windows AIK\Tools\amd64\Servicing
      
    2. En el mismo problema del símbolo del sistema elevado;

      dism /?
      

      Es posible que se muestre alguna información útil.

    3. En el mismo problema del símbolo del sistema elevado;

      dism /Get-MountedWimInfo
      

      Es posible que se muestre información sobre las imágenes montadas.

    4. Si se encuentra algún directorio montado que debe desmontarse, para cada problema de directorio;

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

Una vez completado esto, los archivos wim relacionados, que se encuentran con Get-MountedWimInfo, se pueden eliminar usando el Explorador de Windows.

Respuesta2

Nada de lo anterior funcionó para mí, ya que parecía que no había nada que limpiar en la parte dism, solo los permisos en la carpeta.

Finalmente encontré algo que funciona (si las soluciones de registro y dism enumeradas anteriormente no funcionan):

Primero debe cambiar el permiso del propietario de la carpeta de montaje "dañada":

Haga clic derecho en la carpeta -> Propiedades -> pestaña Seguridad -> botón Avanzado -> pestaña Propietario -> botón Editar -> Seleccione su cuenta de usuario -> Active Reemplazar propietario en subcontenedores y objetos.

Cuando termine, cierre todas las ventanas de propiedades y abra Propiedades nuevamente -> pestaña Seguridad -> botón Avanzado -> pestaña Permisos -> botón Cambiar permisos -> Agregue su cuenta de usuario y seleccione Reemplazar todos los objetos secundarios...

Luego abra el símbolo del sistema con privilegios de administrador ( https://technet.microsoft.com/fi-fi/library/cc947813%28v=ws.10%29.aspx )

Escribe lo siguiente y presiona enter:

DISM /Cleanup-Wim Ahora debería poder eliminar todos los archivos/carpetas sobrantes.

Fuente :https://www.wincert.net/forum/topic/12680-cant-delete-wintoolkit_mount-folder/?do=findComment&comment=116249

Respuesta3

Como último recurso:

  1. Abra el registro y vaya a la clave HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WIMMount\Mounted Images.
  2. Allí debería encontrar una o más subclaves con nombres extraños como [e86b54b7-dc5f-4c15-8eb5-9b615bc3b154]
  3. Abra la primera de estas carpetas y averigüe si corresponde a la imagen montada que parece corrupta; utilice los valores [Ruta de montaje], [Ruta WIM] e [Índice de imagen] para averiguarlo. Una vez que haya encontrado la subclave correcta mencionada en el punto 2 anterior, elimínela.
  4. Elimine y vuelva a crear la carpeta Mount.

Respuesta4

Recorra y desmonte los restos de Wim con 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."
}

información relacionada