Saya ingin menghapus SSD dari semua partisi dan datanya, jadi saya dapat mempartisi ulang (ini bukan untuk tujuan keamanan).
Saya telah melihat sudo dd if=/dev/zero of=/dev/sdb bs=1M
tetapi jika ini hanya mengisi setiap partisi dengan nol, saya tidak yakin ini yang ingin saya lakukan.
Saya berencana untuk menjalankan perintah ini cukup sering, dan saya tidak ingin menghabiskan tulisan SSD saya. Adakah yang bisa memberi saya saran untuk mengatasi masalah ini?
Jawaban:
Pada SSD: Anda dapat TRIM menggunakan seluruh disk atau partisi
blkdiscard
. Ini tidak terlalu aman, tetapi praktis instan (disk hanya menandai semua sel sebagai tidak terpakai).Untuk keamanan: Gunakan enkripsi disk penuh. Jangan repot-repot menghapus seluruh disk jika terenkripsi - Anda hanya perlu menghapus area yang berisi kunci Anda (mis. 1-2 MiB pertama dari setiap partisi terenkripsi).
Untuk partisi ulang: Sekali lagi, jangan repot-repot menghapus semua data. Anda hanya perlu memusnahkan sistem file menggunakan
wipefs
, kemudian gosok 1 MiB pertama dari disk Anda untuk membersihkan sisa bootloader. Setelah Anda memformat partisi menggunakanmkfs
, OS hanya akan menganggap itu benar-benar kosong.(Faktanya, di Linux, mkfs.ext4 akan secara otomatis MEMULAI seluruh partisi sebelum memformatnya.)
sumber
mkfs
akan membuangnya. Tetapi berbagai situasi aneh memang terjadi -wipefs
ada karena diperlukan.)man wipefs
katanya? (Petunjuk: lihat contoh pertama di bagian contoh halaman manual)blkdiscard
akan lebih baik juga karena akan membuat puzzle dari sisa disk bahkan jika penyerang tahu kunci (dengan asumsi pemetaan lama tidak dapat dipulihkan juga). "lalu gosok 1 MiB pertama disk Anda untuk membersihkan sisa bootloader" - bagian tambahan hanya digunakan sebagai luapan 512B pertama. Jika Anda menghapus pertama 512B Anda tidak akan dirugikan oleh sisa 1M.Seperti yang Kamil Maciorowski sebutkan , cara terbaik, dengan sedikit penulisan untuk menghapus seluruh disk, adalah dengan menggunakan perintah ATA 'secure erase'. Ini akan menginstruksikan perangkat keras untuk melakukan satu penghapusan penuh, daripada menimpa sel berulang kali seperti dengan alat-alat seperti
shred
. Ini hanya dapat dilakukan untuk seluruh disk, jika Anda perlu menghapus partisi secara selektif, lihat jawaban grawity (blkdiscard
)Implementasi yang tepat dari perintah tergantung pada perangkat keras.
Sebagian besar SSD akan menggunakan sinyal listrik massal untuk menghapus seluruh chip dengan cara semua atau tidak sama sekali. Hal ini menimbulkan keausan (normal), tetapi hanya sebatas mungkin (~ siklus penulisan tunggal).
SSD yang dienkripsi sendiri biasanya hanya akan menghapus kunci enkripsi di dalam chip pengontrol (benar-benar instan). Hard disk terenkripsi sendiri selalu mengenkripsi, bahkan out-of-the-box (dengan kunci standar pabrik). Jadi, menyeka kunci hanya akan meninggalkan campur aduk yang tidak dapat didekripsi pada chip flash, bahkan jika tidak ada kunci pengguna yang ditetapkan.
dd if=/dev/zero
.Proses ini didokumentasikan dengan cukup baik di sini: https://www.thomas-krenn.com/en/wiki/SSD_Secure_Erase (Saya secara pribadi menggunakan proses ini berulang kali pada SSD saya sendiri ketika menginstal ulang OS'es)
Sunting: jika Anda tertarik dengan implikasi keamanan: periksa pertanyaan Security.SE ini
sumber
Ingatlah bahwa Anda telah meminta solusi tentang cara menghapus disk dengan cepat. Ganti / dev / sdx dengan disk Anda, yang paling disukai / dev / sda
Ini akan menghapus tabel partisi.
Ini akan menghapus seluruh disk, itu akan memakan waktu.
sumber
cat
. Gunakandd
untuk meningkatkan kinerja.dd
menggunakan buffer 512-byte, yang akan merusak kinerja ... Coreutils (cp
dan mungkin jugacat
) memiliki ukuran buffer yang lebih masuk akal. Lagipula tidak adadd
yang membuatnya menjadi lebih cepat.dd
. Terakhir kali saya mencoba menggunakancat
untuk menulis gambar ke disk, itu secara signifikan lebih lambat daripada menggunakandd
dengan ukuran buffer yang sesuai.