В данной инструкции мы покажем, как удалить из установочного образа Windows 10 (файл install.wim) предустановленные программы, компоненты, а также удалим неиспользуемые редакции Windows. Все операции мы будем выполнять вручную с помощью DISM или PowerShell, но при желании все действия можно автоматизировать с помощью скриптов. На выходе мы получим собственный чистый дистрибутив Windows 10 без лишних дополнений. В нашем образе останутся только нужные современные приложения, компоненты и функции.
Эта статья об очистке и оптимизации установочного образа Windows 10 при его деплое на компьютеры организации в виде чистой установки или апгрейде билда. При апгрейде билда на компьютерах пользователей с помощью SCCM (с Windows 10 1803 до Windows 10 1909) через setup.exe /auto upgrade, мы обнаружили, что у пользователей опять появились удаленные ранее встроенные современные UWP (Metro) приложения.
Установочный файл install.wim
Когда вы устанавливаете Windows 10на компьютер, на самом деле на компьютер деплоится образ Windows из файла
\sources\install.wim
(или
install.esd
). Если ваш установочный образ Windows 10 хранится в виде ISO файла, смонтируйте его в вириуальный CD привод и скопируете файл E:\sources\install.wim (или install.esd) на локальный диск. Вы также можете скопировать всю директорию, но нам нужен только .wim файл.
Для внесения изменений в wim файл используется команда DISM. Если вы используете систему старее той, для которой делаете образ, убедитесь, что вы используете последнюю версию DISM. Для работы с install.wim файлами Windows 10 на других версиях ОС вам нужно установить средства развертывания Windows (Windows Assessment and Deployment Kit или Windows ADK). Вы можете скачать ADK здесь: https://msdn.microsoft.com/en-us/windows/hardware/dn913721.aspx Перейдите в конец и нажмите «Download the Windows ADK for Windows 10», на данный момент последняя версия ADK 1903. Вам нужно установить только средства развертывания (Deployment Tools), а не весь набор инструментов ADK.
При выполнении команд рекомендуется использовать полный путь к
dism.exe
, например ‘C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Deployment Tools\amd64\DISM\dism.exe’. Старые DISM могут не работать с более новыми .wim.
Удаление ненужных редакций из дистрибутива Windows 10
По умолчанию в установочном образе Windows 10, который генерирует утилита Windows 10 Media Creation Tool содержаться все доступные редакции Windows. Если вы используете только одну редакцию Windows 10 (как правило это Pro), вы можете удалить другие редакции из установочного образа.
Получим список доступных редакций Windows 10 в файле install.wim установочного образа:
Dism /Get-WimInfo /WimFile:"e:\sources\install.esd"
В нашем примере в образе присутствуют 9 редакций: Windows 10 Home, Windows 10 Home Single Language, Windows 10 Education, Windows 10 Enterprise, Windows 10 Pro и т.д. индексами от 1 до 9.
Вы можете экспортировать установочный образ конкретной редакции из ESD файла в WIM образ с помощью команды:
Dism /export-image /SourceImageFile:c:\sources\install.esd /SourceIndex:6 /DestinationImageFile:c:\iso\install.wim /Compress:max /CheckIntegrity
Данная команда создаст файл новый install.wim только с одной редакцией — Windows 10 Pro. Ее индекс в образе изменится на 1.
Получим подробную информацию об оставшемся образе в wim файле:
dism /get-wiminfo /wimfile:c:\iso\install.wim /index:1
Index : 4 Name : Windows 10 Pro Description : Windows 10 Pro Size : 14,754,777,474 bytes WIM Bootable : No Architecture : x64 Hal : <undefined> Version : 10.0.18363 ServicePack Build : 418 ServicePack Level : 0 Edition : Professional Installation : Client ProductType : WinNT ProductSuite : Terminal Server System Root : WINDOWS Directories : 22541 Files : 96467 Created : 10/7/2019 - 4:05:55 AM Modified : 11/15/2019 - 8:46:50 AM Languages : ru-RU (Default)
Если вам нужно оставить в install.wim несколько редакций Windows, вы можете удалить ненужные версии с помощью параметра /delete-image утилиты DISM.
Например, вы хотите удалить редакции Home и Home Single Language с индексами 1 и 3:
Dism /Delete-Image /ImageFile:c:\sources\install.wim /Index:1 /CheckIntegrity
Dism /Delete-Image /ImageFile:c:\sources\install.wim /Index:3 /CheckIntegrity
Параметр /CheckIntegrity позволяет отменить операции преобразования WIM файла, если команда DISM обнаружит повреждение в его структуре.
Либо можно удалить редакции по их имени:
Dism /Delete-Image /ImageFile:c:\sources\install.wim /Name:"Windows 10 Education" /CheckIntegrity
Также вы можете убрать ненужные версии из установочного образа Windows 10 с помощью PowerShell:
Remove-WindowsImage -ImagePath "c:\sources\install.wim" -Index 2 –CheckIntegrity
Удаление встроенных UWP приложений из установочного образа Windows 10
Также вы можете удалить из установочного образа Windows 10 все предустановленный UWP приложения. Это полезно для ускорения установки ОС, сохранения места на диске. Также вы избавитесь от ненужных виджетов и вашим пользователям будет проще разобраться с системой
Мы покажем, как удалить встроенные UWP приложения из установочного файла install.wim с помощью DISM или PowerShell.
Создайте на диске каталог C:\mount. Смонтируйте в это каталог установочный WIM образ Windows:
dism.exe /mount-wim /wimfile:c:\iso\install.wim /mountdir:c:\mount /index:1
Обратите внимание, я использовал /index:1, т.к. предварительно очистил образ от ненужных редакций Windows как описано выше. Вы можете указать индекс нужного вам образа.
После того, как WIM файл смонтирован, вы можете вывести список предустановленных в нем пакетов современных приложений. Я перенаправил вывод команды в текстовый файл для более удобной работы с текстом
Dism.exe /image:c:\mount /Get-ProvisionedAppxPackages > c:\ps\apps.txt
Каждое приложение будет выглядеть примерно так:
DisplayName : Microsoft.BingWeather Version : 4.25.20211.0 Architecture : neutral ResourceId : ~ PackageName : Microsoft.BingWeather_4.25.20211.0_neutral_~_8wekyb3d8bbwe
Теперь самое интересное – удаляем все приложения, которые вам не нужны. К сожалению, такие приложения как Edge, Cortana, Contact Support и некоторые другие удалить невозможно, но эти приложения можно отключить уже внутри системы через групповые политики. Рекомендую также оставить приложения калькулятора (Microsoft.WindowsCalculator), просмотра фото (Microsoft.Windows.Photos), Microsoft.VP9VideoExtensions, так как старых версий этих программ в Windows 10 уже нет. Также лучше не трогать Microsoft.WindowsStore, иначе восстановить его будет сложно.
Вы можете удалять приложения по-одному или все вместе.
Чтобы удалить современное приложение из смонитрованного образа, нужно указать его имя (PackageName). Удалим приложение BingWeather:
dism.exe /image:c:\mount /Remove-ProvisionedAppxPackage /PackageName:Microsoft.BingWeather_4.25.20211.0_neutral_~_8wekyb3d8bbwe
Аналогичным образом удалите все ненужные встроенные приложения.
Когда вы закончите удалять приложения, размонтируйте образ и сохраните изменения (рассмотрено чуть ниже).
Также вы можете удалить предустановленные приложений из установочного образа Windows 10 с помощью готового PowerShell скрипта:https://gallery.technet.microsoft.com/Removing-Built-in-apps-65dc387b
Плюс этого метода в том, что вам не нужно ничего монтировать, всё что нужно это просто указать путь к .wim файлу и запустить скрипт. Минус заключается в том, что, если что-то пойдет не так, ошибку будет найти сложнее, будь она связана с DISM или с самим скриптом.
Запустите PowerShell с правами администратора и выполните:
.\removeapps.ps1 -pathtowim c:\Windows10\sources\install.wim -selectapps $true
Вам выведет построчно каждое приложение и у вас будет выбор удалить его (Y) или оставить (N)
После того как вы отметите все приложения, скрипт удалит их. В отличии от работы с dism, вам не нужно будет сохранять изменения в .wim файле – они сохранятся скриптом.
Если вы хотите удалить все приложения, уберите с конца команды selectapps $true, это удалит все приложения, которые можно удалить.
Также при работе с PowerShell может возникнуть ошибка, так как стандартно в системе запрещено выполнение скриптов.
Для её решения введите в консоли PowerShell:
Set-ExecutionPolicy -ExecutionPolicy Unrestricted
Это разрешит выполнение PS1 скриптов в системе
Отключаем и удаляем ненужные компоненты и функции в дистрибутиве Windows 10
С помощью DISM вы можете удалить (или установить) определенные компоненты из установочного образа Windows 10.
Получим список предустановленных компонентов в смонтированном установочном образе Windows 10 с помощью DISM:
Dism.exe /image:c:\mount /Get-Capabilities
Компонент может быть установлен (Installed), или отключен (Not Present).
Также можно вывести список всех компонентов Windows в образе с помощью PowerShell (в этом примере с помощьюфиьтра мы выведем только установленные компоненты Windows):
Get-WindowsCapability -Path c:\mount|?{$_.State -eq "Installed"}
В Windows 10 1909 предустановлены следующие компоненты:
App.Support.QuickAssist~~~~0.0.1.0 Browser.InternetExplorer~~~~0.0.11.0 Hello.Face.18330~~~~0.0.1.0 Hello.Face.Migration.18330~~~~0.0.1.0 Language.Basic~~~en-US~0.0.1.0 Language.Basic~~~ru-RU~0.0.1.0 Language.Handwriting~~~ru-RU~0.0.1.0 Language.OCR~~~en-US~0.0.1.0 Language.OCR~~~ru-RU~0.0.1.0 Language.TextToSpeech~~~ru-RU~0.0.1.0 MathRecognizer~~~~0.0.1.0 Media.WindowsMediaPlayer~~~~0.0.12.0 OneCoreUAP.OneSync~~~~0.0.1.0 OpenSSH.Client~~~~0.0.1.0
Вы можете удалить установленный компонент по его имени. Удалим компонент распознавания лица 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 3 и отключим SMB1:
dism.exe /image:C:\mount /enable-feature /featurename:netfx3 /all /source:E:\sources\sxs
dism.exe /image:C:\mount /disable-feature /featurename:smb1protocol
Аналогичным образом вы можете интегрировать в ваш установочный образ Windows 10 драйвера или последние обновления безопасности.
Оптимизация установочного образа install.wim после изменений
После того, как вы внесли изменения в установочный образ Windows 10 нужно выполнить его оптимизацию и очистку с помощью параметра /cleanup-image.
Удалите предыдущие версии компонентов с помощью параметра ResetBase:
Dism /Image:C:\Mount /cleanup-image /StartComponentCleanup /ResetBase
Проверьте образ на ошибки с помощью Dism /ScanHealth.
DISM /Image:C:\Mount /Cleanup-Image /ScanHealth
Осталось отмонтировать образ и сохранить изменения в WIM файле:
dism.exe /unmount-wim /mountdir:c:\mount /commit
Если вы передумали, используйте ключ /discard в конце команды вместо /commit, чтобы отменить изменения
Для экономии места можно дополнительно сжать install.wim в формат install.esd командой:
Dism /Export-Image /SourceImageFile:c:\iso\install.wim /SourceIndex:1 /DestinationImageFile:c:\iso\install.esd /Compress:recovery
Теперь осталось скопировать ваш install.wim (install.esd) в ваш установочный образ Windows. Вам нужно скопировать только wim файл, другие файлы обновлять не нужно.
Чтобы запаковать образ обратно в iso, можно использовать бесплатную портейбл программу Folder2ISO или другие подобные программы.