telegram
🪟windows

Как исправить ошибку 0x80070643 обновления Windows 10

Обновление микро-патча KB может вызывать ошибку 0x80070643, когда пользователь пытается установить обновление или скачать в центре обновления Windows 10.

Ошибка 0x80070643 - Это общий код ошибки установки Windows Update, который может отображаться на экране вашего компьютера во время установки любых обновлений и патчей как KB5034441. Связано это с регистрацией обновлений программного обеспечения MSI, компонентами MS 2003, а также .NET Framework.

Ошибка 0x80070643 возникает из-за какого-либо поврежденного компонента или системного файла. В таких сценариях, обновление Windows не позволяет получить доступ к определенным пользовательским данным и приводит к этой проблеме на вашем ПК. Кроме того, известно, что недостаток свободного пространства на системном диске и разделе восстановления приводит к ошибке 0x80070643 в центре обновления Windows 10.

ошибка 0x80070643 обновления

1. Как исправить ошибку 0x80070643 при обновлении KB5034441

Если вы столкнулись с ошибкой 0x80070643 при установке патча KB5034441 в Windows 10, то данный код означает ERROR_INSTALL_FAILURE, и в этом случае, нужно увеличить размер диска восстановления в 1 ГБ (1000 Мб) или удалить его. Microsoft признала данный баг при установке именно данного патча для Windows 10 версии 21H2 и 22H2.

Дело в том, что Майкрософт устранила уязвимость в среде восстановления WinRE CVE-2024-20666 выпустив патч под номером KB5034441 для которого нужно больше места на разделе восстановления. Microsoft рекомендует свободного пространства на разделе WinRE в 256MB, но некоторым пользователям из форума Майкрософт нужно было увеличить до 700MB~1024MB, чтобы патч KB5034441 установился без ошибки 0x80070643 в Windows 10.

На данный момент Microsoft заявила, что обновления KB5034441 и KB5034440 не будут приходить на ПК с Windows 10, где раздел восстановления меньше 256 Мб.

Есть три варианта исправления ошибки 0x80070643 при установке и скачивания патча обновления KB5034441 в Windows 10. Первый, это увеличить размер диска восстановления, второй — это удалить раздел диска восстановления.

Способ 1. Увеличить раздел восстановления WinRE скриптом

Самый простой и быстрый способ, чтобы исправить ошибку 0x80070643 при установке обновления патча KB5034441 в Windows 10 — это воспользоваться скриптом, который сам увеличит раздел WinRE. Для этого, запустите PowerShell от имени администратора и введите ниже скрипт скопировав и вставив его полностью. Данный скрипт я пробовал лично и он работает как с MBR, так и с GPT разметкой для дисков в автоматическом режиме.

Скрипт для увеличения раздела WinRE
#Скрипт собран по мануалу Майкрософт: https://support.microsoft.com/en-us/topic/kb5028997-instructions-to-manually-resize-your-partition-to-install-the-winre-update-400faa27-9343-461c-ada9-24c8229763bf    
#mywebpc.ru
#Запуск reagentc.exe /info
$pinfo = New-Object System.Diagnostics.ProcessStartInfo
$pinfo.FileName = "reagentc.exe"
$pinfo.RedirectStandardOutput = $true
$pinfo.UseShellExecute = $false
$pinfo.Arguments = '/info'
$p = New-Object System.Diagnostics.Process
$p.StartInfo = $pinfo
$p.Start() | Out-Null
$p.WaitForExit()
$stdout = $p.StandardOutput.ReadToEnd()


#Отключить среду восстановления Windows
Start-Process "reagentc.exe" -ArgumentList "/disable" -Wait -NoNewWindow

#Проверьте, что диск и раздел указаны в reactc.exe /info. Если пусто, то что-то не так с WinRE
if(($stdout.IndexOf("harddisk") -ne -1) -and ($stdout.IndexOf("partition") -ne -1)){
    #Get recovery disk number and partition number
    $DiskNum=$stdout.substring($stdout.IndexOf("harddisk")+8,1)
    $RecPartNum=$stdout.substring($stdout.IndexOf("partition")+9,1)

    #Изменить размер раздела ОС
    $size=Get-Disk $DiskNum | Get-Partition -PartitionNumber ($RecPartNum-1) |Select-Object -ExpandProperty Size
    Get-Disk $DiskNum | Resize-Partition -PartitionNumber ($RecPartNum-1) -Size ($size - 250MB)
    
    #Удалить раздел восстановления
    Get-Disk $DiskNum | Remove-Partition -PartitionNumber $RecPartNum -Confirm:$false
    
    #Создать новый раздел с помощью скрипта diskpart
    $DiskpartScriptPath = $env:TEMP
    $DiskpartScriptName = "ResizeREScript.txt"
    $DiskpartScript = $DiskpartScriptPath+'\'+$DiskpartScriptName
    "sel disk $($DiskNum)"|Out-File -FilePath $DiskpartScript -Encoding utf8 -Force
    $PartStyle = Get-Disk $DiskNum |Select-Object -ExpandProperty PartitionStyle
    if($PartStyle -eq "GPT"){
        #Команды раздела GPT
        "create partition primary id=de94bba4-06d1-4d40-a16a-bfd50179d6ac"|Out-File -FilePath $DiskpartScript -Encoding utf8 -Append -Force
        "gpt attributes =0x8000000000000001"|Out-File -FilePath $DiskpartScript -Encoding utf8 -Append -Force
    }else{
        #Команды раздела MBR
        "create partition primary id=27"|Out-File -FilePath $DiskpartScript -Encoding utf8 -Append -Force
    }
    "format quick fs=ntfs label=`"Windows RE tools`""|Out-File -FilePath $DiskpartScript -Encoding utf8 -Append -Force
    Start-Process "diskpart.exe" -ArgumentList "/s $($DiskpartScriptName)" -Wait -NoNewWindow -WorkingDirectory $DiskpartScriptPath

    #Включить среду восстановления
    Start-Process "reagentc.exe" -ArgumentList "/enable" -Wait -NoNewWindow

}else{
    Write-Warning "Recovery partition not found. Aborting script."
}

Кроме того, Microsoft выпустила свой скрипт для увлечения раздела WinRE, но я его не проверял.

Увеличить раздел восстановления WinRE скриптом

Способ 2. Увеличьте раздел восстановления

Увеличьте размер раздела восстановления в 1000 Мб при помощи сторонних программ как Acronis Disk Director или стандартным способом через управление дисками в Windows 10. Это более безопасный способ, в частности при помощи сторонней программы Acronis.

раздел восстановления управление дисками

Способ 3. Удалите раздел восстановления

Чтобы удалить раздел восстановления, запустите командную строку от имени администратора и введите ниже команды:

  1. reagentc /disable - отключить диск восстановления
  2. diskpart - запуск инструмента по работе с дисками
  3. list disk - вывод списка всех дисков
  4. select disk 1 - выбор диска на котором нужно удалить раздел восстановления
  5. list partition - выводит список разделов на выбранном диске
  6. select partition 4 - выбор нужного раздела, который хотим удалить
  7. delete partition override - удалить выбранный раздел
  8. Перезагрузите ПК.

Если не помогло, то включите раздел WinRE введя  reagentc /enable.

Удаление раздела восстановления через CMD

2. Отремонтируйте или обновите NET Framework

Устаревший или поврежденный файл может нести ответственность за появление кода ошибки 0x80070643. Поэтому, если вы встречаете ошибку "Не удалось установить пакет MSI в Windows 10" вы должны обновить их все. Net Framework - это приложение для установки программного обеспечения и обновления системы.

  • Скачайте с официального сайта Microsoft специальное средство для устранения неполадок Net Framework и запустите его
  • Можно попробовать переустановить его вручную. Для этого, откройте "панель управления" > "установка и удаление программ"
  • Найдите в списке Net Framework 4. Далее нажмите на нем правой кнопкой мыши и "Изменить". Следуйте инструкциям на экране, чтобы переустановить его
  • Также, откройте "Параметры" > "Обновления и безопасность" >  и нажмите на "Проверка наличия обновлений"

Важно: Так как версии 4.x платформы .NET Framework являются обновлениями на месте, невозможно установить более раннюю версию платформы .NET Framework 4.x в системе, где уже установлена более поздняя версия. Например, в системе с обновлением Windows 10 Fall Creators Update невозможно установить .NET Framework 4.6.2, так как в ОС предустановлена платформа .NET Framework 4.7.1.

3. Перезапустите службу Office Source Engine

Если вы пользуйтесь MS Office 2003/2007, вам может понадобиться иногда устанавливать его компоненты. Если вы столкнулись с кодом ошибки 0x80070643, в том числе с ошибкой установки пакета MSI в Windows 10, ose.exe-файл Office может быть виновником. В этом случае, необходимо перезапустить Office Source Engine (OSE), чтобы решить проблему.

  • Нажмите сочетание кнопок Win+R и введите services.msc
  • Найдите службу в списке Office Source Engine, нажмите на ней правой кнопкой мыши и выберите "Свойства".
  • В новом окне выберите тип запуска "Вручную" и нажмите OK. Перезагрузите ПК и проверьте устранена ли ошибка.

4. Проверьте и восстановите системные файлы

Повреждение системных файлов могут выдавать различные ошибки в Windows 10, в том числе и 0x80070643. Чтобы их восстановить, запустите командную строку от имени администратора и введите ниже команды по порядку:

  • sfc /scannow
  • Dism /Online /Cleanup-Image /CheckHealth
  • Dism /Online /Cleanup-Image /ScanHealth
  • Dism /Online /Cleanup-Image /RestoreHealth

sfc scannow терминал Windows

5. Переименуйте папку SoftwareDistribution и Catroot2

Эта проблема может возникнуть из-за повреждения регистрации обновления программного обеспечения MSI, либо из-за того, что установка .NET Framework на компьютере повреждена. Кроме того, кэш обновления Windows 10 может быть также поврежден. Чтобы решить эту проблему, рекомендуется сбросить папки SoftwareDistribution и Catroot2 по умолчанию.

Запустите командную строку от имени администратора и введите:

  • net stop bits
  • net stop wuauserv
  • net stop cryptsvc
  • net stop msiserver
  • ren %systemroot%\softwaredistribution softwaredistribution.mwp
  • ren %systemroot%\system32\catroot2 catroot2.mwp
  • net start bits
  • net start wuauserv
  • net start cryptSvc
  • net start msiserver

Перезагрузитесь и проверьте, устранена ли ошибка 0x80070643 обновления Windows 10.

Очистить содержимое папки Catroot2

6. Запустите средство устранения неполадок WU

Чтобы исправить ошибку 0x80070643 обновления в Windows 10, запустите средство устранения неполадок с центром обновления Windows.

  • Откройте "Параметры" > "Обновление и безопасность" > "Устранение неполадок".
  • Справа выберите "Дополнительные средства устранения неполадок".
  • Выберите "Центр обновления Windows" и Запустить.

Устранение неполадок Центра обновления Windows 10

7. Отключите целостность памяти

Так как ошибка 0x80070643 связана с обновлением безопасности, то разумно будет попробовать отключить на время Целостность памяти в Защитнике Windows 10.

  • Откройте Безопасность Windows и перейдите в параметр "Безопасность устройства".
  • Нажмите на слово "сведения об изоляции ядра" в графе "Целостность памяти".
  • Перетащите ползунок в режим Отключено.
  • Перезагрузитесь и попробуйте обновиться.
  • Если всё удачно, включите обратно изоляцию ядра.

Также рекомендую отключить на время защиту в реальном времени в Защита от вирусов и угроз > Управление настройками и отключить все пункты.

целостность памяти

8. Установите патч KB вручную

Если известен номер патча KB, который вызывает ошибку 0x80070643 в центре обновления Windows 10, то его можно скачать и установить отдельно из официального каталога Майкрософт. Для этого, обратитесь ниже к полному руководству.

9. Установите обновления Windows в состоянии чистой загрузки

Рекомендуется установить обновления Windows 10 в состоянии чистой загрузки, поскольку все процессы и службы, отличные от Microsoft, не запускаются в этом состоянии, и поэтому не может быть никаких сторонних вмешательств вызывающих сбои Windows Update.