Windows 10 WIMイメージから組み込みアプリと機能を削除する方法

Windows 10 のインストールイメージを展開用にクリーンアップしてカスタマイズする方法

Windows イメージ、特にinstall.wimファイルやinstall.esdファイルを扱っている方は、ファイルサイズが大きくなり、煩雑になることに気付いたことがあるでしょう。特に、複数のマシンに展開したり、カスタムインストールメディアを作成したりする場合は、非常に煩雑です。このガイドは少し分かりにくいですが、余分なエディション、UWP アプリ、不要な機能を削除し、本当に必要なものだけを含む、よりシンプルでクリーンなイメージを作成する方法を解説します。また、これらの作業を自動化する方法を知っておくと、特に繰り返し実行したりスクリプトを使って実行したりする場合、大幅な時間節約になります。

基本的には、DISMとPowerShellを使って、不要なWindowsエディションやUWP組み込みアプリを削除したり、特定の機能を無効化/削除したりします。これらの手順は、インストールの高速化、ディスク容量の節約、そして不要なファイルの削減に役立ちます。ただし、Windowsイメージの操作は複雑で、最初から完璧にうまくいくとは限らないことを覚えておいてください。特にイメージのマウント/アンマウントやアプリの削除など、試行錯誤が必要になるでしょう。しかし、きちんと整理されたカスタマイズされたインストール環境が完成すれば、その価値は十分にあります。

WIM ファイルから余分な Windows エディションを削除する方法

なぜ、いつ役立つのか

WIMファイルまたはESDファイルに複数のWindowsエディション(Windows 10 ProとEnterpriseの両方など)が含まれている場合、使用しないエディションを削除すると、サイズと複雑さを軽減できます。特に、特定の環境向けにカスタムインストールメディアを作成している場合は効果的です。これは主にメタデータのクリーンアップです。技術的には、エディションを削除してもそれほど多くのスペースは節約されず、XMLファイルと情報ファイルがいくつか残るだけだからです。

やり方

  • まず、WIM/ESDファイル内のすべてのエディション(またはイメージ)のリストを取得します。これにより、インデックスを特定しやすくなります。
Dism /Get-WimInfo /WimFile:"C:\Path\to\install.esd"
  • どのようなエディションがあるのか​​を確認し、保持したいエディションのインデックスをメモします (たとえば、Windows 10 Pro の場合はインデックス 6)。
  • export-image を使用して、そのエディションだけを新しい WIM に抽出します。これにより、必要なエディションだけが保持されます。
  • Dism /export-image /SourceImageFile:c:\sources\install.esd /SourceIndex:6 /DestinationImageFile:c:\iso\install.wim /Compress:max /CheckIntegrity
  • 既存の WIM から他のエディションを削除する場合は、次の操作を実行できます。
  • Dism /Delete-Image /ImageFile:c:\sources\install.wim /Index:1 /CheckIntegrity Dism /Delete-Image /ImageFile:c:\sources\install.wim /Index:3 /CheckIntegrity

    (インデックスを削除したいものに置き換えます。または、/Name パラメーターで「Windows 10 Education」などの名前を使用します。)

    一部のマシンでは、このプロセスが最初から完璧に動作しないことがよくあります。その後、コマンドを再実行したり、イメージを検証したりする必要があります。これはWindows 10 1909でテストされましたが、コマンドは概ね正常に動作します。

    Windows イメージから組み込み UWP アプリを削除する

    なぜ気にするの?

    Bing Weather、Money、XboxアプリなどのUWPアプリは、最小限のイメージを構築する場合、少々厄介です。これらのアプリを削除すると、不要なアプリが減り、空き容量が増え、デプロイが高速化されます。ただし、EdgeやCortanaなどのアプリは完全に削除するのが難しい場合があるので注意してください。GPOで無効化してください。また、電卓やフォトアプリなどは、よりWindowsに深く浸透しているため、削除すると他の問題が発生する可能性があるため、削除せずに残しておきましょう。

    やり方

    • イメージをマウントするためのフォルダーを作成します (例: C:\mount)。
    • WIM をそのフォルダーにマウントします。
    dism.exe /mount-wim /wimfile:C:\Path\to\install.wim /mountdir:C:\mount /index:1

    (前の手順に基づいて正しいインデックスを使用します。)

  • プロビジョニングされている UWP アプリを確認するには、次のコマンドを実行します。
  • Dism.exe /image:C:\mount /Get-ProvisionedAppxPackages > C:\ps\apps.txt

    この出力は、 のようなパッケージ名を識別するのに役立ちますMicrosoft. BingWeather_4.25.20211.0_neutral_~_8wekyb3d8bbwe

  • 不要なアプリ(Bing Weather など)を削除します。
  • dism.exe /image:C:\mount /Remove-ProvisionedAppxPackage /PackageName:Microsoft. BingWeather_4.25.20211.0_neutral_~_8wekyb3d8bbwe

    (気に入らない他のアプリについても繰り返します。)

  • 完了したら、アンマウントして保存します。この手順を忘れないでください。
  • dism.exe /unmount-wim /mountdir:C:\mount /commit

    (変更を破棄したい場合は /discard を使用します。)

    自動化をご希望の場合は、TechNet の PowerShell スクリプト(こちら)をご利用ください。マウントと削除のプロセスをほぼ自動化します。以下のコマンドを実行するだけです。

    .\removeapps.ps1 -pathtowim C:\Path\to\install.wim -selectapps $true

    削除する項目を選択するメニューが表示され、残りは自動的に処理されます。権限に問題がある場合は、実行ポリシーをシャッフルするだけです。

    Set-ExecutionPolicy -ExecutionPolicy Unrestricted

    特定の機能や性能を無効化または削除する

    なぜ、いつ

    SMB1や追加の言語パックなど、不要なWindows機能を無効にしたい場合、DISMは非常にうまく対応します。不要なものを削除または無効化することで、処理速度が向上し、攻撃対象領域が縮小されます。

    やり方

    • イメージにインストールされている機能を確認します。
    Dism.exe /image:C:\mount /Get-Capabilities
  • PowerShell を使用して、インストールされているすべての Windows 機能を一覧表示することもできます。
  • Get-WindowsCapability -Path C:\mount | ? { $_. State -eq "Installed" }
  • Hello. Face (顔認識用) などの機能を削除するには、次のコマンドを実行します。
  • Dism.exe /image:C:\mount /Remove-Capability /CapabilityName:Hello. Face.18330~~~~0.0.1.0
  • または、次の方法で RSAT ツールなどの必要な機能をインストールします。
  • Get-WindowsCapability -Path C:\mount | ? { $_. Name -like "*RSAT*" -and $_. State -eq "NotPresent" } | Add-WindowsCapability -Path C:\mount
  • .NET や SMB プロトコルなどの機能を有効または無効にするには、次のようなコマンドを使用します。
  • dism.exe /image:C:\mount /enable-feature /featurename:netfx3 /all
    dism.exe /image:C:\mount /disable-feature /featurename:smb1protocol

    変更後の画像の最適化とクリーニング

    なぜそれが良いアイデアなのか

    イメージはできるだけ小さく、高速にしたいですよね。変更を加えた後は、クリーンアップコマンドを実行して、置き換えられたコンポーネントを削除し、サイズを縮小してください。

    やり方

    • 以前のコンポーネント バージョンをクリーンアップします。
    Dism /Image:C:\Mount /cleanup-image /StartComponentCleanup /ResetBase
  • 問題をスキャンします:
  • DISM /Image:C:\Mount /Cleanup-Image /ScanHealth
  • 満足したら、次のようにマウント解除して保存します。
  • dism.exe /unmount-wim /mountdir:C:\mount /commit

    (変更をキャンセルしたい場合は /discard を使用します。)

  • WIM を永続的に縮小するには、最大圧縮でエクスポートします。
  • Dism /Export-Image /SourceImageFile:c:\iso\install.wim /SourceIndex:1 /DestinationImageFile:c:\iso\install.esd /Compress:recovery

    すべてが完了したら、新しいinstall.wimまたはinstall.esdをメディアにコピーするだけで、より軽量なWindowsインストールイメージの準備が整います。Folder2ISOなどのツールや類似のユーティリティを使ってISOファイルを作成することもできます

    まとめ

    • DISM エクスポートおよび削除コマンドを使用して余分な Windows エディションを削除しました。
    • イメージをスリム化して肥大化を防ぐため、組み込みの UWP アプリをアンインストールしました。
    • よりスリムで安全なインストールを実現する管理された機能と機能。
    • イメージをクリーンアップしてサイズを縮小し、展開速度を向上しました。

    まとめ

    これらの調整は最初は少し面倒に思えるかもしれませんが、よりクリーンでコンパクトなWindowsイメージを展開しようとするなら、その価値は十分にあります。ただし、環境はそれぞれ異なるため、多少の試行錯誤は当然のことです。多少の失敗は覚悟の上でも、うまくいけばインストールとセットアップの時間を大幅に短縮できます。これで誰かの時間を数時間短縮できたり、少なくともプロセスが楽になったりすることを願っています。この調整が、よりクリーンで高速なWindowsビルドを誰かに提供することに役立つことを願っています。