Akan
dd if=/dev/zero of=somepartition bs=512
juga menghapus partisi setelah somepartitionatau berhenti di akhir somepartition?
Akan
dd if=/dev/zero of=somepartition bs=512
juga menghapus partisi setelah somepartitionatau berhenti di akhir somepartition?
Jawaban:
ddddadalah alat yang sangat kuat tetapi juga berbahaya. Itu melakukan apa yang Anda katakan untuk dilakukan tanpa pertanyaan. Jadi, jika Anda menyuruhnya menghapus foto keluarga, ... dan itu adalah kesalahan mengetik kecil.
Tetapi jika Anda memeriksa dan mengecek, Anda dapat menggunakannya.
dd if=/dev/zero of=somepartition bs=512
atau saya sarankan
dd if=/dev/zero of=/dev/sdxn bs=4096
di mana xhuruf drive dan nnomor partisi dan ukuran blok 4096 byte membuat proses penulisan lebih cepat.
Penting bahwa Anda menulis ke partisi dalam kasus ini. Jika Anda menulis ke seluruh drive (ujung kepala drive) /dev/sdxseluruh drive akan ditimpa. Tetapi penulisan ke partisi akan terganggu pada akhir partisi dan partisi di belakangnya akan dipertahankan. (Saya menguji sekarang pada flashdisk USB di Lubuntu 16.04 LTS, jadi saya tahu itu berfungsi seperti itu.)
Ada pengecualian untuk partisi extended (yang merupakan wadah untuk partisi logis, agar memiliki lebih dari empat partisi dalam tabel partisi MSDOS). Ini dijelaskan dalam tautan berikut,
Bisakah saya membuat gambar partisi 'extended' menggunakan dd?
Tapi ada masalah lain juga. Saya menguji perintah Anda dalam lingkungan pengujian, dan hanya membaca satu kibibyte (1024 byte) ketika saya ingin itu membuat gambar dari partisi extended.
Saya juga menguji ini sekarang pada flashdisk USB di Lubuntu 16.04 LTS, dan ini berlaku untuk menulis (juga membaca). Hanya kibibyte pertama yang ditimpa.
Jadi untuk meringkas, menimpa partisi primer dan partisi logis bekerja sesuai dengan deskripsi utama dalam jawaban ini. Tetapi jangan gunakan metode ini untuk menimpa partisi extended karena hanya kibibyte pertama yang akan ditimpa. Partisi logis partisi extended tidak akan lagi ditemukan melalui tabel partisi, tetapi data yang tersimpan di dalamnya masih ada.
dddan berisiko, sehingga Anda sangat berhati-hati saat menggunakannya. Semoga berhasil :-) Secara umum, Anda harus selalu memiliki cadangan semua file, yang Anda tidak mampu kehilangannya.
Menulis ke perangkat partisi tidak akan menulis di luar partisi itu, dengan dd atau apa pun. Anda perlu menggunakan perangkat wholedisk untuk memiliki efek di luar satu partisi.
(Peringatan: kecuali jika disk Anda memiliki tabel partisi dengan partisi yang tumpang tindih, yang seharusnya tidak pernah terjadi.)
Saya pikir pertanyaan Anda didasarkan pada kesalahpahaman mendasar tentang bagaimana dd(dan sebenarnya sistem operasi mirip Unix secara umum) bekerja:
ddtidak dapat menimpa partisi yang berdekatan, hanya karena ddtidak dapat menimpa partisi, titik .
ddcukup menulis ke file . Itu dia.
Sekarang, jika Anda meneruskan ddfile yang mewakili banyak partisi, maka ddakan menimpa file itu . Tetapi dalam hal ini, itu tidak ddmenulis melewati akhir partisi. ddmasih akan menulis sampai akhir file, dan hanya sampai akhir file.
Tetapi, jika Anda meneruskan ddfile yang hanya mewakili satu partisi, maka ddtidak akan menulis melewati akhir partisi ini. Sekali lagi, ini tidak ada hubungannya dengan dd. ddcukup menulis ke file yang Anda suruh untuk menulis. Fakta bahwa file ini mewakili partisi tunggal (dalam hal ini) dipastikan oleh driver perangkat blok di kernel. ddtidak ada hubungannya dengan itu.
Jadi, singkatnya: ddmenulis ke file. Apa yang diwakili file-file itu, tidak ddmenjadi perhatian. ddtidak tahu apa-apa tentang partisi.
dduntuk menulis ke partisi mentah. Anda hanya dapat menulis ke file. Anda bisa saja menulis ke file perangkat blok yang mewakili partisi (seperti /dev/sda1), tetapi Anda tidak bisa menulis ke partisi mentah. Dan karena Anda hanya dapat menulis ke file yang mewakili partisi, Anda tidak dapat menulis melewati akhir partisi, karena file tersebut hanya mewakili partisi, dan bukan partisi dan sedikit melewati akhir.
/dev/sdadi editor teks Anda dan mengubah data, ddtidak berbeda dari program lain dalam hal dapat mengakses partisi. Jawaban yang sangat bagus
Ada skenario khusus yang berbahaya tetapi jarang terjadi di mana ini dapat terjadi bahkan dengan driver perangkat non-buggy block:
Anda harus berhati-hati dengan dd seolah-olah Anda membuat kesalahan Anda dapat menimpa lebih dari yang Anda tawar-menawar dan itu tergantung pada apa yang Anda gunakan untuk dd (OP tidak jelas dalam penggunaan dd dan sintaks yang tepat dari dd perintah).
Jika Anda menentukan partisi itu akan menulis ke partisi itu sampai partisi penuh.
Jika Anda membuat kesalahan dan meletakkan seluruh drive, misalnya = / dev / sda, dd akan menulis ke seluruh drive mulai selesai mengabaikan (dan menimpa) tabel partisi Anda.
Anda juga dapat menggunakan dd pada partisi untuk menimpa file yang dihapus (file yang dihapus mungkin tetap pada partisi dan ditemukan oleh berbagai alat pemulihan dengan berbagai tingkat keberhasilan hingga selesai ditulis. Dalam hal ini Anda dapat menggunakan dd untuk mengisi ruang kosong dengan menulis ke file.
dd if=/dev/zero of=/path/to/mount_point/zero_file bs=4096
rm -f /path/to/mount_point/zero_file
Tergantung pada apa yang Anda lakukan, Anda mungkin ingin menggunakan alat alternatif untuk menghapus file dengan aman. Lihat Bagaimana cara menghapus file dengan cara yang aman? untuk opsi.
ddbukan level rendah itu. Sebenarnya sebagian besar hal yang dilakukan orang ddbisa dilakukan dengan cara yang sama cat. Bahkan catsedikit lebih cepat karena menggunakan blok yang lebih besar daripada yang dddilakukan secara default. Semua kode level rendah ada di kernel. Dan pengemudi tidak terlalu peduli jika Anda menggunakan ddatau cat.
dd if=/dev/zero of=/dev/sda bs=512 count=1atau dd if=/dev/zero of=/dev/sda bs=512contoh. Dengan perintah kedua ia akan terus menulis dan mengisi seluruh disk "mengabaikan" tabel partisi. Jika Anda menentukan partisi dd if=/dev/zero of=/dev/sda1itu tidak akan melampaui partisi. Semacam tergantung pada apa yang ingin Anda lakukan dengan dd.
of=somepartition, jadi kasus di mana Anda menulis ke seluruh perangkat disk tidak berlaku. ddtidak dapat menyiasati batasan driver perangkat.
/dev/sda1, dibuat oleh kernel sedemikian rupa sehingga tidak mungkin untuk mengakses penyimpanan yang berdekatan melalui mereka (dengan asumsi tabel partisi tidak diubah setelah kernel membacanya terakhir kali). Jika Anda dapat mengakses penyimpanan yang berdekatan dengan cara itu, itu akan dianggap sebagai bug yang sangat besar.