Bir SSD'yi Linux'ta yeniden bölümlendirme için tüm bölümlerinden temizlemenin en hızlı yolu?


21

Bir SSD'yi tüm bölümlerini ve verilerini silmek istiyorum, böylece yeniden bölümlendirebilirim (bu güvenlik amaçlı değildir).

Baktım sudo dd if=/dev/zero of=/dev/sdb bs=1Mama eğer bu her bölümü sıfırlarla dolduruyorsa, bunu yapmak istediğimden emin değilim.

Bu komutu oldukça sık çalıştırmayı planlıyorum ve SSD'nin yazdıklarını tüketmek istemiyorum. Birisi bana bu sorunun üstesinden gelmek için tavsiye verebilir mi?


1
Bunu inceleyin: ATA Güvenli Silme . Süreçle ilgili hiçbir deneyimim yok, bu yüzden bu bir cevap değil, sadece bir ipucu. Bunun doğru yol olduğunu biliyorsanız, herkes bu konuda kendi cevabınızı yazmaktan çekinmeyin.
Kamil Maciorowski

18
Güvenlik amacıyla mı yoksa yalnızca bölümlere ayırmanız gerektiğinden mi?
user1686

çoğunlukla sadece bölümlere
ayırmak

14
12 ayarlı pompa hareketi. Ve birisinin bunu er ya da geç söyleyeceğini biliyordun!
ssimm

1
@ssimm - Benim tercihim kömür ızgarası.
Daniel R Hicks

Yanıtlar:


41

SSD'de: Tüm diskleri veya bölümleri kullanarak TRIM yapabilirsiniz blkdiscard. Çok güvenli değil, neredeyse anında (disk sadece tüm hücreleri kullanılmamış olarak işaretliyor).

Güvenlik için: Tam disk şifrelemesi kullanın. Şifrelenmişse tüm diski silmeyi zahmet etmeyin - yalnızca anahtarlarınızı içeren alanı silmeniz gerekir (örn. Her şifreli bölümün ilk 1-2 MiB'si).

Yeniden bölümlendirme için: Yine, tüm verileri silmeyi zahmet etmeyin. Dosya sistemlerini yalnızca kullanarak yok etmeniz wipefs, ardından kalan önyükleyicileri temizlemek için diskinizin ilk 1 MiB'sini fırçalamanız gerekir. Bir bölümü kullanarak biçimlendirdikten sonra mkfs, işletim sistemi bölümün tamamen boş olduğunu varsayar.

(Aslında, Linux'ta, mkfs.ext4 biçimlendirilmeden önce tüm bölümü otomatik olarak KIRPAYACAKTIR.)


6
Yeniden bölümlendirme için neden sadece eski bölümleri silmek ve yenilerini oluşturmak değil?
el.pescado

5
Çünkü aynı konumda (başlangıç ​​konumu) yeni bölümler oluşturursanız, bunların içinde aynı eski verileri bulacaksınız! (Var Elbette genellikle ile yeniden biçimlendirme, çünkü bir sorun değil mkfsyine de mahvederim Ama çeşitli garip durumlar. Do gerçekleşmesi - wipefsgerekli çünkü mevcut.)
user1686

4
@IgDV - ne man wipefsdiyor? (İpucu:
Timo

2
"yalnızca anahtarlarınızı içeren alanı silmeniz gerekir" - SSD'de anahtarların da kurtarılabilir olması muhtemeldir. TPM veya güçlü şifre koruma anahtarları daha iyi bir seçenek olabilir. blkdiscardsaldırgan anahtarı biliyor olsa bile (eski eşlemenin de kurtarılamayacağını varsayarak) diskin geri kalanından bir bulmaca oluşturacağı için de iyi olurdu. "daha sonra artık önyükleyicileri temizlemek için diskinizin ilk 1 MiB'sini silin" - ekstra bölüm yalnızca ilk 512B'nin taşması olarak kullanılır. İlk 512B'yi silerseniz, 1M'nin geri kalanından zarar görmezsiniz.
Maciej Piechotka

1
@MaciejPiechotka: Ne yazık ki, bazı önyükleyiciler (özellikle grub) MBR'den sonraki alanı da kullanıyor .
user1686

14

Kamil Maciorowski'nin belirttiği gibi, en az yazma aşınmasıyla, tüm diski silmenin en iyi yolu ATA 'güvenli silme' komutunu kullanmaktır. Bu, donanıma, araçlarda olduğu gibi hücrelerin tekrar tekrar üzerine yazmak yerine, tek bir tam silme yapması talimatını verecektir shred. Bu yalnızca tüm disk için yapılabilir, bölümleri seçerek silmeniz gerekiyorsa, grawity'nin cevabına bakın ( blkdiscard)

Komutun tam olarak uygulanması donanıma bağlıdır.

  • Çoğu SSD , tüm yongaları tamamen ya da tamamen silmek için toplu bir elektrik sinyali kullanır. Bu, (normal) yazma aşınmasına neden olur, ancak yalnızca mümkün olan en az ölçüde (~ tek yazma döngüsü).

  • Kendiliğinden şifrelenen SSD'ler genellikle denetleyici yongasının içindeki şifreleme anahtarını silecektir (gerçekten anlık). Kendi kendini şifreleyen sürücüler , kutusundan çıkar çıkmaz bile her zaman şifrelenir (fabrika varsayılan anahtarı ile). Bu nedenle, anahtarın silinmesi, kullanıcı anahtarı ayarlanmamış olsa bile, flaş çiplerinde yalnızca şifresi çözülemez bir karışıklık bırakır.

  • Spinning-Rust sabit diskleri , tüm sektörler için donanım tabanlı sıfır yazma yapacak ve bu da yapmaya eşdeğerdir (ve zaman alıcıdır) dd if=/dev/zero.

İşlem burada oldukça iyi belgelenmiştir: https://www.thomas-krenn.com/en/wiki/SSD_Secure_Erase (İşletim sistemlerini yeniden yüklerken kişisel olarak bu işlemi kendi SSD'lerimde tekrar tekrar kullandım)

Düzenleme: Güvenlik etkileri ilgilenen eğer: Bu Security.SE en çek soru


Güvenli Silme çoğu ATA disk tarafından destekleniyor mu? Desteğinin nadir olduğu izlenimindeydim.
Ruslan

1
Henüz desteklemeyen bir (modern, SATA) disk bulamadım, ancak deneyimimin kişisel olarak sahip olduğum sabit disklerle sınırlı olduğunu itiraf ediyorum. Ayrıca "güvenli silme" ve "gelişmiş güvenli silme" arasında bir fark var gibi görünüyor , ikincisi daha az destekleniyor.
Jules Kerssemakers

3
@Ruslan Desteklemeyen bir SATA-2 teknik özellik diski hiç görmedim (veya duymadım). Neredeyse son 10 yılda yapılan herhangi bir SATA diskinin sahip olması gerekir.
Tonny

Bu aynı zamanda kendi kendini şifreleyen SSD'lerde TRIM komutunun işlem yapılmaması anlamına mı geliyor? (Aksi halde her zaman şifreleme olmaz, değil mi?)
Mehrdad

1
@Mehrdad: Evet, şifrelenmiş bir SSD'de TRIM kullanmak, hangi blokların ücretsiz olduğu hakkında bilgi sızdırıyor. Bunun kabul edilebilir olup olmadığı güvenlik ihtiyaçlarınıza bağlıdır. Tartışma için bkz . Askubuntu.com/questions/399211/… .
sleske

4

Diskleri hızlı bir şekilde nasıl sileceğiniz konusunda bir çözüm istediğinizi unutmayın. / Dev / sdx dosyasını diskinizle değiştirin. / Dev / sda

Bu, bölüm tablosunu silecektir.

dd if=/dev/zero of=/dev/sdx bs=1024 count=50

Bu tüm diski silecek, biraz zaman alacak.

cat /dev/zero > /dev/sdx

4
Kullanmayın cat. ddPerformansı artırmak için kullanın .
Micheal Johnson

6
@Micheal Bunu söylersiniz, ancak varsayılan olarak performansı bozacakdd 512 bayt tamponlar kullanır ... Coreutils ( ve muhtemelen de ) daha mantıklı bir tampon boyutuna sahiptir. Bununla ilgili hiçbir şey yok , onu bir şekilde doğal olarak daha hızlı yapıyor. cpcatdd
user1686

3
@grawity Arabellek boyutunu ile değiştirebilirsiniz dd. En son catbir görüntüyü diske yazmak için kullanmaya çalıştığımda, uygun bir arabellek boyutuyla kullanmaktan çok daha yavaştı dd.
Micheal Johnson
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.