markowitsch
Goto Top

Wiederherstellungspartition Windows 11 anlegen

Hallo,

ich habe einen neuen Acer PC mit einer 1TB SSD Festplatte.
Diese Festplatte ist vom Werk aus auf ca. 2 x 500GB Partitioniert.
Ich habe diese beiden Partitionen zu einer einzigen zusammengefügt.
Leider war aber zwischen den beiden 500GB Partitionen ( C:\ und D:\ ) eine fehlerfreie Wiederherstellungspartition mit ca. 500MB welche ich mit Diskpart gelöscht habe.
Danach habe ich die beiden leeren Partitionen mit der C:\ Partition zusammengefügt.

Windows läuft soweit fehlerfrei, ich habe nun auch den gesamten Speicherplatz für C:\ zur Verfügung, aber es fehlt mir nun die Wiederherstellungspartition.
Kann ich diese wieder anlegen oder muss ich nun das Windows 11 neu installieren um in der Zukunft keine Probleme zu bekommen?

Danke für Eure Hilfe

LG Marko

Content-Key: 4385612483

Url: https://administrator.de/contentid/4385612483

Printed on: April 23, 2024 at 12:04 o'clock

Mitglied: 4091525239
Solution 4091525239 Oct 24, 2022 updated at 13:50:59 (UTC)
Goto Top
Kann ich diese wieder anlegen
Klar kein Thema, RTFM sagt dir detailliert wie
Bereitstellen von Windows RE
Member: colinardo
Solution colinardo Oct 24, 2022, updated at Oct 25, 2022 at 13:43:07 (UTC)
Goto Top
Servus Marko,
eine extra Recovery Partition für das WinRE Image ist zwar nicht zwingend erforderlich, aber ich hatte mir mal ein kleines Batch-Skript dafür geschrieben um das aus dem aktuell laufenden System zu machen.
Das Skript lässt dich die Partition wählen welche um 1GB verkleinert wird um darin die Recovery-Partition zu erstellen.
im freien Speicher wird dann die Recovery-Partition angelegt, formatiert, mit den Parametern für die Recovery-Partition versehen, gemountet, der Recovery-Agent aktiviert.
::
:: CREATE RECOVERY PARTITION
::
@echo off
set "PATH_RE=C:\Windows\System32\Recovery\Winre.wim"  
set "TMP_DRIVE="  
net session >nul 2>&1 || (powershell -EP Bypass -NoP -C start "%~0" -verb runas &exit /b)  

if not exist "%PATH_RE%"  (  
	echo WindowsRE Image was not found ["%PATH_RE%"], please restore it from installation media first, exiting ...  
	goto :end
)

for %%a in (r s t u v w x y z) do if not defined TMP_DRIVE if not exist %%a: set "TMP_DRIVE=%%a"  
if not defined TMP_DRIVE (
	echo "No free temporary drive letter found, exit ..."  
	goto :end
)

echo ==============================
echo Choose disk
echo ==============================
echo.
echo list disk | diskpart | findstr Online
echo.
set /p "disk=Please enter number of disk: "  
echo.
echo ==============================
echo Choose partition to shrink
echo ==============================
echo.
(
	echo select disk %disk%
	echo list partition
) | diskpart | findstr /irc:"Partition [0-9]"  
echo.
set /p "partition=Enter number of partition to shrink by 1GB for recovery partition: "  
echo.

if "%firmware_type%" == "UEFI" (  
	set "PART_ID=de94bba4-06d1-4d40-a16a-bfd50179d6ac"  
	set "GPT_ATTR=gpt attributes=0x8000000000000001"  
) else (
	set PART_ID=27
)

echo Creating recovery partition ...
(
	echo select disk %disk%
	echo select partition %partition%
	echo shrink desired=1000
	echo create partition primary id=%PART_ID%
	echo.%GPT_ATTR%
	echo format fs=ntfs quick
	echo assign letter=%TMP_DRIVE%
) | diskpart >nul

md %TMP_DRIVE%:\Recovery\WindowsRE
echo Copy "%PATH_RE%" to recovery parition ...  
xcopy /h "%PATH_RE%" %TMP_DRIVE%:\Recovery\WindowsRE >nul  
del C:\Windows\System32\Recovery\*.xml >nul 2>&1
echo Enabling recovery agent ...
reagentc /disable >nul 2>&1
reagentc /setreimage /path %TMP_DRIVE%:\Recovery\WindowsRE >nul
reagentc /enable >nul
(
	echo select volume x
	echo remove
) | diskpart >nul
echo.
reagentc /info
echo.
echo Script finished.
:end
echo.
pause
Falls die "c:\Windows\System32\Recovery\Winre.wim nicht mehr existieren sollte vor dem Ausführen von einem Windows 11 Medium dorthin kopieren.

#edit# hier noch die Powershell-Variante:
<#
    Create Windows Recovery-Partition
#>

# restart elevated if not already
if(!(new-object System.Security.Principal.WindowsPrincipal([System.Security.Principal.WindowsIdentity]::GetCurrent())).IsInRole(544)){start powershell -Verb runas -ArgumentList '-File',$MyInvocation.MyCommand.Definition;exit}  
# path to "winre.wim"  
$WINRE_IMAGE = "$env:SystemRoot\SYSTEM32\Recovery\winre.wim"  
# if image does not exist exit
if (!(Test-Path $WINRE_IMAGE)){
    Write-Error -Message "WindowsRE WIM Image is not available ('$WINRE_IMAGE'). Please restore the file from yout OS installation media!"  
    return
}
# choose disk
$disk = Get-Disk | ogv -Title "Choose disk" -PassThru  
# choose partition
$partition = $disk | Get-Partition | ogv -Title "Choose partition to shrink by 1GB" -PassThru  
write-host "Checking available space ..." -F Green  
# get supported partition sizes
$supportedSize = $partition | Get-PartitionSupportedSize
# calculate new size
$newsize = $supportedSize.SizeMax - 1GB
# check if resize operation is possible
if ($newsize -lt $supportedSize.SizeMin){
    Write-Error -Message "Partition cannot be shrinked by 1GB, only reducing by $("{0:F3} MB" -f (($supportedSize.SizeMax - $supportedSize.SizeMax)/1MB)) is possible" -Category InvalidOperation  
    return
}
write-host "Resizing partition ..." -F Green  
# resize partition
$partition | Resize-Partition -Size $newsize -Confirm:$false
write-host "Creating new recovery partition ..." -F Green  
# add recovery partition
if($env:Firmware_type -eq 'UEFI'){  
    $newpartition = $disk | New-Partition -UseMaximumSize -AssignDriveLetter -GptType '{de94bba4-06d1-4d40-a16a-bfd50179d6ac}'  
    @"  
select disk $($disk.DiskNumber)
select partition $($newpartition.PartitionNumber)
gpt attributes=0x8000000000000001
exit
"@ | diskpart.exe | out-null  
}else{
    $newpartition = $disk | New-Partition -UseMaximumSize -AssignDriveLetter
    @"  
select disk $($disk.DiskNumber)
select partition $($newpartition.PartitionNumber)
set id=27
exit
"@ | diskpart.exe | out-null  
}
# ... and format it
$newpartition | Format-Volume -FileSystem NTFS -Force | out-null
while(!(Test-Path "$($newpartition.DriveLetter):")){sleep .5}  
# copy WinRE Image to partition
write-host "Copying WinRE image to partition ..." -F Green  
copy-item -LiteralPath $WINRE_IMAGE -Destination (md "$($newpartition.DriveLetter):\Recovery\WindowsRE" -Force).Fullname -Force  
# configure recoveryagent
write-host "Configuring recovery agent ..." -F Green  
if ((reagentc /info) -match 'Enabled'){  
    reagentc /disable | out-null
}
reagentc /setreimage /path "$($newpartition.DriveLetter):\Recovery\WindowsRE" | out-null  
reagentc /enable | out-null
reagentc /info
# unmount partition
$newpartition | Remove-PartitionAccessPath -AccessPath "$($newpartition.DriveLetter):"  

Grüße Uwe