Jawaban:
Akan
dd if=/dev/zero of=/dev/sda
menghapus tabel partisi yang sudah ada sebelumnya?
Ya, tabel partisi ada di bagian pertama drive, jadi menulisnya akan menghancurkannya. Itu dd
akan menulis di seluruh drive jika Anda membiarkannya berjalan (sehingga akan memakan waktu cukup lama).
Sesuatu seperti dd bs=512 count=50 if=/dev/zero of=/dev/sda
akan cukup untuk menimpa 50 sektor pertama, termasuk tabel partisi MBR dan GPT primer. Meskipun setidaknya menurut Wikipedia, GPT memiliki salinan sekunder tabel partisi di akhir drive, jadi menimpa hanya bagian di kepala drive mungkin tidak cukup.
(Namun, Anda tidak harus menggunakan dd
. head -c10000 /dev/zero > /dev/sda
Atau cat /bin/ls > /dev/sda
akan memiliki efek yang sama.)
apakah
fdisk /dev/sda g
(untuk GPT) menghapus angka nol yang ditulis oleh / dev / zero?
Juga ya (asalkan Anda menyimpan perubahan).
(Namun, ungkapan dalam judul hanya membingungkan, /dev/zero
dengan sendirinya tidak melakukan apa-apa lebih dari penyimpanan biasa.)
/bin/ls
cukup pendek, maka operasi penulisan mungkin menimpa hanya beberapa byte MBR, dan bagian yang paling penting (sektor awal dan akhir partisi) dapat tetap utuh. Meskipun MBR instal ulang (paling umum, grub --install /dev/sda
) masih diperlukan untuk membuat sistem bootable lagi.
ls
biner yang sebenarnya , bukan output dari menjalankannya. Biner ELF "Hello World" terkecil yang mungkin tampaknya adalah 98 byte (jadi kurang dari MBR), tapi saya pikir aman untuk mengasumsikan bahwa setiap biner dengan fitur aktual harus lebih besar dari MBR (implementasi FreeBSD yang terkenal kecil ls
adalah 32784) byte panjang, bahkan cukup besar untuk menimpa bagian awal disk GPT). ;)
ls
juga. Daftar /usr/bin
mungkin akan cukup lama. Saya akan menggunakan hanya echo
sebagai contoh, tetapi IIRC Anda membutuhkan hampir 500 byte untuk menimpa tabel partisi MBR, jadi agak lelah untuk mengetik. (berapapun jumlah pastinya)
Tabel partisi disimpan di dekat awal 1 perangkat disk (logis 2 ).
Menimpa area itu dengan apa saja (nol dari /dev/zero
atau data lainnya) akan mengganti tabel partisi dengan omong kosong, sehingga tidak lagi jelas di mana partisi pada perangkat dimulai.
Anda masih dapat memindai seluruh disk dan mencoba mengidentifikasi "byte ajaib" yang menandai awal sistem file.
Sebaliknya, jika Anda menggunakan fdisk
(atau alat pemartisi lainnya) untuk membuat tabel partisi baru, alat akan menimpa beberapa byte pertama dari disk untuk menyimpan tabel baru itu.
Hanya ada satu awal ke disk, jadi apa pun yang Anda lakukan terakhir akan "menempel" di sana.
Namun, perlu diketahui bahwa beberapa format tabel partisi (seperti GPT) akan menyimpan salinan cadangan di tempat yang berbeda (misalnya di akhir disk untuk GPT), yang darinya beberapa informasi partisi dapat dipulihkan.
1: mis. Dalam 512 byte pertama untuk MBR atau yang pertama dan terakhir 17408 byte untuk GPT
2: Drive dapat secara internal memetakan kembali blok logis ke berbagai bagian dari media fisik, tetapi pemetaan itu tidak terlihat (dan tidak penting untuk) sistem operasi.
/dev/zero
memusnahkan sesuatu, itudd
memusnahkannya dengan menyalinnya. Fakta-fakta bahwa byte kebetulan nol, dan bahwa byte nol kebetulan berasal dari/dev/zero
bukan beberapa sumber nol lainnya, adalah detail kecil.