VMware üzerinde çalışan bir Windows Server VM'inde Exchange Server 2019 kurulum projesi için C: sürücüsüne 30 GB alan eklemem gerekti. Sanal Diski hypervisor tarafında büyüttükten sonra Disk Management'ı açtığımda yeni alan Diskin sonunda Unallocated olarak görünüyordu, ancak C: üzerinde sağ tıkladığımda Extend Volume... seçeneği pasifti.
Sorunun nedeni, C: ile Unallocated alan arasında duran Recovery Partition'dı. Disk Management bir Volume'ü yalnızca hemen arkasındaki Unallocated alana doğru genişletebildiği için araya giren bu Partition genişletmeyi engelliyordu. Disk Management korumalı bir Partition olan Recovery Partition'ı silemediği için bu işlemi DiskPart ile yaptım. Bu yazıda Windows RE'yi (Windows Recovery Environment) güvenli şekilde devre dışı bırakıp Recovery Partition'ı silmeyi, C:'yi genişletmeyi ve Windows RE'yi yeniden etkinleştirmeyi anlatıyorum. Hypervisor tarafında sanal Diskin büyütülmesi kapsam dışında.
Extend Volume kuralı ve kullanılan DiskPart komutları, Windows Server 2012'den Windows Server 2025'e kadar aynıdır. Recovery Partition'ın C:'nin arkasında yer alıp almadığı ise sunucunun Disk düzenine bağlıdır. Microsoft'un önerdiği UEFI/GPT düzeninde Recovery Partition, Windows Partition'ının hemen arkasında yer alır ve bu makaledeki Windows Server 2022 sunucusunda da düzen böyledir. Eski kurulumlarda Recovery Partition Diskin başında olabildiği için düzeni işlemden önce list partition çıktısıyla kontrol ediyorum.
1- Extend Volume Neden Pasif Görünür?
Disk Management'ta Extend Volume, Basic Disk üzerindeki bir Volume'ü yalnızca aynı Diskte ve Volume'ün hemen arkasında bulunan Unallocated alana doğru genişletir. Volume'ün dosya sistemi de genişletmeyi desteklemelidir. NTFS ve ReFS Volume'ler genişletilebilir, FAT tabanlı Volume'ler genişletilemez.
Benim ortamımda Disk düzeni aşağıdaki gibiydi. Hypervisor tarafında eklenen alan Diskin sonuna eklendiği için Recovery Partition, C: ile Unallocated alanın arasında kaldı.
Önce:
[ EFI System ] [ MSR ] [ C: Windows ] [ Recovery 523 MB ] [ Unallocated 30 GB ]
Sonra:
[ EFI System ] [ MSR ] [ C: Windows (Recovery ve Unallocated alan eklenmiş) ]
Disk Management'ı açıp C: üzerinde sağ tıkladığımda Extend Volume... seçeneğinin pasif olduğunu görüyorum. Diskin sonunda 30 GB Unallocated alan bulunmasına rağmen bu alan C:'nin hemen arkasında olmadığı için kullanılamıyor.

2- Ön Kontrol
Recovery Partition'ı silmek geri alınamayan bir işlem olduğu için başlamadan önce şu noktaları kontrol ediyorum:
|
Kontrol |
Beklenen Durum |
|
Sanal Disk |
Hypervisor tarafında büyütülmüş, Disk Management'ta Diskin sonunda Unallocated alan görünüyor |
|
Snapshot veya yedek |
Disk büyütüldükten sonra alınmış bir VM Snapshot'ı ya da sistem yedeği mevcut |
|
Windows RE durumu |
reagentc /info çıktısında Windows RE status Enabled, konum Recovery Partition'ı gösteriyor |
|
BitLocker durumu |
Biliniyor. C: üzerinde BitLocker açıksa Recovery Key erişilebilir durumda ve 6. bölümde Recovery Partition yeniden oluşturulacak |
|
Yetki |
Command Prompt Run as administrator ile açılmış |
VMware'de Snapshot'ı bulunan bir VM'in sanal Diski büyütülemez. Önce Diski büyütüyor, ardından Snapshot alıyor, sonra DiskPart işlemlerine geçiyorum.
Windows RE ve BitLocker durumunu yönetici olarak açtığım Command Prompt'ta şu komutlarla kontrol ediyorum. reagentc /info çıktısındaki Windows RE location satırı, WinRE imajının hangi Partition'da durduğunu gösterir. Bu satırın Recovery Partition'ı göstermesi, silinecek Partition'ın gerçekten WinRE'ye ait olduğunu doğrular. manage-bde -status C: ise C: üzerinde BitLocker korumasının açık olup olmadığını gösterir. Bu bilgi, 6. bölümde hangi yolu izleyeceğimi belirliyor.
reagentc /info
manage-bde -status C:
3- Windows RE'nin Devre Dışı Bırakılması
Recovery Partition'ı doğrudan silersem Windows RE kayıtlı olduğu konumu kaybeder ve çalışmaz hale gelir. Bunu önlemek için önce Windows RE'yi devre dışı bırakıyorum. reagentc /disable komutu Windows RE'yi kapatır ve Winre.wim imajını C: üzerindeki C:\Windows\System32\Recovery klasörüne taşır. Böylece imaj, Partition silindikten sonra da sistemde kalır.
reagentc /disable
reagentc /info
Kontrol Noktası
reagentc /info çıktısında Windows RE status Disabled görünmeli ve Windows RE location satırı boş olmalı.
4- Recovery Partition'ın DiskPart ile Silinmesi
Bu bölümde kullandığım DiskPart komutlarının tamamı aşağıda. {Disk Numarası} ve {Partition Numarası} değerleri ortamdan ortama değişir, bu yüzden list Disk ve list partition çıktılarına bakmadan seçim yapmıyorum.
Diskpart
list Disk
select Disk {Disk Numarası}
list partition
select partition {Partition Numarası}
delete partition override
delete partition override korumalı Partition'ları da siler ve geri alınamaz. Yanlış Partition'ın seçilmesi sistemi açılmaz hale getirebilir.
1- Command Prompt'u Run as administrator ile açıp Diskpart yazarak DiskPart komut ortamına geçiyorum.

2- list Disk komutuyla sistemdeki Diskleri listeliyorum. Bu adımın amacı, işlem yapacağım Diske DiskPart'ın verdiği Disk numarasını doğru belirlemek. Bu numara, Diskin MBR'de Disk Signature, GPT'de Disk GUID olarak tutulan kimliğinden farklıdır. Sanal makinelerde DiskPart'taki Diski hypervisor tarafındaki sanal Diskle eşleştirmek için SCSI ve LUN ID bilgisinden yararlanıyorum.
Çıktıda her Diskin durumu (Online veya Offline), boyutu ve boş alanı görünür. Gpt sütununda yıldız (*) bulunan Diskler GUID Partition Table (GPT), yıldız bulunmayanlar Master Boot Record (MBR) yapısındadır. Birden fazla Disk bulunan sistemlerde Diski boyutuna ve boş alanına bakarak ayırt ediyorum.

3- İşlem yapacağım Disk Disk 0. select Disk 0 komutuyla bu Diski seçiyorum.

4- list partition komutuyla seçili Diskteki Partition'ları listeliyorum. Disk 0 üzerinde bir System (EFI), bir Reserved (MSR), bir Primary (C:) ve bir Recovery Partition'ı bulunuyor. Recovery Partition'ın listede Primary Partition'dan sonra gelmesi, C:'nin arkasında durduğunu gösteriyor.

5- Benim ortamımda Recovery Partition, 523 MB boyutundaki Partition 4. select partition 4 komutuyla bu Partition'ı seçiyorum.

Partition numarası ortamdan ortama değişir. Seçimi numaraya göre değil, list partition çıktısındaki türe (Recovery) ve boyuta bakarak yapıyorum.
6- delete partition override komutuyla seçili Partition'ı siliyorum. Recovery Partition korumalı olduğu için normal delete partition komutu bu Partition'ı silmez. override parametresi bu korumayı aşar.

Kontrol Noktası
Disk Management'ta C:'nin arkasında 523 MB'lık Recovery Partition artık görünmemeli. Bu alan Diskin sonundaki Unallocated alanla birleşmiş olmalı.

5- C: Volume'ünün Genişletilmesi
1- Disk Management'ta C: üzerinde sağ tıkladığımda bu kez Extend Volume... seçeneğinin aktif olduğunu görüyorum.

2- Extend Volume... sihirbazında Unallocated alanın tamamını seçerek C:'ye ekliyorum. Sihirbaz tamamlandığında C:, Diskin sonuna kadar genişlemiş oluyor.

Kontrol Noktası
Disk Management'ta Diskte Unallocated alan kalmamalı ve C:'nin boyutu eklenen alan kadar artmış görünmeli.
Aynı genişletmeyi arayüz yerine komut satırından da yapabiliyorum. DiskPart ile C: Volume'ünü seçip extend komutunu çalıştırmak, arkasındaki Unallocated alanın tamamını Volume'e ekler.
Diskpart
select volume C
extend
PowerShell'de ise Get-PartitionSupportedSize ile C:'nin ulaşabileceği en büyük boyutu alıp Resize-Partition ile bu boyuta genişletiyorum.
$Size = Get-PartitionSupportedSize -DriveLetter C
Resize-Partition -DriveLetter C -Size $Size.SizeMax
6- Windows RE'nin Yeniden Etkinleştirilmesi ve Doğrulama
Windows RE'yi yeniden etkinleştirirken izleyeceğim yol, 2. bölümde kontrol ettiğim BitLocker durumuna bağlı. Microsoft, Windows RE'nin Windows Partition'ından ayrı ve onun hemen arkasındaki bir Recovery Partition'da tutulmasını önerir. Bu ayrım özellikle BitLocker için gereklidir. C: şifreliyken Windows RE C: üzerinden başlatılamaz, bu yüzden ayrı bir Recovery Partition'a ihtiyaç duyar.
C: üzerinde BitLocker açıksa Windows RE'yi C: üzerinde bırakmıyorum. Önce Diskin sonunda yeni bir Recovery Partition oluşturup Windows RE'yi oraya kaydediyorum.
BitLocker Kapalıysa
BitLocker kullanılmayan sunucularda reagentc /enable komutu, 3. bölümde C:\Windows\System32\Recovery klasörüne taşınan Winre.wim imajını kullanarak Windows RE'yi C: üzerinde etkinleştirir. Bu durumda doğrudan aşağıdaki "Windows RE'nin Etkinleştirilmesi" adımına geçiyorum.
BitLocker Açıksa
BitLocker açık sunucularda Microsoft'un KB5028997 makalesinde anlattığı yöntemi kullanıyorum. C:'yi diskin sonundan küçültüp açılan alanda yeni bir Recovery Partition oluşturuyorum. {Boyut MB} yerine yeni Partition'ın boyutunu MB olarak yazıyorum. Bu boyutu sildiğim Recovery Partition'dan (benim ortamımda 523 MB) küçük seçmiyorum. {Disk Numarası}, 4. bölümde list disk ile belirlediğim numara.
Aşağıdaki komutlar GPT disk içindir. Disk türünü 4. bölümdeki list disk çıktısının Gpt sütunundan doğruluyorum. Komutlardaki id değeri Partition'ı GPT diskte Recovery Partition olarak tanımlar. gpt attributes=0x8000000000000001 ise Partition'a sürücü harfi atanmasını engeller ve onu korumalı bir sistem Partition'ı olarak işaretler.
diskpart
select volume C
shrink desired={Boyut MB} minimum={Boyut MB}
select disk {Disk Numarası}
create partition primary id=de94bba4-06d1-4d40-a16a-bfd50179d6ac
gpt attributes=0x8000000000000001
format quick fs=ntfs label="Windows RE tools"
exit
Disk MBR yapısındaysa Recovery Partition id=27 ile oluşturulur ve gpt attributes satırı kullanılmaz. Biçimlendirmeden sonra set id=27 ile Partition türünü Recovery olarak yeniden doğruluyorum.
diskpart
select volume C
shrink desired={Boyut MB} minimum={Boyut MB}
select disk {Disk Numarası}
create partition primary id=27
format quick fs=ntfs label="Windows RE tools"
set id=27
exit
Kontrol Noktası
list partition çıktısında C:'nin arkasında, verdiğim boyutta yeni bir Recovery Partition görünmeli.
Windows RE'nin Etkinleştirilmesi
Her iki durumda da Windows RE'yi reagentc /enable ile etkinleştiriyor ve sonucu reagentc /info ile kontrol ediyorum. Yeni bir Recovery Partition oluşturduysam Windows RE bu Partition'a yerleşir, oluşturmadıysam C: üzerinde kalır.
reagentc /enable
reagentc /info
Kontrol Noktası
reagentc /info çıktısında Windows RE status Enabled görünmeli. Windows RE location satırı, BitLocker kapalıysa C:'nin bulunduğu Partition'ı, BitLocker açıksa yeni oluşturduğum Recovery Partition'ı göstermeli.
7- Geri Dönüş
İşlemlerden herhangi birinde beklenmeyen bir sonuçla karşılaşırsam, 2. bölümde aldığım Snapshot'a dönüyorum. Snapshot, sanal Diskin ve Partition düzeninin işlemden önceki halini geri getirir. Tüm doğrulamalar tamamlandıktan sonra ise Snapshot'ı siliyorum. VMware Snapshot'ları zamanla büyüdüğü ve VM'in Disk performansını etkilediği için uzun süre tutulmamalı.
İşlemin tamamlandığını şu ölçütlerle anlıyorum: Disk Management'ta C: eklenen alan kadar büyümüş, reagentc /info çıktısında Windows RE Enabled durumda ve beklenen konumda, Snapshot da silinmiş. Bu noktadan sonra C: üzerindeki kurulum ya da uygulama çalışmalarına devam edebilirim.
Faydalı olması dileğiyle...
Makale ile ilgili düşüncelerinizi ve sorularınızı aşağıdaki yorum kısmında paylaşmaktan çekinmeyin. Her katkı, içeriğin daha fazla kişiye ulaşmasını ve daha faydalı bir tartışma ortamı oluşmasını sağlar.