Sdelete -c ve -z arasındaki fark nedir?


24

Bu makaleden , sdelete VDI dosyasını küçültmek için bir adım olarak kullanmak için öğrendim :

sdelete -c c:

Fakat -c(Yardım metninde açıklandığı gibi 'Boş alanı temizle') ne anlama geliyor? Sıfır ile boş alan yazmıyor mu? Peki ya -z(Sıfır boş alan)? Sdelete -c ve -z arasındaki fark nedir?

Düzenle

Daha önce belirtilen makaledeki adımı denedim , ancak .viddosyanın boyutunu küçültemedim. Sonra takip bu süper yazı ve seçenek değişti -cetmek -zve başarılı oldu.

Bu yüzden -zboş alana sıfır yazıyor ve -cbaşka bir şey yazıyor gibi görünüyor (rastgele bitler olabilir).

Yanıtlar:


21

Bunun yaygın bir hata olduğunu düşünüyorum. Belki -z seçeneği önceki sürümlerde mevcut değildi. SDelete 1.61 diyor

-z         Zero free space (good for virtual disk optimization)

Bunu yapmanın önce sabit diskinizi tam boyuta genişleteceğini unutmayın. Yalnızca VMWare tarafından küçültme işleminde, yeniden küçülecektir.

Makinemde hızlı bir test:

-z took 1:01 minutes
-c took 2:11 minutes

Bu, -z'nin sadece basit sıfırlar yazdığını belirtirken -c, SDelete web sitesinde yazıldığı gibi DoD 5220.22-M'yi silen askeri standarttır .


Yazılım biraz akıllıysa dosyayı şişirmez. Sanallaştırma uygulamalarının çoğu. Az önce VMware Fusion'da denedim, dosya boyutunu hiç arttırmadı.
Daniel B

1
VMWare Workstation Pro 12 ne yazık ki diski tam boyuta genişletiyor.
Lebenita

-c ve -z, 1.51'de tam tersi şekilde duyuruldu (açıklamada sadece bir hata mıydı yoksa işlevleri de ters çevrildi mi bilmiyorum). Açıkça 1.61 yolu çok daha anlamlı.
Lebenita

Sadece Windows 2012 ve yeni bir 20GB VHDX dosyası ile kontrol ettim. -Z seçeneği çok hızlıydı (saniye) ve VHDX disk dosyasının boyutu artmadı. -C seçeneği çok daha yavaş çalışıyor ve VHDX boyutu artıyor. So-z, özellikle fazladan disk alanınız varsa, ince / genişleyen sanal sabit disk için tercih edilen seçenektir. Ama -c seçeneği kadar güvenli değil
munrobasher 14

1
Sadece son sürümü (2.0) kontrol ettim ve iki belirgin fark var. Öncelikle 32 bit ve 64 bit sürümü var (sdelete.exe ve sdelete64.exe). Ancak -c komutunda endişe verici ince bir fark var. V1.61'de -c seçeneği "Boş alanı temizleme" dedi, ancak v2.0'da "Boş alanı sıfırlama" diyor. -Z seçeneği ayrıca sıfırlama diyor. Rastgele veri seçeneğini kaybetti mi ??
munrobasher

5

Bu, Thomas'ın cevabına bir yorum olarak daha uygun şekilde gönderilmiş olmalıydı, ancak henüz bunu yapamadığım için buraya yazıyorum.

"-Z" ve "-c" seçeneklerini karıştırmak muhtemelen "yaygın bir hatadır" çünkü SDelete, bu seçeneklerin davranışını yıllar içinde değiştirdi. Aşağıda verilen referanslara bakıldığında, SDelete'nin önce "askeri standart silme" işlemini yapan "-z" seçeneğine sahip olduğunu, ardından boş alanı sıfırlamak için "-c" seçeneğini eklediğini ve ardından v1.51 ile v1 arasında bir yerde bulunduğunu göstermektedir. 61 bu davranışı o anki davranışa geçirdi.

Kaynaklar: sysinternals.com Forum ve Microsoft TechNet'teki eski SDelete ana sayfasını archive.org.


Bu asıl sorunun cevabı değil . Bir yazarın açıklamasını eleştirmek veya talep etmek için, yazdıklarının altında bir yorum bırakın; istediğiniz zaman kendi yazılarınıza yorum yapabilirsiniz ve yeterli saygınlık elde ettiğinizde , herhangi bir yayına yorum yazabilirsiniz .
DavidPostill

4
Bu asıl sorunun cevabı değil . Lütfen gönderinin ilk satırını tekrar okuyun. Servise yeni üye olan biri için zaten mevcut olan bir cevaba yararlı ve / veya uygun bilgiler eklemek için daha iyi bir prosedür varsa, beni aydınlatmaktan çekinmeyin.
LN2

"Servise yeni başlayan biri için zaten mevcut olan bir cevaba yararlı ve / veya uygun bilgiler eklemek için daha iyi bir prosedür varsa, beni aydınlatmaktan çekinmeyin" - yok, lütfen verdiğim bağlantıları okuyunuz.
DavidPostill

Hangi düğmeyi kullandığınıza bakılmaksızın her zaman "Boş alanı sıfırlama" (ve 1.51'de her zaman "Boş alanı temizleme" der) yazması 1.61'de dikkat edilmesi ilginçtir. Bu biraz yanıltıcıdır, bir süredir "-c" nin aslında "temiz" olduğunu ve "sıfır" davranışına güvenmediğini söyledi.
rkagerer,

5

Mevcut belgeler (ve program sürümü 2.01):

  • -c: Temiz boş alan. Çalışan bir sistem tarafından kullanılmak üzere boş bırakılacak bir seçenek miktarı belirtin.
  • -z: Sıfır boş alan (sanal disk optimizasyonu için iyi).

Ancak eski sürümlerde tersine çevrildi:

  • -c: Sıfır boş alan (sanal disk optimizasyonu için iyi).
  • -z: Temiz boş alan.

görüntü tanımını buraya girin

Ama ne yaparlar?

Clean , yapabileceği en büyük dosyayı oluşturur ve rastgele verilerle doldurur, sonra sıfırlarla doldurur. Bu, çoğu insanın silme olarak düşündüğü şeydir ve fazla overkill.

Dezavantajı ise, bir sanal disk kullanıyorsanız veya bir sanal makinenin içinde kullanıyorsanız veya bir depolama alanında çalıştırıyorsanız: temel depolama sistemi sizi rastgele verileri tutmak için kaynakları tahsis etmeye zorlar ve ardından sıfır tutar. Umarım, o zaman temel depolama sistemi, sürücünüze ayrılan tüm alanların geri kazanılabileceğini fark eder, çünkü tüm bu sektörler yalnızca sıfır içerir.

-z Sıfır: Basitçe tüm sektörlere sıfır yazar. İstediğiniz seçenek, birçok nedenden dolayı:

  • rastgele verilerle silinmek fazla önemlidir (verileri okumak pratikte mümkün değildir; yani bir mikroskop uygulanabilir olmasa da bir seferde bir bit)
  • bazı SSD'ler bir sektöre sıfır yazdığınızı tespit edebilir ve sektörü serbest olarak işaretlemek için kullanabilir (TRIM'e benzer)
  • sanal depolama sistemlerinin çoğu (VMWare, Hyper-V, Windows Sanal Diskler, Depolama Alanları), tüm bir sıfır sektörünü yazdığınızı fark eder ve altta yatan depolama dosyasında yer kazanma fırsatını yakalar
  • SSD'ler, nihai amacınızın esasen yüceltilmiş bir TRIM olduğunu ve (sanal diskler gibi), sıfır içeren, yalnızca sıfır olmayan, yalnızca sıfırla doldurmanız için sektörleri doldurmaya zorlanmayacağını bilemez. SSD'ler için bu korkunç.

Kaynak : Sanal bir sabit disk monte edildi ve sdelete'nin her iki modda da yaptığı G / Ç işlemlerini izledi.

tl; dr: -z Zero kullanın. Daha hızlı, daha iyi, daha güvenli.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.