No problems resizing my recovery partition, in fact its now up to 1.95GB - but the problem with the Windows updates failing still exists for me.
Enable Windows RE. Run
reagentc /enable
This browser is no longer supported.
Upgrade to Microsoft Edge to take advantage of the latest features, security updates, and technical support.
Windows 10 22h2 security update [KB5034441] fails to install with code: 0x80070643 problem was solved for me with reinstallation of Windows 10 using the Media Creation tool . Took about 5 hours . But the security update that has been giving everyone problems downloaded on the second try . I have , over the last 2 days , been checking for updates to see if it really worked and it appears in the control panel as downloaded . I want to thank that guy who suggested that fix . I did not do a clean install . I kept my files and apps
Locked Question. This question was migrated from the Microsoft Support Community. You can vote on whether it's helpful, but you can't add comments or replies or follow the question.
No problems resizing my recovery partition, in fact its now up to 1.95GB - but the problem with the Windows updates failing still exists for me.
Enable Windows RE. Run
reagentc /enable
Then try:
"chkdsk g: /f /r /x" and hit Enter. (Replace "g" with the letter of your drive.).
Also worth checking if any of the system files are corrupted. See…
Solution found:
1: Turn off BitLocker.
2: Reboot.
3: Perform Windows update.
4: Now updates successfully.
5: Turn on BitLocker.
Run these scripts in the Powershell, that's how a servicedesk person has solved that for me
Try {
$computerDisks = Get-PhysicalDisk
foreach ($computerDisk in $computerDisks) {
$diskPartitions = Get-Partition -DiskNumber $computerDisk.DeviceId -ErrorAction Ignore
if ($diskPartitions.DriveLetter -contains 'C' -and $null -ne $diskPartitions) {
$systemDrive = $computerDisk
}
}
$RecPartition = Get-Partition -DiskNumber $systemDrive.DeviceId | Where-Object { $_.Type -eq 'Recovery' }
$Volumes = Get-Volume
foreach ($volume in $Volumes) {
if($volume.UniqueId.Replace('\?\Volume{','').Replace('}','') -eq $RecPartition.Guid.Replace('{','').Replace('}','')){
$recoveryPartition = $volume
}
}
if ($recoveryPartition.SizeRemaining -le $FreePartitionSize) {
Write-Output "Recovery Partition Free Space $($($recoveryPartition.SizeRemaining) / 1000000) MB is smaller than required $($FreePartitionSize / 1000000) MB"
Exit 1
}
else {
Write-Output "Recovery Partition Free Space $($($recoveryPartition.SizeRemaining) / 1000000) MB is larger than required $($FreePartitionSize / 1000000) MB"
Exit 0
}
}
Catch {
Write-Output 'Recovery Partition not found.'
Exit 1
}
Try {
#Run reagentc.exe /info and save the output
$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()#Verify that disk and partition are listed in reagentc.exe /info. If blank, then something is wrong with WinRE
if (($stdout.IndexOf('harddisk') -ne -1) -and ($stdout.IndexOf('partition') -ne -1)) {#Disable Windows recovery environment
Start-Process 'reagentc.exe' -ArgumentList '/disable' -Wait -NoNewWindow
#Get recovery disk number and partition number
$diskNum = $stdout.substring($stdout.IndexOf('harddisk') + 8, 1)
$recPartNum = $stdout.substring($stdout.IndexOf('partition') + 9, 1)#Resize partition before the recovery partition
$size = Get-Disk $diskNum | Get-Partition -PartitionNumber ($recPartNum - 1) | Select-Object -ExpandProperty Size
Get-Disk $diskNum | Resize-Partition -PartitionNumber ($recPartNum - 1) -Size ($size - 250MB)#Remove the recovery partition
Get-Disk $diskNum | Remove-Partition -PartitionNumber $recPartNum -Confirm:$false#Create new partion with diskpart script
$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 partition commands
'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 partition command
'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#Enable the recovery environment
Start-Process 'reagentc.exe' -ArgumentList '/enable' -Wait -NoNewWindow
Write-Output 'Recovery Partition Extended Successfully.'
Exit 0}
else {
Write-Output 'Recovery partition not found. Aborting script.'
Exit 1
}
}
Catch {
Write-Output 'Unable to update Recovery Partition on the device.'
Exit 1
}
There must to be unlocked portitions on the disk as otherwise Windows would not boot. BitLocker applies to partitions, not disks.
The whole concept of EFI System and Recovery partitions is about them being separate from the encrypted partition.