Как мы ускорили сборку ISO-образов с UUPDump на Windows 11 в 3 раза, отключив встроенный антивирус Microsoft Defender

2025-03-31 6273 комментарии
Сборка ISO-образов Windows 11 с помощью UUPDump ускорена в 3 раза благодаря отключению Microsoft Defender. В статье — результаты тестов, скрипт автоматизации и опыт настройки RAM-диска на удалённой машине

Мы занимаетесь регулярной сборкой ISO-образов Windows с помощью UUPDump и используем для этого удалённую машину на Windows 11. Если вы также пробовали собирать ISO, наверняка замечали, что даже на быстрых SSD и с мощным железом сборка может занимать неожиданно много времени. Мы делимся собственным опытом ускорения сборки за счёт отключения Microsoft Defender, что дало ощутимый прирост производительности.

Инструкция Как скачать ISO-образ Windows 11 / Windows 10 с помощью UUP dump доступна у нас на сайте.

Как всё было до оптимизации

У нас есть удалённая машина, которая используется исключительно для сборки ISO-образов инсайдерских сборок Windows 11. Ранее она была оснащена следующими компонентами:

  • Оперативная память: ADATA XPG Lancer Blade DDR5-6400 32 ГБ (2x16 ГБ)
  • SSD: Samsung 990 PRO 1 ТБ M.2 NVMe
  • Процессор: Intel Core Ultra 9 285K
  • Интернет-соединение на машине — стабильное и быстрое: 500 Мбит/с. Скачивание сборок и исходных файлов с UUP dump не было узким местом в процессе.

На этой конфигурации параллельная сборка двух ISO через UUPDump занимала от 50 минут до 1 часа 10 минут.

Что изменилось

Мы решили проапгрейдить систему и заменить оперативную память на:

  • G.SKILL RIPJAWS S5 96 ГБ DDR5-6400 (2x48 ГБ)

После этого был создан гибридный RAM-диск на 150 ГБ (75 ГБ в RAM + 75 ГБ на SSD) с помощью утилиты Primo Ramdisk. Именно на него были перенесены весть процесс сборки, включая временные директории UUPDump и промежуточные файлы. На эту идею нас подтолкнул известный rgadguard, который опубликовал в своем Telegram-канале конфигурация своей машины.

Результаты CrystalDiskMark подтвердили сумасшедшую скорость нового RAM-диска по сравнению с обычным SSD:

SSD

Гибридный Ramdisk

Однако вопреки ожиданиям, время сборки увеличилось — теперь оно составляло от 1 часа до 1 часа 20 минут. Причину нашли не сразу, но оказалось всё просто.

Виноват Microsoft Defender

После анализа журналов активности и мониторинга процесса выяснилось, что Microsoft Defender активно сканировал файлы на RAM-диске — особенно во время монтирования WIM-образов и создания временных директорий. Это вызывало колоссальные задержки, несмотря на высокую скорость RAM-диска.

После полного отключения Microsoft Defender через планировщик заданий (скрипт запускается при старте системы), сборка ISO на примере Windows 11 Insider Preview Build 26200.5516 сократилась до 20 минут, что более чем в три раза быстрее исходного результата на гибридном RAM-диске.

1 – время начала загрузки файлов, 2 – ISO-образ размером 8 ГБ готов через 20 минут

Как мы автоматизировали отключение

Почему важно запускать скрипт при старте системы

Даже если вы вручную отключите защиту Microsoft Defender, в Windows 11 она может автоматически восстанавливаться после перезагрузки. Это связано с механизмами защиты от вмешательства (Tamper Protection), службами безопасности и политиками Windows Security Health.

Поэтому мы реализовали автоматический запуск скрипта DisableDefender.ps1 через Планировщик заданий от имени SYSTEM при старте системы. Скрипт выполняется каждый раз при загрузке и повторно отключает все компоненты защитника, даже если они были восстановлены системой.

Это гарантирует стабильную производительность во время сборки ISO и исключает вмешательство антивируса без необходимости отключать его вручную после каждого перезапуска.

Мы подготовили PowerShell-скрипт, который:

  • Отключает все компоненты Microsoft Defender (в том числе репутационную защиту и SmartScreen)
  • Добавляет в исключения RAM-диск (у нас Z:\) и папку C:\Scripts (папка, куда помещаем скрипты)
  • Отключает службы Центра безопасности
  • Запускается автоматически через задачу в Планировщике от имени SYSTEM.

Также реализован скрипт восстановления всех настроек безопасности — перед изменениями они сохраняются в текстовые файлы, чтобы при необходимости их можно было вернуть.

Обязательное условие: отключение «Защиты от подделки»

Для успешной работы скрипта обязательно нужно вручную отключить параметр «Защита от подделки» (Tamper Protection). Он предотвращает изменение настроек Microsoft Defender даже от имени администратора или SYSTEM, и если он включён — скрипт не сможет отключить антивирус.

Как отключить Tamper Protection:

  • Откройте Параметры > Конфиденциальность и защита > Безопасность Windows
  • Выберите «Защита от вирусов и угроз»
  • Нажмите «Управление настройками»
  • Отключите переключатель «Защита от подделки»

Этот шаг нужно выполнить только один раз. После этого скрипт сможет выполнять все действия при каждой загрузке системы без ограничений.

Скачать готовый архив: DisableDefenderTask.7z (пароль для архива: comss)

Важно: срабатывание Microsoft Defender на скрипт

При попытке использовать файл DisableDefender.ps1 может сработать встроенная защита Windows — Microsoft Defender определяет его как потенциальную угрозу. Это ожидаемо: скрипт отключает службы безопасности, поэтому он воспринимается системой как инструмент угрозы (Powershell.DisableDefender или HackTool).

В случае со специализированной машиной для сборки, где безопасность не требуется, это допустимое поведение. Однако для полной прозрачности ниже приводим полный исходный код скрипта, чтобы вы могли самостоятельно убедиться в его безопасности и при желании адаптировать под себя:


# Export current Defender preferences before applying changes
Get-MpPreference | Out-File -FilePath "C:\Scripts\DefenderBackup.txt" -Encoding UTF8

# Export current SmartScreen registry settings
$smartScreenRegPath = "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer"
if (Test-Path $smartScreenRegPath) {
    Get-ItemProperty -Path $smartScreenRegPath | Out-File -FilePath "C:\Scripts\SmartScreenBackup.txt" -Encoding UTF8
}

# Create required registry keys
New-Item -Path "HKLM:\SOFTWARE\Policies\Microsoft\Windows Defender" -Force | Out-Null
New-Item -Path "HKLM:\SOFTWARE\Policies\Microsoft\Windows Defender\Real-Time Protection" -Force | Out-Null

# Disable Defender via registry
Set-ItemProperty -Path "HKLM:\SOFTWARE\Policies\Microsoft\Windows Defender" -Name "DisableAntiSpyware" -Value 1 -Force
Set-ItemProperty -Path "HKLM:\SOFTWARE\Policies\Microsoft\Windows Defender\Real-Time Protection" -Name "DisableRealtimeMonitoring" -Value 1 -Force

# Disable additional Defender features
Set-MpPreference -DisableRealtimeMonitoring $true
Set-MpPreference -DisableBehaviorMonitoring $true
Set-MpPreference -DisableBlockAtFirstSeen $true
Set-MpPreference -DisableIOAVProtection $true
Set-MpPreference -DisablePrivacyMode $true
Set-MpPreference -SignatureDisableUpdateOnStartupWithoutEngine $true
Set-MpPreference -DisableArchiveScanning $true
Set-MpPreference -DisableIntrusionPreventionSystem $true
Set-MpPreference -DisableScriptScanning $true

# Disable Reputation-based protection (SmartScreen and related features)
New-Item -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer" -Force | Out-Null
Set-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer" -Name "SmartScreenEnabled" -Value "Off" -Force
New-Item -Path "HKLM:\SOFTWARE\Policies\Microsoft\Windows Defender\SmartScreen" -Force | Out-Null
Set-ItemProperty -Path "HKLM:\SOFTWARE\Policies\Microsoft\Windows Defender\SmartScreen" -Name "ConfigureAppInstallControl" -Value 0 -Force
Set-ItemProperty -Path "HKLM:\SOFTWARE\Policies\Microsoft\Windows Defender\SmartScreen" -Name "EnableSmartScreen" -Value 0 -Force

# Add RAM disk (Z:\) and script folder (C:\Scripts) to Defender exclusion list
Add-MpPreference -ExclusionPath "Z:\"
Add-MpPreference -ExclusionPath "C:\Scripts"

# Disable Windows Security Center service
Stop-Service -Name SecurityHealthService -Force -ErrorAction SilentlyContinue
Set-Service -Name SecurityHealthService -StartupType Disabled

# Disable Defender scheduled scan task
$task = Get-ScheduledTask -TaskName "Windows Defender Scheduled Scan" -TaskPath "\Microsoft\Windows\Windows Defender\" -ErrorAction SilentlyContinue
if ($task) {
    Disable-ScheduledTask -InputObject $task
}

Содержимое архива DisableDefenderTask.7z

  • DisableDefender.ps1
    PowerShell-скрипт, который:
    • Отключает Microsoft Defender и все его модули
    • Отключает репутационную защиту (SmartScreen)
    • Добавляет исключения для диска Z:\ и папки C:\Scripts
    • Отключает службу Центра безопасности (SecurityHealthService)
    • Отключает планировщик заданий Defender
    • Сохраняет текущие параметры Defender и SmartScreen в файлы DefenderBackup.txt и SmartScreenBackup.txt
  • Install_Defender_Task.bat
    BAT-скрипт, который:
    • Создаёт задачу в Планировщике Windows
    • Задача запускает DisableDefender.ps1 от имени SYSTEM при старте системы
    • Автоматизирует отключение Defender после каждой перезагрузки
  • RestoreDefenderSettings.ps1
    PowerShell-скрипт, который:
    • Читает резервные файлы DefenderBackup.txt и SmartScreenBackup.txt
    • Восстанавливает параметры Microsoft Defender и SmartScreen
  • Restore_Defender_Settings.bat
    BAT-файл, который:
    • Запускает RestoreDefenderSettings.ps1 через PowerShell
    • Позволяет восстановить настройки одним кликом

Подводим итоги

Данное решение не универсально — например, оно не подойдёт на домашних или рабочих машинах, где важна защита от угроз. Однако в случае специализированной рабочей станции, работающей в изолированной среде, оно показало себя крайне эффективно.

Если у вас тоже возникали странные задержки при работе с файлами, как у нас с UUPDump и ISO-сборкой — попробуйте временно отключить Microsoft Defender или добавить исключения. Это может сэкономить десятки минут каждый раз.

© .
Комментарии и отзывы

Нашли ошибку?

Новое на сайте