DISM zum Aushängen/Löschen eines gemounteten Windows WIM zwingen

DISM zum Aushängen/Löschen eines gemounteten Windows WIM zwingen

Ich verwende DISM, um Images anzupassen und zu aktualisieren, die ich auf unseren Computern bereitstelle. Ich mache das auf einem externen Laufwerk, weil es sehr viele E/A benötigt. Vor einiger Zeit habe ich das Image anscheinend auf meinem Laufwerk F als F:\WIN81MOUNT gemountet gelassen. Die Dateien sind da. Beim Ausführen dism /get-mountedwiminfozeigt sich jedoch, dass keine gemounteten WIMs vorhanden sind. Daher habe ich keine Ahnung, wie ich WIN81MOUNT löschen soll, da ich den Ordner nicht erneut mounten, unmounten oder einfach löschen kann (Dateien haben Berechtigungen für Dinge wie SYSTEM, wie sie im Windows-Image sind).

Wie kann ich das Aushängen oder erneute Einhängen dieses WIM erzwingen? Ich habe alle Standardoptionen wie „unmount-wim“, „cleanup-image“ und „remount-wim“ ausprobiert … keine davon funktioniert, da die Anforderung nicht unterstützt wird. Im Protokoll steht „Dies ist kein WIM-Einhängepunkt.“.

Antwort1

Die folgenden Informationen stammen von „http://trueliarx.blogspot.co.uk/2014/07/force-unmount-and-clean-up-of-wim-image.html“

Erzwingen Sie die Deinstallation und Bereinigen eines WIM-Images mit DISM

Bei Verwendung von RT7 (+ AIK) tritt manchmal ein Fehler auf, der besagt, dass ein gemountetes WIM vorhanden ist (z. B. boot.wim).

Um das Problem zu lösen, sollten Sie als Administrator den folgenden Befehl ausführen:

dism /cleanup-wim

Wenn das nicht funktioniert, habe ich eine andere Lösung gefunden, indem ich die Registrierung bearbeitet und alle (erforderlichen) Einträge darin gelöscht habe:

HKLM\SOFTWARE\Microsoft\WIMMount\mounted images\

Es sollte funktionieren, solange Sie Administrator sind.

Nachfolgend sehen Sie die reguläre Vorgehensweise, die Sie bereits verwendet haben (?):

  1. Informationen dazu finden Sie in der Protokolldatei unter:C:\Windows\Logs\DISM\dism.log

  2. Im Fall von 64-Bit-Wartungstools, die zuvor unter 64-Bit-Windows ausgeführt wurden;

    1. Bei einem Problem mit der Eingabeaufforderung mit erhöhten Rechten;

      cd C:\Program Files\Windows AIK\Tools\amd64\Servicing
      
    2. Im selben Problem mit der Eingabeaufforderung mit erhöhten Rechten;

      dism /?
      

      Möglicherweise werden einige hilfreiche Informationen angezeigt.

    3. Im selben Problem mit der Eingabeaufforderung mit erhöhten Rechten;

      dism /Get-MountedWimInfo
      

      Möglicherweise werden Informationen zu gemounteten Bildern angezeigt.

    4. Wenn für jedes Dir-Problem gemountete Dirs gefunden werden, die demontiert werden müssen;

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

Nachdem dies abgeschlossen ist, Get-MountedWimInfokönnen die zugehörigen WIM-Dateien, die mit gefunden wurden, mit dem Windows Explorer gelöscht werden.

Antwort2

Nichts davon hat bei mir funktioniert, da es anscheinend im Dism-Teil nichts zu bereinigen gab, nur die Berechtigungen für den Ordner.

Ich habe endlich etwas Funktionierendes gefunden (falls die oben aufgeführten Registry- und Dism-Lösungen nicht funktionieren):

Zuerst müssen Sie die Eigentümerberechtigung des „beschädigten“ Mount-Ordners ändern:

Klicken Sie mit der rechten Maustaste auf den Ordner -> Eigenschaften -> Registerkarte Sicherheit -> Schaltfläche Erweitert -> Registerkarte Besitzer -> Schaltfläche Bearbeiten -> Wählen Sie Ihr Benutzerkonto aus -> Aktivieren Sie „Besitzer für Untercontainer und Objekte ersetzen“.

Wenn Sie fertig sind, schließen Sie alle Eigenschaftenfenster und öffnen Sie erneut Eigenschaften -> Registerkarte Sicherheit -> Schaltfläche Erweitert -> Registerkarte Berechtigungen -> Schaltfläche Berechtigungen ändern -> Fügen Sie Ihr Benutzerkonto hinzu und wählen Sie Alle untergeordneten Objekte ersetzen …

Öffnen Sie dann die Eingabeaufforderung mit Administratorrechten ( https://technet.microsoft.com/fi-fi/library/cc947813%28v=ws.10%29.aspx )

Geben Sie Folgendes ein und drücken Sie die Eingabetaste:

DISM /Cleanup-Wim Jetzt sollten Sie in der Lage sein, alle übrig gebliebenen Dateien/Ordner zu löschen.

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

Antwort3

Als letztes:

  1. Öffnen Sie die Registrierung und gehen Sie zum Schlüssel HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WIMMount\Mounted Images.
  2. Dort sollten Sie einen oder mehrere Unterschlüssel mit seltsamen Namen wie [e86b54b7-dc5f-4c15-8eb5-9b615bc3b154] finden.
  3. Öffnen Sie den ersten dieser Ordner und prüfen Sie, ob er dem gemounteten Image entspricht, das beschädigt zu sein scheint. Verwenden Sie zur Ermittlung die Werte [Mount Path], [WIM Path] und [Image Index]. Wenn Sie den richtigen, in Punkt 2 oben genannten Unterschlüssel gefunden haben, löschen Sie ihn.
  4. Löschen Sie den Mount-Ordner und erstellen Sie ihn neu.

Antwort4

Führen Sie eine Schleife durch und demontieren Sie alle verbleibenden Wim-Dateien mit 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."
}

verwandte Informationen