DISM を強制的に使用して、マウントされた Windows WIM をアンマウント/削除する

DISM を強制的に使用して、マウントされた Windows WIM をアンマウント/削除する

DISM を使用して、コンピューターに展開するイメージをカスタマイズおよび更新します。I/O が非常に重いため、外付けドライブでこれを行います。しばらく前に、F:\WIN81MOUNT として F ドライブにイメージをマウントしたままにしていたようです。ファイルはそこにあります。dism /get-mountedwiminfoただし、実行すると、マウントされた WIM がないことが示されます。そのため、フォルダーを再マウント、マウント解除、または削除することはできないため、WIN81MOUNT を削除する方法がわかりません (ファイルには、Windows イメージにあるように、SYSTEM などのアクセス許可があります)。

この 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」からのものです。

DISM を使用して Wim イメージを強制的にアンマウントしてクリーンアップする

RT7 (+ AIK) を使用すると、マウントされた wim (例) があることを示すエラーが発生することがあります boot.wim

この問題を解決するには、管理者として次のコマンドを実行する必要があります。

dism /cleanup-wim

うまくいかない場合は、レジストリを編集して、その中のすべての(必要な)エントリを削除するという別の解決策を見つけました。

HKLM\SOFTWARE\Microsoft\WIMMount\mounted images\

管理者である限り動作するはずです。

すでに使用している通常の手順(?)を以下に示します。

  1. ログ ファイル内の情報は、次の場所にあります。C:\Windows\Logs\DISM\dism.log

  2. 以前は 64 ビット Windows で実行されていた 64 ビット サービス ツールの場合、

    1. 管理者特権でのコマンド プロンプトの問題:

      cd C:\Program Files\Windows AIK\Tools\amd64\Servicing
      
    2. 同じ管理者特権でのコマンド プロンプトの問題では、

      dism /?
      

      役に立つ情報が表示される場合があります。

    3. 同じ管理者特権でのコマンド プロンプトの問題では、

      dism /Get-MountedWimInfo
      

      マウントされたイメージに関する情報が表示される場合があります。

    4. 各 Dir 発行ごとに、マウントされている Dir が見つかり、アンマウントする必要がある場合。

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

これが完了したら、 で見つかった関連する wim ファイルをGet-MountedWimInfoWindows エクスプローラーを使用して削除できます。

答え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]のような奇妙な名前のサブキーが1つ以上あるはずです。
  3. これらのフォルダーの最初のものを開き、破損しているように見えるマウントされたイメージに対応しているかどうかを確認します。確認するには、[マウント パス]、[WIM パス]、[イメージ インデックス] の値を使用します。上記のポイント 2 で説明した正しいサブキーを見つけたら、それを削除します。
  4. マウント フォルダーを削除して再作成します。

答え4

PowerShell を使用して、残っている Wim をループしてマウント解除します。

$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."
}

関連情報