Burada dört uygulanabilir cevap görüyorum:
hdparm
Yöntem tarafından gönderildi garethTheRed bilgisayarınıza doğrudan bağlıysanız muhtemelen en iyisidir. Görünüşe göre, USB üzerinden bağlamayı denerseniz, sürücünüzü tutabilirsiniz. Bunu atmak üzere olduğunuz bir sürüş için yapıyorsanız, bu iyi bir şey olabilir. Ancak, atmadan önce silme işlemini güvenli bir şekilde yapmak isteyebilirsiniz.
İmz - Ivan Zakharyaschev tarafından bildirilen teknik işe yarayacak, ancak çok yavaş olabilir. Eğer veri kurtarılabilir olmasını istiyoruz kalmazsam öneririm /dev/urandom
yerine /dev/zero
; Örneğin,
dd iflag=fullblock oflag=direct conv=noerror,notrunc if=/dev/urandom of=/dev/sdX
Aşağıdakilere karşı tavsiye ederim. Aynı şeyi yapan daha hızlı bir şey için, maxschlepzig tarafından bildirilen tekniği kullanın (soruda):
ddrescue --verbose --force --nosplit /dev/urandom /dev/sdX
Bu dd
komuttan daha hızlı olacaktır , ancak komut kadar hızlı olmayacaktır hdparm
. Bunu neden önermediğimi aşağıya bakın ...
badblocks
Komut ayrıca iş, ama o şekilde verileri rastgele olamaz olacak ve yine çok yavaş olacaktır.
Son olarak, insanların bir diski tamamen silmek istedikleri bir numaralı nedeni belirtmediysem hatırlatmak isterim. Bu durumda, henüz yapmadıysanız, önce diski kurtarmayı deneyebilirsiniz. Bir bloğu okursanız ve bu G / Ç hatasını döndürürse, bir daha aynı bloğa yazdığınızda disk yedek bir listeden farklı bir bloğu yeniden tahsis etmeye çalışır. Yedek listesi dolduğunda yazma işlemlerinde G / Ç hataları alırsınız. İşte o zaman sürücüyü gerçekten atmalısınız.
Böylece basit bir şey yapabilirsiniz:
dd if=/dev/sdX of=/dev/null conv=noerror
Ve sonra, kötü blokları yeniden yazmak için:
dd if=/dev/zero of=/dev/sdX bs=128k
Bu komut çalışırsa, cesursanız, diskinizi yeniden biçimlendirebilir ve tekrar kullanabilirsiniz.
Alternatif olarak, badblocks
komutu diskte iki kez çalıştırabilirsiniz . İkinci kez kötü bloklar rapor etmemeli ...
badblocks -v -s -w -t random /dev/sdX
badblocks -v -s -w -t random /dev/sdX
Bu daha uzun sürer, ancak daha güvenilirdir.
Ayrıca, hdparm
komut dışında tekniklerin hiçbirinin güvenli bir şekilde silinmediğini de belirtmek gerekir . Tüm bu kötü blokları hatırlıyor musun? Bunlar hala orijinal verilerinizin birçoğunu çoğunlukla sağlam tutar. Bir veri kurtarma uzmanı, daha önce sabit diskinizde olanların küçük bir miktarını görmek için bunlara erişebilir.
Kurtarma konusunda ve neden ona karşı tavsiyede bulunduğumda, aşağıdaki panzehirim var:
Sorun ddrescure hataları görmezden ÇOK iyi olacak olmasıdır. Yaklaşık 102 GB işaretli dd yazma hızıyla tutarlı bir şekilde sabit diskim vardı ve 238 GB işaretinde yazma hataları üretmeye başladım. Ben ddrescue disk hiçbir hata rapor bile sabit bir hızda çalmaya devam etkilendim. 17 saat sonra, 1300 GB'dayken, sürücü ışığının yanıp sönmesinin durduğunu fark ettiğimde. Hızlı bir kontrol, tüm USB muhafazasının çevrimdışı olduğunu ortaya çıkardı. Sürücüyü yuvadan çıkardım. Ben ddrescue sadece mutlu hala hala elimdeki disk ile, hata olmadan kopyalama olduğunu bildirdi fark ettim. Diski başka bir makineye taktım ve şimdi bir tuğla olduğunu gördüm.
Sürücüyü bir tuğla yapmak için kurtarmayı suçlamıyorum. Sürücü başarısız oldu ve bir tuğla haline gelecekti. Sadece rahatsız edici ddrescue, kaç yazma hatası görmezden geldiğini bir hata saymak bile bulmuyorum. Bu kullanımda, ddrescue tüm yazma hatalarından bağımsız olarak tamamen başarılı olduğunu düşünmenizi sağlar. Gerçek şu ki, yavaşlama olan bölümde tam hızda devam etmemeliydi. Bölümün yavaş olmasının nedeni, sürücü tarafından birçok bloğun yer değiştirmiş olması ve bu bölüme erişirken çok fazla aramaya neden olmasıdır. Ddrescue'nun çıktısının kurgusal hale geldiği nokta muhtemelen budur.
dd conv=noerror
bir GNU uzantısı olabilir, emin değilim. Her durumda, hile yapmalı. SATA, sürücüye-silmeyi-söyle yanıtı, tüm sürücüleri silmeye değer.