Would
dd if=/dev/zero of=somepartition bs=512
ayrıca sonra bölümleri silmek somepartition
veya sonunda durdurmak somepartition
?
Would
dd if=/dev/zero of=somepartition bs=512
ayrıca sonra bölümleri silmek somepartition
veya sonunda durdurmak somepartition
?
Yanıtlar:
dd
dd
çok güçlü ama aynı zamanda tehlikeli bir araçtır. Söylediklerinizi soru olmadan yapar. Bu yüzden aile resimlerini silmenizi söylerseniz ... ve bu küçük bir yazma hatasıdır.
Ancak kontrol edip iki kez kontrol ederseniz kullanabilirsiniz.
dd if=/dev/zero of=somepartition bs=512
ya da öneririm
dd if=/dev/zero of=/dev/sdxn bs=4096
x
sürücü harfi ve n
bölüm numarası ve blok boyutu 4096 bayt nerede yazma işlemini daha hızlı hale getirir.
Bu durumda bir bölüme yazmanız önemlidir . Tüm sürücüye (sürücü kafası ucu) yazarsanız, tüm sürücünün /dev/sdx
üzerine yazılır. Ancak bölümün sonuna yazma işlemi bölümün sonunda kesilecek ve arkasındaki bölümler korunacaktır. ( Şimdi Lubuntu 16.04 LTS'de bir USB pendrive üzerinde test ettim , bu yüzden böyle çalıştığını biliyorum.)
Genişletilmiş bir bölüm (bir MSDOS bölüm tablosunda dörtten fazla bölüme sahip olmak için mantıksal bölümler için bir kapsayıcıdır) için bir istisna vardır. Bu, aşağıdaki bağlantıda açıklanmaktadır,
Dd kullanarak 'genişletilmiş' bölümün görüntüsünü yapabilir miyim?
Ama başka bir sorun daha var. Komutunuzu bir test ortamında test ettim ve genişletilmiş bir bölümün görüntüsünü oluşturmasını istediğimde dd yalnızca bir kibibyte (1024 bayt) okudu.
Bunu şimdi Lubuntu 16.04 LTS'deki bir USB pendrive'da da test ettim ve bu yazma için olduğu kadar okuma için de geçerlidir. Sadece ilk kibibitin üzerine yazılır.
Özetlemek gerekirse, birincil bölümlerin ve mantıksal bölümlerin üzerine yazmak bu yanıttaki ana açıklamaya göre çalışır. Ancak bu yöntemi, genişletilmiş bir bölümün üzerine yazmak için kullanmayın, çünkü yalnızca ilk kibibitin üzerine yazılacaktır. Genişletilmiş bölümün mantıksal bölümleri artık bölüm tablosu aracılığıyla bulunmayacaktır, ancak bu bölümlerde depolanan veriler hala oradadır.
dd
ve riskli olduğunu anlamanız daha önemlidir , böylece kullanırken çok dikkatli olursunuz. İyi şanslar :-) Genel olarak, kaybetmeyi göze alamayacağınız tüm dosyaların yedeğini almalısınız .
Bir bölümleme aygıtına yazma işlemi bu bölümün dışında dd veya başka bir şeyle yazmaz. Tek bir bölümün dışında herhangi bir etkiye sahip olmak için bir wholedisk cihazı kullanmanız gerekir.
(Uyarı: Diskinizde üst üste binen bölümleri olan ve asla olmaması gereken bir bölüm tablosu yoksa).
Sorunuzun, dd
(ve genel olarak Unix benzeri işletim sistemlerinin) nasıl çalıştığı hakkında temel bir yanlış anlamaya dayandığını düşünüyorum :
dd
değil üzerine yazma bitişik bölümleri, çünkü can dd
teneke değil yazma bölümleri, dönem .
dd
sadece dosyalara yazar . Bu kadar.
Şimdi, eğer sen geçmesi dd
temsil eden bir dosyayı birden bölümleri, daha sonra dd
üzerine yazacaktır bu dosyayı . Ancak bu durumda, dd
bölümün sonunu yazmıyor. dd
dosyanın sonuna kadar ve sadece dosyanın sonuna kadar yazacaktır .
Ancak, dd
yalnızca bir bölümü temsil eden bir dosyayı iletirseniz, dd
bu bölümün sonunu yazmaz. Yine bunun bir ilgisi yok dd
. dd
yazmasını istediğiniz dosyaya yazmanız yeterlidir. Bu dosyanın tek bir bölümü temsil etmesi (bu örnekte) çekirdekteki blok aygıt sürücüsü tarafından sağlanır. dd
bununla hiçbir ilgisi yok.
Kısacası: dd
dosyalara yazar. Bu dosyaların temsili, dd
endişe verici değildir. dd
bölümler hakkında hiçbir şey bilmiyor.
dd
Ham bölümlere yazmak için kullanamazsınız . Yalnızca dosyalara yazabilirsiniz. Sen can bir blok aygıtı dosyası kurs yazma temsil bir bölümünü (örneğin /dev/sda1
), ancak bir çiğ bölüm yazamıyor. Ve yalnızca bir bölümü temsil eden bir dosyaya yazabildiğiniz için , bölümün sonundan sonra yazamazsınız, çünkü dosya sadece bölümü temsil eder, bölümü değil, biraz da sondan sonra.
/dev/sda
Metin düzenleyicinizde açıp verileri değiştirebilirsiniz, dd
bölümlere erişebilme açısından diğer programlardan farklı değildir. Çok iyi cevap!
Bunun, buggy olmayan blok aygıt sürücülerinde bile olabileceği tehlikeli, ancak nadir bir özel senaryo vardır:
Eğer bir hata yaparsanız, sizin için pazarlık yaptığınızdan daha fazla üzerine yazabileceğiniz gibi dd konusunda dikkatli olmalısınız ve dd için ne kullandığınıza bağlıdır (OP dd kullanımında ve dd'nin tam sözdiziminde belirsizdi komutu).
Bir bölüm belirtirseniz , bölüm dolana kadar bu bölüme yazılır.
Bir hata yapar ve sürücünün tamamını koyarsanız, örneğin = / dev / sda, dd, bölüm tablonuzu görmezden gelmeyi (ve üzerine yazmayı) tamamlamak için tüm sürücünün başlangıcına yazar.
Ayrıca, silinmiş dosyaların üzerine yazmak için bir bölüm üzerinde de kullanabilirsiniz (silinen dosyalar bölüm üzerinde kalabilir ve üzerine yazılana kadar çeşitli başarı araçlarıyla çeşitli kurtarma araçları tarafından keşfedilebilir.Bu durumda, boş alanı doldurmak için dd'yi kullanabilirsiniz. bir dosyaya yazma.
dd if=/dev/zero of=/path/to/mount_point/zero_file bs=4096
rm -f /path/to/mount_point/zero_file
Ne yaptığınıza bağlı olarak, dosyaları güvenli bir şekilde silmek için alternatif bir araç kullanmak isteyebilirsiniz. Bkz. Dosya (lar) güvenli bir şekilde nasıl silinir? seçenekler için.
dd
o kadar düşük değil. Aslında insanların kullandığı şeylerin çoğu dd
aynı şekilde yapılabilirdi cat
. Aslında cat
, dd
varsayılan olarak olduğundan daha büyük bloklar kullandığından biraz daha hızlıdır . Tüm düşük seviye kodu çekirdeğin içindedir. Ve sürücü dd
ya da kullanıyorsanız gerçekten umursamıyor cat
.
dd if=/dev/zero of=/dev/sda bs=512 count=1
veya dd if=/dev/zero of=/dev/sda bs=512
örnektir. İkinci komut ile yazmaya devam edecek ve tüm diski bölüm tablosunu "yok sayıyor". Bir bölüm belirtirseniz, bölümün dd if=/dev/zero of=/dev/sda1
ötesine geçmez. Dd ile ne yapmak istediğinize göre değişir.
of=somepartition
, bu nedenle tüm disk aygıtına yazdığınız durum geçerli değil. dd
aygıt sürücüsünün kısıtlamalarını aşamaz.
/dev/sda1
, çekirdek tarafından, bunlara bitişik depolamaya erişmenin imkansız olduğu bir şekilde oluşturulur (bölüm tablosunun son kez okuduktan sonra bölüm tablosunun değiştirilmediği varsayılarak). Bitişik depolama alanına bu şekilde erişebiliyorsanız, büyük bir hata olarak kabul edilir.