dd komutu

dd komutu dosya sistemlerinden bağımsız olarak dosya kopyalar diyebiliriz. Disk üzerindeki blokları doğrudan kopyalar.

dd if=/dev/zero of=/tmp/gecici.img count=4096 bs=1k
if: input file

of: output file

bs: block size

Bu kod ile  kopyalama işlemini 1 kilobayt boyutundaki bloklarla 4096 adet blok kopyalayarak yapıyoruz. Input file olarak /dev/zero seçtiğimiz için blokların içi boş.

Elde edilen “gecici.img” dosyasını, mağazadan yeni alınmış henüz biçimlendirme yapılmamış bir disk olarak düşünebilirsiniz. Şimdi bu dosyayı biçimlendirelim, ext2 olarak kullancağımızı düşünelim. Bu yüzden ext2 dosya sistemini kullanacağız.

sudo mkfs.ext2 /tmp/gecici.img

komutu ile dosyamıza (disk gibi düşündüğümüz) ext2 dosya sistemini kurduk, yani artık elimizde ext2 dosya sistemi olan bir diskimiz var gibi düşünebiliriz.

Bir imaj dosyasının içinde kurulu olan dosya sistemini öğrenmek için “file” komutu ile imaj dosyası hakkında ön bilgi edinilebilir.

Varolan imajları, diskin herhangi bir yoluna bağlayarak kullanabiliriz. Bağlı yolda yapılan her değişiklik imaj dosyası içerisinde de gerçekleşecektir.

mount deneme.img /mnt/disk

cd /mnt/disk

cp /yol/herhangibirsey.ext .

cd ../ (umount edeceğimiz yolun içinden çıkmamız gerekir)

umount /mnt/disk

dd ile Boot Sektörün Yedeklenmesi

Harddisk üzerindeki boot sektörü yedekleyerek, olası virüs tehlikelerine karşı önlem alabilirsiniz. Böylece boot sektöre bulaşan virüs tespit ettiğinizde, yedeği yükleyerek çalışmaya devam edebilirsiniz.

Boot sektörü her zaman diskin ik 512 baytı içinde saklanır. Aşağıdaki tabloda bu 512 bayt hakkında temel bilgiler verilmiştir.

http://thestarman.pcministry.com/asm/mbr/PartTables.htm

Tablodan anlaşılacağı üzere ihtiyacımız olan diskin ilk 512 baytını bir yere yedeklemek.

sudo dd if=/dev/sda of=/home/yedek/boot.img bs=512 count=1

Daha sonra, bu yedeği kurmak istediğimizde,

sudo dd if=/home/yedek/boot.img of=/dev/sda bs=512 count=1

komutu kullanılabilir.